1 Note: Attributes that are shared between devices are stored in the directory
2 pointed to by the symlink device/.
3 Example: 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.
7 Slave contexts (eg. /sys/class/cxl/afu0.0s):
9 What: /sys/class/cxl/<afu>/afu_err_buf
11 Contact: linuxppc-dev@lists.ozlabs.org
12 Description: 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.
20 What: /sys/class/cxl/<afu>/irqs_max
22 Contact: linuxppc-dev@lists.ozlabs.org
23 Description: 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
29 Users: https://github.com/ibm-capi/libcxl
31 What: /sys/class/cxl/<afu>/irqs_min
33 Contact: linuxppc-dev@lists.ozlabs.org
34 Description: 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.
39 Users: https://github.com/ibm-capi/libcxl
41 What: /sys/class/cxl/<afu>/mmio_size
43 Contact: linuxppc-dev@lists.ozlabs.org
44 Description: read only
45 Decimal value of the size of the MMIO space that may be mmaped
47 Users: https://github.com/ibm-capi/libcxl
49 What: /sys/class/cxl/<afu>/modes_supported
51 Contact: linuxppc-dev@lists.ozlabs.org
52 Description: read only
53 List of the modes this AFU supports. One per line.
54 Valid entries are: "dedicated_process" and "afu_directed"
55 Users: https://github.com/ibm-capi/libcxl
57 What: /sys/class/cxl/<afu>/mode
59 Contact: linuxppc-dev@lists.ozlabs.org
60 Description: 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.
64 Users: https://github.com/ibm-capi/libcxl
67 What: /sys/class/cxl/<afu>/prefault_mode
69 Contact: linuxppc-dev@lists.ozlabs.org
70 Description: 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.
78 Users: https://github.com/ibm-capi/libcxl
80 What: /sys/class/cxl/<afu>/reset
82 Contact: linuxppc-dev@lists.ozlabs.org
83 Description: write only
84 Writing 1 here will reset the AFU provided there are not
85 contexts active on the AFU.
86 Users: https://github.com/ibm-capi/libcxl
88 What: /sys/class/cxl/<afu>/api_version
90 Contact: linuxppc-dev@lists.ozlabs.org
91 Description: read only
92 Decimal value of the current version of the kernel/user API.
93 Users: https://github.com/ibm-capi/libcxl
95 What: /sys/class/cxl/<afu>/api_version_compatible
97 Contact: linuxppc-dev@lists.ozlabs.org
98 Description: read only
99 Decimal value of the the lowest version of the userspace API
100 this this kernel supports.
101 Users: https://github.com/ibm-capi/libcxl
104 AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
106 An AFU may optionally export one or more PCIe like configuration records, known
107 as AFU configuration records, which will show up here (if present).
109 What: /sys/class/cxl/<afu>/cr<config num>/vendor
111 Contact: linuxppc-dev@lists.ozlabs.org
112 Description: read only
113 Hexadecimal value of the vendor ID found in this AFU
114 configuration record.
115 Users: https://github.com/ibm-capi/libcxl
117 What: /sys/class/cxl/<afu>/cr<config num>/device
119 Contact: linuxppc-dev@lists.ozlabs.org
120 Description: read only
121 Hexadecimal value of the device ID found in this AFU
122 configuration record.
123 Users: https://github.com/ibm-capi/libcxl
125 What: /sys/class/cxl/<afu>/cr<config num>/class
127 Contact: linuxppc-dev@lists.ozlabs.org
128 Description: read only
129 Hexadecimal value of the class code found in this AFU
130 configuration record.
131 Users: https://github.com/ibm-capi/libcxl
133 What: /sys/class/cxl/<afu>/cr<config num>/config
135 Contact: linuxppc-dev@lists.ozlabs.org
136 Description: 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
141 Users: https://github.com/ibm-capi/libcxl
145 Master contexts (eg. /sys/class/cxl/afu0.0m)
147 What: /sys/class/cxl/<afu>m/mmio_size
149 Contact: linuxppc-dev@lists.ozlabs.org
150 Description: 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.
153 Users: https://github.com/ibm-capi/libcxl
155 What: /sys/class/cxl/<afu>m/pp_mmio_len
157 Contact: linuxppc-dev@lists.ozlabs.org
158 Description: read only
159 Decimal value of the Per Process MMIO space length.
160 Users: https://github.com/ibm-capi/libcxl
162 What: /sys/class/cxl/<afu>m/pp_mmio_off
164 Contact: linuxppc-dev@lists.ozlabs.org
165 Description: read only
166 Decimal value of the Per Process MMIO space offset.
167 Users: https://github.com/ibm-capi/libcxl
170 Card info (eg. /sys/class/cxl/card0)
172 What: /sys/class/cxl/<card>/caia_version
174 Contact: linuxppc-dev@lists.ozlabs.org
175 Description: read only
176 Identifies the CAIA Version the card implements.
177 Users: https://github.com/ibm-capi/libcxl
179 What: /sys/class/cxl/<card>/psl_revision
181 Contact: linuxppc-dev@lists.ozlabs.org
182 Description: read only
183 Identifies the revision level of the PSL.
184 Users: https://github.com/ibm-capi/libcxl
186 What: /sys/class/cxl/<card>/base_image
188 Contact: linuxppc-dev@lists.ozlabs.org
189 Description: 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.
194 Users: https://github.com/ibm-capi/libcxl
196 What: /sys/class/cxl/<card>/image_loaded
198 Contact: linuxppc-dev@lists.ozlabs.org
199 Description: read only
200 Will return "user" or "factory" depending on the image loaded
202 Users: https://github.com/ibm-capi/libcxl
204 What: /sys/class/cxl/<card>/load_image_on_perst
206 Contact: linuxppc-dev@lists.ozlabs.org
207 Description: 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
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
217 Users: https://github.com/ibm-capi/libcxl
219 What: /sys/class/cxl/<card>/reset
221 Contact: linuxppc-dev@lists.ozlabs.org
222 Description: write only
223 Writing 1 will issue a PERST to card which may cause the card
224 to reload the FPGA depending on load_image_on_perst.
225 Users: https://github.com/ibm-capi/libcxl
227 What: /sys/class/cxl/<card>/perst_reloads_same_image
229 Contact: linuxppc-dev@lists.ozlabs.org
230 Description: read/write
231 Trust that when an image is reloaded via PERST, it will not
233 0 = don't trust, the image may be different (default)
234 1 = trust that the image will not change.
235 Users: https://github.com/ibm-capi/libcxl