1The cxl driver was removed in 6.15. 2 3Please note that attributes that are shared between devices are stored in 4the directory pointed to by the symlink device/. 5For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is 6/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max. 7 8 9Slave contexts (eg. /sys/class/cxl/afu0.0s): 10 11What: /sys/class/cxl/<afu>/afu_err_buf 12Date: September 2014, removed February 2025 13Contact: [email protected] 14Description: read only 15 AFU Error Buffer contents. The contents of this file are 16 application specific and depends on the AFU being used. 17 Applications interacting with the AFU can use this attribute 18 to know about the current error condition and take appropriate 19 action like logging the event etc. 20 21 22What: /sys/class/cxl/<afu>/irqs_max 23Date: September 2014, removed February 2025 24Contact: [email protected] 25Description: read/write 26 Decimal value of maximum number of interrupts that can be 27 requested by userspace. The default on probe is the maximum 28 that hardware can support (eg. 2037). Write values will limit 29 userspace applications to that many userspace interrupts. Must 30 be >= irqs_min. 31Users: https://github.com/ibm-capi/libcxl 32 33What: /sys/class/cxl/<afu>/irqs_min 34Date: September 2014, removed February 2025 35Contact: [email protected] 36Description: read only 37 Decimal value of the minimum number of interrupts that 38 userspace must request on a CXL_START_WORK ioctl. Userspace may 39 omit the num_interrupts field in the START_WORK IOCTL to get 40 this minimum automatically. 41Users: https://github.com/ibm-capi/libcxl 42 43What: /sys/class/cxl/<afu>/mmio_size 44Date: September 2014, removed February 2025 45Contact: [email protected] 46Description: read only 47 Decimal value of the size of the MMIO space that may be mmapped 48 by userspace. 49Users: https://github.com/ibm-capi/libcxl 50 51What: /sys/class/cxl/<afu>/modes_supported 52Date: September 2014, removed February 2025 53Contact: [email protected] 54Description: read only 55 List of the modes this AFU supports. One per line. 56 Valid entries are: "dedicated_process" and "afu_directed" 57Users: https://github.com/ibm-capi/libcxl 58 59What: /sys/class/cxl/<afu>/mode 60Date: September 2014, removed February 2025 61Contact: [email protected] 62Description: read/write 63 The current mode the AFU is using. Will be one of the modes 64 given in modes_supported. Writing will change the mode 65 provided that no user contexts are attached. 66Users: https://github.com/ibm-capi/libcxl 67 68 69What: /sys/class/cxl/<afu>/prefault_mode 70Date: September 2014, removed February 2025 71Contact: [email protected] 72Description: read/write 73 Set the mode for prefaulting in segments into the segment table 74 when performing the START_WORK ioctl. Only applicable when 75 running under hashed page table mmu. 76 Possible values: 77 78 ======================= ====================================== 79 none No prefaulting (default) 80 work_element_descriptor Treat the work element 81 descriptor as an effective address and 82 prefault what it points to. 83 all all segments process calling 84 START_WORK maps. 85 ======================= ====================================== 86 87Users: https://github.com/ibm-capi/libcxl 88 89What: /sys/class/cxl/<afu>/reset 90Date: September 2014, removed February 2025 91Contact: [email protected] 92Description: write only 93 Writing 1 here will reset the AFU provided there are not 94 contexts active on the AFU. 95Users: https://github.com/ibm-capi/libcxl 96 97What: /sys/class/cxl/<afu>/api_version 98Date: September 2014, removed February 2025 99Contact: [email protected] 100Description: read only 101 Decimal value of the current version of the kernel/user API. 102Users: https://github.com/ibm-capi/libcxl 103 104What: /sys/class/cxl/<afu>/api_version_compatible 105Date: September 2014, removed February 2025 106Contact: [email protected] 107Description: read only 108 Decimal value of the lowest version of the userspace API 109 this kernel supports. 110Users: https://github.com/ibm-capi/libcxl 111 112 113AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0): 114 115An AFU may optionally export one or more PCIe like configuration records, known 116as AFU configuration records, which will show up here (if present). 117 118What: /sys/class/cxl/<afu>/cr<config num>/vendor 119Date: February 2015, removed February 2025 120Contact: [email protected] 121Description: read only 122 Hexadecimal value of the vendor ID found in this AFU 123 configuration record. 124Users: https://github.com/ibm-capi/libcxl 125 126What: /sys/class/cxl/<afu>/cr<config num>/device 127Date: February 2015, removed February 2025 128Contact: [email protected] 129Description: read only 130 Hexadecimal value of the device ID found in this AFU 131 configuration record. 132Users: https://github.com/ibm-capi/libcxl 133 134What: /sys/class/cxl/<afu>/cr<config num>/class 135Date: February 2015, removed February 2025 136Contact: [email protected] 137Description: read only 138 Hexadecimal value of the class code found in this AFU 139 configuration record. 140Users: https://github.com/ibm-capi/libcxl 141 142What: /sys/class/cxl/<afu>/cr<config num>/config 143Date: February 2015, removed February 2025 144Contact: [email protected] 145Description: read only 146 This binary file provides raw access to the AFU configuration 147 record. The format is expected to match the either the standard 148 or extended configuration space defined by the PCIe 149 specification. 150Users: https://github.com/ibm-capi/libcxl 151 152 153 154Master contexts (eg. /sys/class/cxl/afu0.0m) 155 156What: /sys/class/cxl/<afu>m/mmio_size 157Date: September 2014, removed February 2025 158Contact: [email protected] 159Description: read only 160 Decimal value of the size of the MMIO space that may be mmapped 161 by userspace. This includes all slave contexts space also. 162Users: https://github.com/ibm-capi/libcxl 163 164What: /sys/class/cxl/<afu>m/pp_mmio_len 165Date: September 2014, removed February 2025 166Contact: [email protected] 167Description: read only 168 Decimal value of the Per Process MMIO space length. 169Users: https://github.com/ibm-capi/libcxl 170 171What: /sys/class/cxl/<afu>m/pp_mmio_off 172Date: September 2014, removed February 2025 173Contact: [email protected] 174Description: read only 175 (not in a guest) 176 Decimal value of the Per Process MMIO space offset. 177Users: https://github.com/ibm-capi/libcxl 178 179 180Card info (eg. /sys/class/cxl/card0) 181 182What: /sys/class/cxl/<card>/caia_version 183Date: September 2014, removed February 2025 184Contact: [email protected] 185Description: read only 186 Identifies the CAIA Version the card implements. 187Users: https://github.com/ibm-capi/libcxl 188 189What: /sys/class/cxl/<card>/psl_revision 190Date: September 2014, removed February 2025 191Contact: [email protected] 192Description: read only 193 Identifies the revision level of the PSL. 194Users: https://github.com/ibm-capi/libcxl 195 196What: /sys/class/cxl/<card>/base_image 197Date: September 2014, removed February 2025 198Contact: [email protected] 199Description: read only 200 (not in a guest) 201 Identifies the revision level of the base image for devices 202 that support loadable PSLs. For FPGAs this field identifies 203 the image contained in the on-adapter flash which is loaded 204 during the initial program load. 205Users: https://github.com/ibm-capi/libcxl 206 207What: /sys/class/cxl/<card>/image_loaded 208Date: September 2014, removed February 2025 209Contact: [email protected] 210Description: read only 211 (not in a guest) 212 Will return "user" or "factory" depending on the image loaded 213 onto the card. 214Users: https://github.com/ibm-capi/libcxl 215 216What: /sys/class/cxl/<card>/load_image_on_perst 217Date: December 2014, removed February 2025 218Contact: [email protected] 219Description: read/write 220 (not in a guest) 221 Valid entries are "none", "user", and "factory". 222 "none" means PERST will not cause image to be loaded to the 223 card. A power cycle is required to load the image. 224 "none" could be useful for debugging because the trace arrays 225 are preserved. 226 227 "user" and "factory" means PERST will cause either the user or 228 user or factory image to be loaded. 229 Default is to reload on PERST whichever image the card has 230 loaded. 231Users: https://github.com/ibm-capi/libcxl 232 233What: /sys/class/cxl/<card>/reset 234Date: October 2014, removed February 2025 235Contact: [email protected] 236Description: write only 237 Writing 1 will issue a PERST to card provided there are no 238 contexts active on any one of the card AFUs. This may cause 239 the card to reload the FPGA depending on load_image_on_perst. 240 Writing -1 will do a force PERST irrespective of any active 241 contexts on the card AFUs. 242Users: https://github.com/ibm-capi/libcxl 243 244What: /sys/class/cxl/<card>/perst_reloads_same_image 245Date: July 2015, removed February 2025 246Contact: [email protected] 247Description: read/write 248 (not in a guest) 249 Trust that when an image is reloaded via PERST, it will not 250 have changed. 251 252 == ================================================= 253 0 don't trust, the image may be different (default) 254 1 trust that the image will not change. 255 == ================================================= 256Users: https://github.com/ibm-capi/libcxl 257 258What: /sys/class/cxl/<card>/psl_timebase_synced 259Date: March 2016, removed February 2025 260Contact: [email protected] 261Description: read only 262 Returns 1 if the psl timebase register is synchronized 263 with the core timebase register, 0 otherwise. 264Users: https://github.com/ibm-capi/libcxl 265 266What: /sys/class/cxl/<card>/tunneled_ops_supported 267Date: May 2018, removed February 2025 268Contact: [email protected] 269Description: read only 270 Returns 1 if tunneled operations are supported in capi mode, 271 0 otherwise. 272Users: https://github.com/ibm-capi/libcxl 273