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