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