blob: bbbabffc682a93feef010381dab1edf94b8c0394 [file] [log] [blame]
Philippe Bergheaud49fd6442014-12-12 11:28:53 +01001Note: 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
Ian Munsiea9282d02014-10-08 19:55:05 +11007Slave contexts (eg. /sys/class/cxl/afu0.0s):
8
Vaibhav Jaine36f6fe2015-05-22 10:56:05 +05309What: /sys/class/cxl/<afu>/afu_err_buf
10Date: September 2014
11Contact: linuxppc-dev@lists.ozlabs.org
12Description: 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.
18
19
Ian Munsiea9282d02014-10-08 19:55:05 +110020What: /sys/class/cxl/<afu>/irqs_max
21Date: September 2014
22Contact: linuxppc-dev@lists.ozlabs.org
23Description: 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
28 be >= irqs_min.
Michael Neulingaee85fb2015-05-27 16:07:01 +100029Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110030
31What: /sys/class/cxl/<afu>/irqs_min
32Date: September 2014
33Contact: linuxppc-dev@lists.ozlabs.org
34Description: 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.
Michael Neulingaee85fb2015-05-27 16:07:01 +100039Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110040
41What: /sys/class/cxl/<afu>/mmio_size
42Date: September 2014
43Contact: linuxppc-dev@lists.ozlabs.org
44Description: read only
45 Decimal value of the size of the MMIO space that may be mmaped
46 by userspace.
Michael Neulingaee85fb2015-05-27 16:07:01 +100047Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110048
49What: /sys/class/cxl/<afu>/modes_supported
50Date: September 2014
51Contact: linuxppc-dev@lists.ozlabs.org
52Description: read only
53 List of the modes this AFU supports. One per line.
54 Valid entries are: "dedicated_process" and "afu_directed"
Michael Neulingaee85fb2015-05-27 16:07:01 +100055Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110056
57What: /sys/class/cxl/<afu>/mode
58Date: September 2014
59Contact: linuxppc-dev@lists.ozlabs.org
60Description: 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.
Michael Neulingaee85fb2015-05-27 16:07:01 +100064Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110065
66
67What: /sys/class/cxl/<afu>/prefault_mode
68Date: September 2014
69Contact: linuxppc-dev@lists.ozlabs.org
70Description: read/write
71 Set the mode for prefaulting in segments into the segment table
Vaibhav Jainb6c84ba2018-05-18 15:12:23 +053072 when performing the START_WORK ioctl. Only applicable when
73 running under hashed page table mmu.
74 Possible values:
Ian Munsiea9282d02014-10-08 19:55:05 +110075 none: No prefaulting (default)
76 work_element_descriptor: Treat the work element
77 descriptor as an effective address and
78 prefault what it points to.
79 all: all segments process calling START_WORK maps.
Michael Neulingaee85fb2015-05-27 16:07:01 +100080Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110081
82What: /sys/class/cxl/<afu>/reset
83Date: September 2014
84Contact: linuxppc-dev@lists.ozlabs.org
85Description: write only
86 Writing 1 here will reset the AFU provided there are not
87 contexts active on the AFU.
Michael Neulingaee85fb2015-05-27 16:07:01 +100088Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110089
90What: /sys/class/cxl/<afu>/api_version
91Date: September 2014
92Contact: linuxppc-dev@lists.ozlabs.org
93Description: read only
94 Decimal value of the current version of the kernel/user API.
Michael Neulingaee85fb2015-05-27 16:07:01 +100095Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +110096
Philippe Bergheaud49fd6442014-12-12 11:28:53 +010097What: /sys/class/cxl/<afu>/api_version_compatible
Ian Munsiea9282d02014-10-08 19:55:05 +110098Date: September 2014
99Contact: linuxppc-dev@lists.ozlabs.org
100Description: read only
101 Decimal value of the the lowest version of the userspace API
102 this this kernel supports.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000103Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100104
105
Ian Munsieb087e612015-02-04 19:09:01 +1100106AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
107
108An AFU may optionally export one or more PCIe like configuration records, known
109as AFU configuration records, which will show up here (if present).
110
111What: /sys/class/cxl/<afu>/cr<config num>/vendor
112Date: February 2015
113Contact: linuxppc-dev@lists.ozlabs.org
114Description: read only
115 Hexadecimal value of the vendor ID found in this AFU
116 configuration record.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000117Users: https://github.com/ibm-capi/libcxl
Ian Munsieb087e612015-02-04 19:09:01 +1100118
119What: /sys/class/cxl/<afu>/cr<config num>/device
120Date: February 2015
121Contact: linuxppc-dev@lists.ozlabs.org
122Description: read only
123 Hexadecimal value of the device ID found in this AFU
124 configuration record.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000125Users: https://github.com/ibm-capi/libcxl
Ian Munsieb087e612015-02-04 19:09:01 +1100126
Philippe Bergheaud52fd4752015-03-26 11:46:56 +0100127What: /sys/class/cxl/<afu>/cr<config num>/class
Ian Munsieb087e612015-02-04 19:09:01 +1100128Date: February 2015
129Contact: linuxppc-dev@lists.ozlabs.org
130Description: read only
131 Hexadecimal value of the class code found in this AFU
132 configuration record.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000133Users: https://github.com/ibm-capi/libcxl
Ian Munsieb087e612015-02-04 19:09:01 +1100134
135What: /sys/class/cxl/<afu>/cr<config num>/config
136Date: February 2015
137Contact: linuxppc-dev@lists.ozlabs.org
138Description: read only
139 This binary file provides raw access to the AFU configuration
140 record. The format is expected to match the either the standard
141 or extended configuration space defined by the PCIe
142 specification.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000143Users: https://github.com/ibm-capi/libcxl
Ian Munsieb087e612015-02-04 19:09:01 +1100144
145
146
Ian Munsiea9282d02014-10-08 19:55:05 +1100147Master contexts (eg. /sys/class/cxl/afu0.0m)
148
149What: /sys/class/cxl/<afu>m/mmio_size
150Date: September 2014
151Contact: linuxppc-dev@lists.ozlabs.org
152Description: read only
153 Decimal value of the size of the MMIO space that may be mmaped
154 by userspace. This includes all slave contexts space also.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000155Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100156
157What: /sys/class/cxl/<afu>m/pp_mmio_len
158Date: September 2014
159Contact: linuxppc-dev@lists.ozlabs.org
160Description: read only
161 Decimal value of the Per Process MMIO space length.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000162Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100163
Christophe Lombard47528762016-03-04 12:26:37 +0100164What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
Ian Munsiea9282d02014-10-08 19:55:05 +1100165Date: September 2014
166Contact: linuxppc-dev@lists.ozlabs.org
167Description: read only
168 Decimal value of the Per Process MMIO space offset.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000169Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100170
171
172Card info (eg. /sys/class/cxl/card0)
173
174What: /sys/class/cxl/<card>/caia_version
175Date: September 2014
176Contact: linuxppc-dev@lists.ozlabs.org
177Description: read only
178 Identifies the CAIA Version the card implements.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000179Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100180
Philippe Bergheaud49fd6442014-12-12 11:28:53 +0100181What: /sys/class/cxl/<card>/psl_revision
Ian Munsiea9282d02014-10-08 19:55:05 +1100182Date: September 2014
183Contact: linuxppc-dev@lists.ozlabs.org
184Description: read only
185 Identifies the revision level of the PSL.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000186Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100187
Christophe Lombard47528762016-03-04 12:26:37 +0100188What: /sys/class/cxl/<card>/base_image (not in a guest)
Ian Munsiea9282d02014-10-08 19:55:05 +1100189Date: September 2014
190Contact: linuxppc-dev@lists.ozlabs.org
191Description: read only
192 Identifies the revision level of the base image for devices
193 that support loadable PSLs. For FPGAs this field identifies
194 the image contained in the on-adapter flash which is loaded
195 during the initial program load.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000196Users: https://github.com/ibm-capi/libcxl
Ian Munsiea9282d02014-10-08 19:55:05 +1100197
Christophe Lombard47528762016-03-04 12:26:37 +0100198What: /sys/class/cxl/<card>/image_loaded (not in a guest)
Ian Munsiea9282d02014-10-08 19:55:05 +1100199Date: September 2014
200Contact: linuxppc-dev@lists.ozlabs.org
201Description: read only
202 Will return "user" or "factory" depending on the image loaded
203 onto the card.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000204Users: https://github.com/ibm-capi/libcxl
Ryan Grimm95bc11b2015-01-19 11:52:49 -0600205
Christophe Lombard47528762016-03-04 12:26:37 +0100206What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
Ryan Grimm95bc11b2015-01-19 11:52:49 -0600207Date: December 2014
208Contact: linuxppc-dev@lists.ozlabs.org
209Description: read/write
210 Valid entries are "none", "user", and "factory".
211 "none" means PERST will not cause image to be loaded to the
212 card. A power cycle is required to load the image.
213 "none" could be useful for debugging because the trace arrays
214 are preserved.
215 "user" and "factory" means PERST will cause either the user or
216 user or factory image to be loaded.
217 Default is to reload on PERST whichever image the card has
218 loaded.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000219Users: https://github.com/ibm-capi/libcxl
Ryan Grimm62fa19d2015-01-19 11:52:51 -0600220
221What: /sys/class/cxl/<card>/reset
222Date: October 2014
223Contact: linuxppc-dev@lists.ozlabs.org
224Description: write only
Vaibhav Jain70b565b2016-10-14 15:08:36 +0530225 Writing 1 will issue a PERST to card provided there are no
226 contexts active on any one of the card AFUs. This may cause
227 the card to reload the FPGA depending on load_image_on_perst.
228 Writing -1 will do a force PERST irrespective of any active
229 contexts on the card AFUs.
Michael Neulingaee85fb2015-05-27 16:07:01 +1000230Users: https://github.com/ibm-capi/libcxl
Daniel Axtens13e68d82015-08-14 17:41:25 +1000231
Christophe Lombard47528762016-03-04 12:26:37 +0100232What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
Daniel Axtens13e68d82015-08-14 17:41:25 +1000233Date: July 2015
234Contact: linuxppc-dev@lists.ozlabs.org
235Description: read/write
236 Trust that when an image is reloaded via PERST, it will not
237 have changed.
238 0 = don't trust, the image may be different (default)
239 1 = trust that the image will not change.
240Users: https://github.com/ibm-capi/libcxl
Frederic Barrate009a7e2016-03-21 14:32:48 -0500241
242What: /sys/class/cxl/<card>/psl_timebase_synced
243Date: March 2016
244Contact: linuxppc-dev@lists.ozlabs.org
245Description: read only
246 Returns 1 if the psl timebase register is synchronized
247 with the core timebase register, 0 otherwise.
248Users: https://github.com/ibm-capi/libcxl
Philippe Bergheaud497a0792018-05-14 10:27:36 +0200249
250What: /sys/class/cxl/<card>/tunneled_ops_supported
251Date: May 2018
252Contact: linuxppc-dev@lists.ozlabs.org
253Description: read only
254 Returns 1 if tunneled operations are supported in capi mode,
255 0 otherwise.
256Users: https://github.com/ibm-capi/libcxl