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>/irqs_max 10Date: September 2014 11Contact: linuxppc-dev@lists.ozlabs.org 12Description: read/write 13 Decimal value of maximum number of interrupts that can be 14 requested by userspace. The default on probe is the maximum 15 that hardware can support (eg. 2037). Write values will limit 16 userspace applications to that many userspace interrupts. Must 17 be >= irqs_min. 18 19What: /sys/class/cxl/<afu>/irqs_min 20Date: September 2014 21Contact: linuxppc-dev@lists.ozlabs.org 22Description: read only 23 Decimal value of the minimum number of interrupts that 24 userspace must request on a CXL_START_WORK ioctl. Userspace may 25 omit the num_interrupts field in the START_WORK IOCTL to get 26 this minimum automatically. 27 28What: /sys/class/cxl/<afu>/mmio_size 29Date: September 2014 30Contact: linuxppc-dev@lists.ozlabs.org 31Description: read only 32 Decimal value of the size of the MMIO space that may be mmaped 33 by userspace. 34 35What: /sys/class/cxl/<afu>/modes_supported 36Date: September 2014 37Contact: linuxppc-dev@lists.ozlabs.org 38Description: read only 39 List of the modes this AFU supports. One per line. 40 Valid entries are: "dedicated_process" and "afu_directed" 41 42What: /sys/class/cxl/<afu>/mode 43Date: September 2014 44Contact: linuxppc-dev@lists.ozlabs.org 45Description: read/write 46 The current mode the AFU is using. Will be one of the modes 47 given in modes_supported. Writing will change the mode 48 provided that no user contexts are attached. 49 50 51What: /sys/class/cxl/<afu>/prefault_mode 52Date: September 2014 53Contact: linuxppc-dev@lists.ozlabs.org 54Description: read/write 55 Set the mode for prefaulting in segments into the segment table 56 when performing the START_WORK ioctl. Possible values: 57 none: No prefaulting (default) 58 work_element_descriptor: Treat the work element 59 descriptor as an effective address and 60 prefault what it points to. 61 all: all segments process calling START_WORK maps. 62 63What: /sys/class/cxl/<afu>/reset 64Date: September 2014 65Contact: linuxppc-dev@lists.ozlabs.org 66Description: write only 67 Writing 1 here will reset the AFU provided there are not 68 contexts active on the AFU. 69 70What: /sys/class/cxl/<afu>/api_version 71Date: September 2014 72Contact: linuxppc-dev@lists.ozlabs.org 73Description: read only 74 Decimal value of the current version of the kernel/user API. 75 76What: /sys/class/cxl/<afu>/api_version_compatible 77Date: September 2014 78Contact: linuxppc-dev@lists.ozlabs.org 79Description: read only 80 Decimal value of the the lowest version of the userspace API 81 this this kernel supports. 82 83 84AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0): 85 86An AFU may optionally export one or more PCIe like configuration records, known 87as AFU configuration records, which will show up here (if present). 88 89What: /sys/class/cxl/<afu>/cr<config num>/vendor 90Date: February 2015 91Contact: linuxppc-dev@lists.ozlabs.org 92Description: read only 93 Hexadecimal value of the vendor ID found in this AFU 94 configuration record. 95 96What: /sys/class/cxl/<afu>/cr<config num>/device 97Date: February 2015 98Contact: linuxppc-dev@lists.ozlabs.org 99Description: read only 100 Hexadecimal value of the device ID found in this AFU 101 configuration record. 102 103What: /sys/class/cxl/<afu>/cr<config num>/vendor 104Date: February 2015 105Contact: linuxppc-dev@lists.ozlabs.org 106Description: read only 107 Hexadecimal value of the class code found in this AFU 108 configuration record. 109 110What: /sys/class/cxl/<afu>/cr<config num>/config 111Date: February 2015 112Contact: linuxppc-dev@lists.ozlabs.org 113Description: read only 114 This binary file provides raw access to the AFU configuration 115 record. The format is expected to match the either the standard 116 or extended configuration space defined by the PCIe 117 specification. 118 119 120 121Master contexts (eg. /sys/class/cxl/afu0.0m) 122 123What: /sys/class/cxl/<afu>m/mmio_size 124Date: September 2014 125Contact: linuxppc-dev@lists.ozlabs.org 126Description: read only 127 Decimal value of the size of the MMIO space that may be mmaped 128 by userspace. This includes all slave contexts space also. 129 130What: /sys/class/cxl/<afu>m/pp_mmio_len 131Date: September 2014 132Contact: linuxppc-dev@lists.ozlabs.org 133Description: read only 134 Decimal value of the Per Process MMIO space length. 135 136What: /sys/class/cxl/<afu>m/pp_mmio_off 137Date: September 2014 138Contact: linuxppc-dev@lists.ozlabs.org 139Description: read only 140 Decimal value of the Per Process MMIO space offset. 141 142 143Card info (eg. /sys/class/cxl/card0) 144 145What: /sys/class/cxl/<card>/caia_version 146Date: September 2014 147Contact: linuxppc-dev@lists.ozlabs.org 148Description: read only 149 Identifies the CAIA Version the card implements. 150 151What: /sys/class/cxl/<card>/psl_revision 152Date: September 2014 153Contact: linuxppc-dev@lists.ozlabs.org 154Description: read only 155 Identifies the revision level of the PSL. 156 157What: /sys/class/cxl/<card>/base_image 158Date: September 2014 159Contact: linuxppc-dev@lists.ozlabs.org 160Description: read only 161 Identifies the revision level of the base image for devices 162 that support loadable PSLs. For FPGAs this field identifies 163 the image contained in the on-adapter flash which is loaded 164 during the initial program load. 165 166What: /sys/class/cxl/<card>/image_loaded 167Date: September 2014 168Contact: linuxppc-dev@lists.ozlabs.org 169Description: read only 170 Will return "user" or "factory" depending on the image loaded 171 onto the card. 172 173What: /sys/class/cxl/<card>/load_image_on_perst 174Date: December 2014 175Contact: linuxppc-dev@lists.ozlabs.org 176Description: read/write 177 Valid entries are "none", "user", and "factory". 178 "none" means PERST will not cause image to be loaded to the 179 card. A power cycle is required to load the image. 180 "none" could be useful for debugging because the trace arrays 181 are preserved. 182 "user" and "factory" means PERST will cause either the user or 183 user or factory image to be loaded. 184 Default is to reload on PERST whichever image the card has 185 loaded. 186 187What: /sys/class/cxl/<card>/reset 188Date: October 2014 189Contact: linuxppc-dev@lists.ozlabs.org 190Description: write only 191 Writing 1 will issue a PERST to card which may cause the card 192 to reload the FPGA depending on load_image_on_perst. 193