0001 Please note that attributes that are shared between devices are stored in
0002 the directory pointed to by the symlink device/.
0003 For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
0004 /sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
0005
0006
0007 Slave contexts (eg. /sys/class/cxl/afu0.0s):
0008
0009 What: /sys/class/cxl/<afu>/afu_err_buf
0010 Date: September 2014
0011 Contact: linuxppc-dev@lists.ozlabs.org
0012 Description: read only
0013 AFU Error Buffer contents. The contents of this file are
0014 application specific and depends on the AFU being used.
0015 Applications interacting with the AFU can use this attribute
0016 to know about the current error condition and take appropriate
0017 action like logging the event etc.
0018
0019
0020 What: /sys/class/cxl/<afu>/irqs_max
0021 Date: September 2014
0022 Contact: linuxppc-dev@lists.ozlabs.org
0023 Description: read/write
0024 Decimal value of maximum number of interrupts that can be
0025 requested by userspace. The default on probe is the maximum
0026 that hardware can support (eg. 2037). Write values will limit
0027 userspace applications to that many userspace interrupts. Must
0028 be >= irqs_min.
0029 Users: https://github.com/ibm-capi/libcxl
0030
0031 What: /sys/class/cxl/<afu>/irqs_min
0032 Date: September 2014
0033 Contact: linuxppc-dev@lists.ozlabs.org
0034 Description: read only
0035 Decimal value of the minimum number of interrupts that
0036 userspace must request on a CXL_START_WORK ioctl. Userspace may
0037 omit the num_interrupts field in the START_WORK IOCTL to get
0038 this minimum automatically.
0039 Users: https://github.com/ibm-capi/libcxl
0040
0041 What: /sys/class/cxl/<afu>/mmio_size
0042 Date: September 2014
0043 Contact: linuxppc-dev@lists.ozlabs.org
0044 Description: read only
0045 Decimal value of the size of the MMIO space that may be mmaped
0046 by userspace.
0047 Users: https://github.com/ibm-capi/libcxl
0048
0049 What: /sys/class/cxl/<afu>/modes_supported
0050 Date: September 2014
0051 Contact: linuxppc-dev@lists.ozlabs.org
0052 Description: read only
0053 List of the modes this AFU supports. One per line.
0054 Valid entries are: "dedicated_process" and "afu_directed"
0055 Users: https://github.com/ibm-capi/libcxl
0056
0057 What: /sys/class/cxl/<afu>/mode
0058 Date: September 2014
0059 Contact: linuxppc-dev@lists.ozlabs.org
0060 Description: read/write
0061 The current mode the AFU is using. Will be one of the modes
0062 given in modes_supported. Writing will change the mode
0063 provided that no user contexts are attached.
0064 Users: https://github.com/ibm-capi/libcxl
0065
0066
0067 What: /sys/class/cxl/<afu>/prefault_mode
0068 Date: September 2014
0069 Contact: linuxppc-dev@lists.ozlabs.org
0070 Description: read/write
0071 Set the mode for prefaulting in segments into the segment table
0072 when performing the START_WORK ioctl. Only applicable when
0073 running under hashed page table mmu.
0074 Possible values:
0075
0076 ======================= ======================================
0077 none No prefaulting (default)
0078 work_element_descriptor Treat the work element
0079 descriptor as an effective address and
0080 prefault what it points to.
0081 all all segments process calling
0082 START_WORK maps.
0083 ======================= ======================================
0084
0085 Users: https://github.com/ibm-capi/libcxl
0086
0087 What: /sys/class/cxl/<afu>/reset
0088 Date: September 2014
0089 Contact: linuxppc-dev@lists.ozlabs.org
0090 Description: write only
0091 Writing 1 here will reset the AFU provided there are not
0092 contexts active on the AFU.
0093 Users: https://github.com/ibm-capi/libcxl
0094
0095 What: /sys/class/cxl/<afu>/api_version
0096 Date: September 2014
0097 Contact: linuxppc-dev@lists.ozlabs.org
0098 Description: read only
0099 Decimal value of the current version of the kernel/user API.
0100 Users: https://github.com/ibm-capi/libcxl
0101
0102 What: /sys/class/cxl/<afu>/api_version_compatible
0103 Date: September 2014
0104 Contact: linuxppc-dev@lists.ozlabs.org
0105 Description: read only
0106 Decimal value of the lowest version of the userspace API
0107 this kernel supports.
0108 Users: https://github.com/ibm-capi/libcxl
0109
0110
0111 AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
0112
0113 An AFU may optionally export one or more PCIe like configuration records, known
0114 as AFU configuration records, which will show up here (if present).
0115
0116 What: /sys/class/cxl/<afu>/cr<config num>/vendor
0117 Date: February 2015
0118 Contact: linuxppc-dev@lists.ozlabs.org
0119 Description: read only
0120 Hexadecimal value of the vendor ID found in this AFU
0121 configuration record.
0122 Users: https://github.com/ibm-capi/libcxl
0123
0124 What: /sys/class/cxl/<afu>/cr<config num>/device
0125 Date: February 2015
0126 Contact: linuxppc-dev@lists.ozlabs.org
0127 Description: read only
0128 Hexadecimal value of the device ID found in this AFU
0129 configuration record.
0130 Users: https://github.com/ibm-capi/libcxl
0131
0132 What: /sys/class/cxl/<afu>/cr<config num>/class
0133 Date: February 2015
0134 Contact: linuxppc-dev@lists.ozlabs.org
0135 Description: read only
0136 Hexadecimal value of the class code found in this AFU
0137 configuration record.
0138 Users: https://github.com/ibm-capi/libcxl
0139
0140 What: /sys/class/cxl/<afu>/cr<config num>/config
0141 Date: February 2015
0142 Contact: linuxppc-dev@lists.ozlabs.org
0143 Description: read only
0144 This binary file provides raw access to the AFU configuration
0145 record. The format is expected to match the either the standard
0146 or extended configuration space defined by the PCIe
0147 specification.
0148 Users: https://github.com/ibm-capi/libcxl
0149
0150
0151
0152 Master contexts (eg. /sys/class/cxl/afu0.0m)
0153
0154 What: /sys/class/cxl/<afu>m/mmio_size
0155 Date: September 2014
0156 Contact: linuxppc-dev@lists.ozlabs.org
0157 Description: read only
0158 Decimal value of the size of the MMIO space that may be mmaped
0159 by userspace. This includes all slave contexts space also.
0160 Users: https://github.com/ibm-capi/libcxl
0161
0162 What: /sys/class/cxl/<afu>m/pp_mmio_len
0163 Date: September 2014
0164 Contact: linuxppc-dev@lists.ozlabs.org
0165 Description: read only
0166 Decimal value of the Per Process MMIO space length.
0167 Users: https://github.com/ibm-capi/libcxl
0168
0169 What: /sys/class/cxl/<afu>m/pp_mmio_off
0170 Date: September 2014
0171 Contact: linuxppc-dev@lists.ozlabs.org
0172 Description: read only
0173 (not in a guest)
0174 Decimal value of the Per Process MMIO space offset.
0175 Users: https://github.com/ibm-capi/libcxl
0176
0177
0178 Card info (eg. /sys/class/cxl/card0)
0179
0180 What: /sys/class/cxl/<card>/caia_version
0181 Date: September 2014
0182 Contact: linuxppc-dev@lists.ozlabs.org
0183 Description: read only
0184 Identifies the CAIA Version the card implements.
0185 Users: https://github.com/ibm-capi/libcxl
0186
0187 What: /sys/class/cxl/<card>/psl_revision
0188 Date: September 2014
0189 Contact: linuxppc-dev@lists.ozlabs.org
0190 Description: read only
0191 Identifies the revision level of the PSL.
0192 Users: https://github.com/ibm-capi/libcxl
0193
0194 What: /sys/class/cxl/<card>/base_image
0195 Date: September 2014
0196 Contact: linuxppc-dev@lists.ozlabs.org
0197 Description: read only
0198 (not in a guest)
0199 Identifies the revision level of the base image for devices
0200 that support loadable PSLs. For FPGAs this field identifies
0201 the image contained in the on-adapter flash which is loaded
0202 during the initial program load.
0203 Users: https://github.com/ibm-capi/libcxl
0204
0205 What: /sys/class/cxl/<card>/image_loaded
0206 Date: September 2014
0207 Contact: linuxppc-dev@lists.ozlabs.org
0208 Description: read only
0209 (not in a guest)
0210 Will return "user" or "factory" depending on the image loaded
0211 onto the card.
0212 Users: https://github.com/ibm-capi/libcxl
0213
0214 What: /sys/class/cxl/<card>/load_image_on_perst
0215 Date: December 2014
0216 Contact: linuxppc-dev@lists.ozlabs.org
0217 Description: read/write
0218 (not in a guest)
0219 Valid entries are "none", "user", and "factory".
0220 "none" means PERST will not cause image to be loaded to the
0221 card. A power cycle is required to load the image.
0222 "none" could be useful for debugging because the trace arrays
0223 are preserved.
0224
0225 "user" and "factory" means PERST will cause either the user or
0226 user or factory image to be loaded.
0227 Default is to reload on PERST whichever image the card has
0228 loaded.
0229 Users: https://github.com/ibm-capi/libcxl
0230
0231 What: /sys/class/cxl/<card>/reset
0232 Date: October 2014
0233 Contact: linuxppc-dev@lists.ozlabs.org
0234 Description: write only
0235 Writing 1 will issue a PERST to card provided there are no
0236 contexts active on any one of the card AFUs. This may cause
0237 the card to reload the FPGA depending on load_image_on_perst.
0238 Writing -1 will do a force PERST irrespective of any active
0239 contexts on the card AFUs.
0240 Users: https://github.com/ibm-capi/libcxl
0241
0242 What: /sys/class/cxl/<card>/perst_reloads_same_image
0243 Date: July 2015
0244 Contact: linuxppc-dev@lists.ozlabs.org
0245 Description: read/write
0246 (not in a guest)
0247 Trust that when an image is reloaded via PERST, it will not
0248 have changed.
0249
0250 == =================================================
0251 0 don't trust, the image may be different (default)
0252 1 trust that the image will not change.
0253 == =================================================
0254 Users: https://github.com/ibm-capi/libcxl
0255
0256 What: /sys/class/cxl/<card>/psl_timebase_synced
0257 Date: March 2016
0258 Contact: linuxppc-dev@lists.ozlabs.org
0259 Description: read only
0260 Returns 1 if the psl timebase register is synchronized
0261 with the core timebase register, 0 otherwise.
0262 Users: https://github.com/ibm-capi/libcxl
0263
0264 What: /sys/class/cxl/<card>/tunneled_ops_supported
0265 Date: May 2018
0266 Contact: linuxppc-dev@lists.ozlabs.org
0267 Description: read only
0268 Returns 1 if tunneled operations are supported in capi mode,
0269 0 otherwise.
0270 Users: https://github.com/ibm-capi/libcxl