1What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X
2Date:		Feb 2022
3KernelVersion:	5.18
4Contact:	"David E. Box" <david.e.box@linux.intel.com>
5Description:
6		This directory contains interface files for accessing Intel
7		Software Defined Silicon (SDSi) features on a CPU. X
8		represents the socket instance (though not the socket ID).
9		The socket ID is determined by reading the registers file
10		and decoding it per the specification.
11
12		Some files communicate with SDSi hardware through a mailbox.
13		Should the operation fail, one of the following error codes
14		may be returned:
15
16		Error Code	Cause
17	        ----------	-----
18	        EIO		General mailbox failure. Log may indicate cause.
19	        EBUSY		Mailbox is owned by another agent.
20	        EPERM		SDSI capability is not enabled in hardware.
21	        EPROTO		Failure in mailbox protocol detected by driver.
22				See log for details.
23	        EOVERFLOW	For provision commands, the size of the data
24				exceeds what may be written.
25	        ESPIPE		Seeking is not allowed.
26	        ETIMEDOUT	Failure to complete mailbox transaction in time.
27
28What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/guid
29Date:		Feb 2022
30KernelVersion:	5.18
31Contact:	"David E. Box" <david.e.box@linux.intel.com>
32Description:
33		(RO) The GUID for the registers file. The GUID identifies
34		the layout of the registers file in this directory.
35		Information about the register layouts for a particular GUID
36		is available at http://github.com/intel/intel-sdsi
37
38What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/registers
39Date:		Feb 2022
40KernelVersion:	5.18
41Contact:	"David E. Box" <david.e.box@linux.intel.com>
42Description:
43		(RO) Contains information needed by applications to provision
44		a CPU and monitor status information. The layout of this file
45		is determined by the GUID in this directory. Information about
46		the layout for a particular GUID is available at
47		http://github.com/intel/intel-sdsi
48
49What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_akc
50Date:		Feb 2022
51KernelVersion:	5.18
52Contact:	"David E. Box" <david.e.box@linux.intel.com>
53Description:
54		(WO) Used to write an Authentication Key Certificate (AKC) to
55		the SDSi NVRAM for the CPU. The AKC is used to authenticate a
56		Capability Activation Payload. Mailbox command.
57
58What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_cap
59Date:		Feb 2022
60KernelVersion:	5.18
61Contact:	"David E. Box" <david.e.box@linux.intel.com>
62Description:
63		(WO) Used to write a Capability Activation Payload (CAP) to the
64		SDSi NVRAM for the CPU. CAPs are used to activate a given CPU
65		feature. A CAP is validated by SDSi hardware using a previously
66		provisioned AKC file. Upon successful authentication, the CPU
67		configuration is updated. A cold reboot is required to fully
68		activate the feature. Mailbox command.
69
70What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/state_certificate
71Date:		Feb 2022
72KernelVersion:	5.18
73Contact:	"David E. Box" <david.e.box@linux.intel.com>
74Description:
75		(RO) Used to read back the current State Certificate for the CPU
76		from SDSi hardware. The State Certificate contains information
77		about the current licenses on the CPU. Mailbox command.
78