x86/sev-es: Do not support MMIO to/from encrypted memory
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-class-cxl
1 Please note that attributes that are shared between devices are stored in
2 the directory pointed to by the symlink device/.
3 For 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.
5
6
7 Slave contexts (eg. /sys/class/cxl/afu0.0s):
8
9 What:           /sys/class/cxl/<afu>/afu_err_buf
10 Date:           September 2014
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.
18
19
20 What:           /sys/class/cxl/<afu>/irqs_max
21 Date:           September 2014
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
28                 be >= irqs_min.
29 Users:          https://github.com/ibm-capi/libcxl
30
31 What:           /sys/class/cxl/<afu>/irqs_min
32 Date:           September 2014
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
40
41 What:           /sys/class/cxl/<afu>/mmio_size
42 Date:           September 2014
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
46                 by userspace.
47 Users:          https://github.com/ibm-capi/libcxl
48
49 What:           /sys/class/cxl/<afu>/modes_supported
50 Date:           September 2014
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
56
57 What:           /sys/class/cxl/<afu>/mode
58 Date:           September 2014
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
65
66
67 What:           /sys/class/cxl/<afu>/prefault_mode
68 Date:           September 2014
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. Only applicable when
73                 running under hashed page table mmu.
74                 Possible values:
75                         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.
80 Users:          https://github.com/ibm-capi/libcxl
81
82 What:           /sys/class/cxl/<afu>/reset
83 Date:           September 2014
84 Contact:        linuxppc-dev@lists.ozlabs.org
85 Description:    write only
86                 Writing 1 here will reset the AFU provided there are not
87                 contexts active on the AFU.
88 Users:          https://github.com/ibm-capi/libcxl
89
90 What:           /sys/class/cxl/<afu>/api_version
91 Date:           September 2014
92 Contact:        linuxppc-dev@lists.ozlabs.org
93 Description:    read only
94                 Decimal value of the current version of the kernel/user API.
95 Users:          https://github.com/ibm-capi/libcxl
96
97 What:           /sys/class/cxl/<afu>/api_version_compatible
98 Date:           September 2014
99 Contact:        linuxppc-dev@lists.ozlabs.org
100 Description:    read only
101                 Decimal value of the the lowest version of the userspace API
102                 this this kernel supports.
103 Users:          https://github.com/ibm-capi/libcxl
104
105
106 AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
107
108 An AFU may optionally export one or more PCIe like configuration records, known
109 as AFU configuration records, which will show up here (if present).
110
111 What:           /sys/class/cxl/<afu>/cr<config num>/vendor
112 Date:           February 2015
113 Contact:        linuxppc-dev@lists.ozlabs.org
114 Description:    read only
115                 Hexadecimal value of the vendor ID found in this AFU
116                 configuration record.
117 Users:          https://github.com/ibm-capi/libcxl
118
119 What:           /sys/class/cxl/<afu>/cr<config num>/device
120 Date:           February 2015
121 Contact:        linuxppc-dev@lists.ozlabs.org
122 Description:    read only
123                 Hexadecimal value of the device ID found in this AFU
124                 configuration record.
125 Users:          https://github.com/ibm-capi/libcxl
126
127 What:           /sys/class/cxl/<afu>/cr<config num>/class
128 Date:           February 2015
129 Contact:        linuxppc-dev@lists.ozlabs.org
130 Description:    read only
131                 Hexadecimal value of the class code found in this AFU
132                 configuration record.
133 Users:          https://github.com/ibm-capi/libcxl
134
135 What:           /sys/class/cxl/<afu>/cr<config num>/config
136 Date:           February 2015
137 Contact:        linuxppc-dev@lists.ozlabs.org
138 Description:    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.
143 Users:          https://github.com/ibm-capi/libcxl
144
145
146
147 Master contexts (eg. /sys/class/cxl/afu0.0m)
148
149 What:           /sys/class/cxl/<afu>m/mmio_size
150 Date:           September 2014
151 Contact:        linuxppc-dev@lists.ozlabs.org
152 Description:    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.
155 Users:          https://github.com/ibm-capi/libcxl
156
157 What:           /sys/class/cxl/<afu>m/pp_mmio_len
158 Date:           September 2014
159 Contact:        linuxppc-dev@lists.ozlabs.org
160 Description:    read only
161                 Decimal value of the Per Process MMIO space length.
162 Users:          https://github.com/ibm-capi/libcxl
163
164 What:           /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
165 Date:           September 2014
166 Contact:        linuxppc-dev@lists.ozlabs.org
167 Description:    read only
168                 Decimal value of the Per Process MMIO space offset.
169 Users:          https://github.com/ibm-capi/libcxl
170
171
172 Card info (eg. /sys/class/cxl/card0)
173
174 What:           /sys/class/cxl/<card>/caia_version
175 Date:           September 2014
176 Contact:        linuxppc-dev@lists.ozlabs.org
177 Description:    read only
178                 Identifies the CAIA Version the card implements.
179 Users:          https://github.com/ibm-capi/libcxl
180
181 What:           /sys/class/cxl/<card>/psl_revision
182 Date:           September 2014
183 Contact:        linuxppc-dev@lists.ozlabs.org
184 Description:    read only
185                 Identifies the revision level of the PSL.
186 Users:          https://github.com/ibm-capi/libcxl
187
188 What:           /sys/class/cxl/<card>/base_image (not in a guest)
189 Date:           September 2014
190 Contact:        linuxppc-dev@lists.ozlabs.org
191 Description:    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.
196 Users:          https://github.com/ibm-capi/libcxl
197
198 What:           /sys/class/cxl/<card>/image_loaded (not in a guest)
199 Date:           September 2014
200 Contact:        linuxppc-dev@lists.ozlabs.org
201 Description:    read only
202                 Will return "user" or "factory" depending on the image loaded
203                 onto the card.
204 Users:          https://github.com/ibm-capi/libcxl
205
206 What:           /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
207 Date:           December 2014
208 Contact:        linuxppc-dev@lists.ozlabs.org
209 Description:    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.
219 Users:          https://github.com/ibm-capi/libcxl
220
221 What:           /sys/class/cxl/<card>/reset
222 Date:           October 2014
223 Contact:        linuxppc-dev@lists.ozlabs.org
224 Description:    write only
225                 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.
230 Users:          https://github.com/ibm-capi/libcxl
231
232 What:           /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
233 Date:           July 2015
234 Contact:        linuxppc-dev@lists.ozlabs.org
235 Description:    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.
240 Users:          https://github.com/ibm-capi/libcxl
241
242 What:           /sys/class/cxl/<card>/psl_timebase_synced
243 Date:           March 2016
244 Contact:        linuxppc-dev@lists.ozlabs.org
245 Description:    read only
246                 Returns 1 if the psl timebase register is synchronized
247                 with the core timebase register, 0 otherwise.
248 Users:          https://github.com/ibm-capi/libcxl
249
250 What:           /sys/class/cxl/<card>/tunneled_ops_supported
251 Date:           May 2018
252 Contact:        linuxppc-dev@lists.ozlabs.org
253 Description:    read only
254                 Returns 1 if tunneled operations are supported in capi mode,
255                 0 otherwise.
256 Users:          https://github.com/ibm-capi/libcxl