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