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