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