|  | Please note that attributes that are shared between devices are stored in | 
|  | the directory pointed to by the symlink device/. | 
|  | For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is | 
|  | /sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max. | 
|  |  | 
|  |  | 
|  | Slave contexts (eg. /sys/class/cxl/afu0.0s): | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/afu_err_buf | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | AFU Error Buffer contents. The contents of this file are | 
|  | application specific and depends on the AFU being used. | 
|  | Applications interacting with the AFU can use this attribute | 
|  | to know about the current error condition and take appropriate | 
|  | action like logging the event etc. | 
|  |  | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/irqs_max | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read/write | 
|  | Decimal value of maximum number of interrupts that can be | 
|  | requested by userspace.  The default on probe is the maximum | 
|  | that hardware can support (eg. 2037). Write values will limit | 
|  | userspace applications to that many userspace interrupts. Must | 
|  | be >= irqs_min. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/irqs_min | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the minimum number of interrupts that | 
|  | userspace must request on a CXL_START_WORK ioctl. Userspace may | 
|  | omit the num_interrupts field in the START_WORK IOCTL to get | 
|  | this minimum automatically. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/mmio_size | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the size of the MMIO space that may be mmapped | 
|  | by userspace. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/modes_supported | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | List of the modes this AFU supports. One per line. | 
|  | Valid entries are: "dedicated_process" and "afu_directed" | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/mode | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read/write | 
|  | The current mode the AFU is using. Will be one of the modes | 
|  | given in modes_supported. Writing will change the mode | 
|  | provided that no user contexts are attached. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/prefault_mode | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read/write | 
|  | Set the mode for prefaulting in segments into the segment table | 
|  | when performing the START_WORK ioctl. Only applicable when | 
|  | running under hashed page table mmu. | 
|  | Possible values: | 
|  |  | 
|  | =======================  ====================================== | 
|  | none			 No prefaulting (default) | 
|  | work_element_descriptor  Treat the work element | 
|  | descriptor as an effective address and | 
|  | prefault what it points to. | 
|  | all			 all segments process calling | 
|  | START_WORK maps. | 
|  | =======================  ====================================== | 
|  |  | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/reset | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    write only | 
|  | Writing 1 here will reset the AFU provided there are not | 
|  | contexts active on the AFU. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/api_version | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the current version of the kernel/user API. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/api_version_compatible | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the lowest version of the userspace API | 
|  | this kernel supports. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  |  | 
|  | AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0): | 
|  |  | 
|  | An AFU may optionally export one or more PCIe like configuration records, known | 
|  | as AFU configuration records, which will show up here (if present). | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/cr<config num>/vendor | 
|  | Date:           February 2015 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Hexadecimal value of the vendor ID found in this AFU | 
|  | configuration record. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/cr<config num>/device | 
|  | Date:           February 2015 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Hexadecimal value of the device ID found in this AFU | 
|  | configuration record. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/cr<config num>/class | 
|  | Date:           February 2015 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Hexadecimal value of the class code found in this AFU | 
|  | configuration record. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>/cr<config num>/config | 
|  | Date:           February 2015 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | This binary file provides raw access to the AFU configuration | 
|  | record. The format is expected to match the either the standard | 
|  | or extended configuration space defined by the PCIe | 
|  | specification. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  |  | 
|  |  | 
|  | Master contexts (eg. /sys/class/cxl/afu0.0m) | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>m/mmio_size | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the size of the MMIO space that may be mmapped | 
|  | by userspace. This includes all slave contexts space also. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>m/pp_mmio_len | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Decimal value of the Per Process MMIO space length. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<afu>m/pp_mmio_off | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | (not in a guest) | 
|  | Decimal value of the Per Process MMIO space offset. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  |  | 
|  | Card info (eg. /sys/class/cxl/card0) | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/caia_version | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Identifies the CAIA Version the card implements. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/psl_revision | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Identifies the revision level of the PSL. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/base_image | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | (not in a guest) | 
|  | Identifies the revision level of the base image for devices | 
|  | that support loadable PSLs. For FPGAs this field identifies | 
|  | the image contained in the on-adapter flash which is loaded | 
|  | during the initial program load. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/image_loaded | 
|  | Date:           September 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | (not in a guest) | 
|  | Will return "user" or "factory" depending on the image loaded | 
|  | onto the card. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/load_image_on_perst | 
|  | Date:           December 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read/write | 
|  | (not in a guest) | 
|  | Valid entries are "none", "user", and "factory". | 
|  | "none" means PERST will not cause image to be loaded to the | 
|  | card.  A power cycle is required to load the image. | 
|  | "none" could be useful for debugging because the trace arrays | 
|  | are preserved. | 
|  |  | 
|  | "user" and "factory" means PERST will cause either the user or | 
|  | user or factory image to be loaded. | 
|  | Default is to reload on PERST whichever image the card has | 
|  | loaded. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/reset | 
|  | Date:           October 2014 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    write only | 
|  | Writing 1 will issue a PERST to card provided there are no | 
|  | contexts active on any one of the card AFUs. This may cause | 
|  | the card to reload the FPGA depending on load_image_on_perst. | 
|  | Writing -1 will do a force PERST irrespective of any active | 
|  | contexts on the card AFUs. | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:		/sys/class/cxl/<card>/perst_reloads_same_image | 
|  | Date:		July 2015 | 
|  | Contact:	linuxppc-dev@lists.ozlabs.org | 
|  | Description:	read/write | 
|  | (not in a guest) | 
|  | Trust that when an image is reloaded via PERST, it will not | 
|  | have changed. | 
|  |  | 
|  | ==  ================================================= | 
|  | 0   don't trust, the image may be different (default) | 
|  | 1   trust that the image will not change. | 
|  | ==  ================================================= | 
|  | Users:		https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/psl_timebase_synced | 
|  | Date:           March 2016 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Returns 1 if the psl timebase register is synchronized | 
|  | with the core timebase register, 0 otherwise. | 
|  | Users:          https://github.com/ibm-capi/libcxl | 
|  |  | 
|  | What:           /sys/class/cxl/<card>/tunneled_ops_supported | 
|  | Date:           May 2018 | 
|  | Contact:        linuxppc-dev@lists.ozlabs.org | 
|  | Description:    read only | 
|  | Returns 1 if tunneled operations are supported in capi mode, | 
|  | 0 otherwise. | 
|  | Users:          https://github.com/ibm-capi/libcxl |