1Note: Attributes that are shared between devices are stored in the directory 2pointed to by the symlink device/. 3Example: 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 mmaped 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. Possible values: 73 none: No prefaulting (default) 74 work_element_descriptor: Treat the work element 75 descriptor as an effective address and 76 prefault what it points to. 77 all: all segments process calling START_WORK maps. 78Users: https://github.com/ibm-capi/libcxl 79 80What: /sys/class/cxl/<afu>/reset 81Date: September 2014 82Contact: linuxppc-dev@lists.ozlabs.org 83Description: write only 84 Writing 1 here will reset the AFU provided there are not 85 contexts active on the AFU. 86Users: https://github.com/ibm-capi/libcxl 87 88What: /sys/class/cxl/<afu>/api_version 89Date: September 2014 90Contact: linuxppc-dev@lists.ozlabs.org 91Description: read only 92 Decimal value of the current version of the kernel/user API. 93Users: https://github.com/ibm-capi/libcxl 94 95What: /sys/class/cxl/<afu>/api_version_compatible 96Date: September 2014 97Contact: linuxppc-dev@lists.ozlabs.org 98Description: read only 99 Decimal value of the the lowest version of the userspace API 100 this this kernel supports. 101Users: https://github.com/ibm-capi/libcxl 102 103 104AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0): 105 106An AFU may optionally export one or more PCIe like configuration records, known 107as AFU configuration records, which will show up here (if present). 108 109What: /sys/class/cxl/<afu>/cr<config num>/vendor 110Date: February 2015 111Contact: linuxppc-dev@lists.ozlabs.org 112Description: read only 113 Hexadecimal value of the vendor ID found in this AFU 114 configuration record. 115Users: https://github.com/ibm-capi/libcxl 116 117What: /sys/class/cxl/<afu>/cr<config num>/device 118Date: February 2015 119Contact: linuxppc-dev@lists.ozlabs.org 120Description: read only 121 Hexadecimal value of the device ID found in this AFU 122 configuration record. 123Users: https://github.com/ibm-capi/libcxl 124 125What: /sys/class/cxl/<afu>/cr<config num>/class 126Date: February 2015 127Contact: linuxppc-dev@lists.ozlabs.org 128Description: read only 129 Hexadecimal value of the class code found in this AFU 130 configuration record. 131Users: https://github.com/ibm-capi/libcxl 132 133What: /sys/class/cxl/<afu>/cr<config num>/config 134Date: February 2015 135Contact: linuxppc-dev@lists.ozlabs.org 136Description: read only 137 This binary file provides raw access to the AFU configuration 138 record. The format is expected to match the either the standard 139 or extended configuration space defined by the PCIe 140 specification. 141Users: https://github.com/ibm-capi/libcxl 142 143 144 145Master contexts (eg. /sys/class/cxl/afu0.0m) 146 147What: /sys/class/cxl/<afu>m/mmio_size 148Date: September 2014 149Contact: linuxppc-dev@lists.ozlabs.org 150Description: read only 151 Decimal value of the size of the MMIO space that may be mmaped 152 by userspace. This includes all slave contexts space also. 153Users: https://github.com/ibm-capi/libcxl 154 155What: /sys/class/cxl/<afu>m/pp_mmio_len 156Date: September 2014 157Contact: linuxppc-dev@lists.ozlabs.org 158Description: read only 159 Decimal value of the Per Process MMIO space length. 160Users: https://github.com/ibm-capi/libcxl 161 162What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest) 163Date: September 2014 164Contact: linuxppc-dev@lists.ozlabs.org 165Description: read only 166 Decimal value of the Per Process MMIO space offset. 167Users: https://github.com/ibm-capi/libcxl 168 169 170Card info (eg. /sys/class/cxl/card0) 171 172What: /sys/class/cxl/<card>/caia_version 173Date: September 2014 174Contact: linuxppc-dev@lists.ozlabs.org 175Description: read only 176 Identifies the CAIA Version the card implements. 177Users: https://github.com/ibm-capi/libcxl 178 179What: /sys/class/cxl/<card>/psl_revision 180Date: September 2014 181Contact: linuxppc-dev@lists.ozlabs.org 182Description: read only 183 Identifies the revision level of the PSL. 184Users: https://github.com/ibm-capi/libcxl 185 186What: /sys/class/cxl/<card>/base_image (not in a guest) 187Date: September 2014 188Contact: linuxppc-dev@lists.ozlabs.org 189Description: read only 190 Identifies the revision level of the base image for devices 191 that support loadable PSLs. For FPGAs this field identifies 192 the image contained in the on-adapter flash which is loaded 193 during the initial program load. 194Users: https://github.com/ibm-capi/libcxl 195 196What: /sys/class/cxl/<card>/image_loaded (not in a guest) 197Date: September 2014 198Contact: linuxppc-dev@lists.ozlabs.org 199Description: read only 200 Will return "user" or "factory" depending on the image loaded 201 onto the card. 202Users: https://github.com/ibm-capi/libcxl 203 204What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest) 205Date: December 2014 206Contact: linuxppc-dev@lists.ozlabs.org 207Description: read/write 208 Valid entries are "none", "user", and "factory". 209 "none" means PERST will not cause image to be loaded to the 210 card. A power cycle is required to load the image. 211 "none" could be useful for debugging because the trace arrays 212 are preserved. 213 "user" and "factory" means PERST will cause either the user or 214 user or factory image to be loaded. 215 Default is to reload on PERST whichever image the card has 216 loaded. 217Users: https://github.com/ibm-capi/libcxl 218 219What: /sys/class/cxl/<card>/reset 220Date: October 2014 221Contact: linuxppc-dev@lists.ozlabs.org 222Description: write only 223 Writing 1 will issue a PERST to card provided there are no 224 contexts active on any one of the card AFUs. This may cause 225 the card to reload the FPGA depending on load_image_on_perst. 226 Writing -1 will do a force PERST irrespective of any active 227 contexts on the card AFUs. 228Users: https://github.com/ibm-capi/libcxl 229 230What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest) 231Date: July 2015 232Contact: linuxppc-dev@lists.ozlabs.org 233Description: read/write 234 Trust that when an image is reloaded via PERST, it will not 235 have changed. 236 0 = don't trust, the image may be different (default) 237 1 = trust that the image will not change. 238Users: https://github.com/ibm-capi/libcxl 239 240What: /sys/class/cxl/<card>/psl_timebase_synced 241Date: March 2016 242Contact: linuxppc-dev@lists.ozlabs.org 243Description: read only 244 Returns 1 if the psl timebase register is synchronized 245 with the core timebase register, 0 otherwise. 246Users: https://github.com/ibm-capi/libcxl 247