summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-driver-intel_sdsi
blob: 96b92c105ec49d9b47edc351195d2678c90324e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		This directory contains interface files for accessing Intel
		Software Defined Silicon (SDSi) features on a CPU. X
		represents the socket instance (though not the socket ID).
		The socket ID is determined by reading the registers file
		and decoding it per the specification.

		Some files communicate with SDSi hardware through a mailbox.
		Should the operation fail, one of the following error codes
		may be returned:

		==========	=====
		Error Code	Cause
		==========	=====
		EIO		General mailbox failure. Log may indicate cause.
		EBUSY		Mailbox is owned by another agent.
		EPERM		SDSI capability is not enabled in hardware.
		EPROTO		Failure in mailbox protocol detected by driver.
				See log for details.
		EOVERFLOW	For provision commands, the size of the data
				exceeds what may be written.
		ESPIPE		Seeking is not allowed.
		ETIMEDOUT	Failure to complete mailbox transaction in time.
		==========	=====

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/guid
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(RO) The GUID for the registers file. The GUID identifies
		the layout of the registers file in this directory.
		Information about the register layouts for a particular GUID
		is available at http://github.com/intel/intel-sdsi

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/registers
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(RO) Contains information needed by applications to provision
		a CPU and monitor status information. The layout of this file
		is determined by the GUID in this directory. Information about
		the layout for a particular GUID is available at
		http://github.com/intel/intel-sdsi

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_akc
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(WO) Used to write an Authentication Key Certificate (AKC) to
		the SDSi NVRAM for the CPU. The AKC is used to authenticate a
		Capability Activation Payload. Mailbox command.

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_cap
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(WO) Used to write a Capability Activation Payload (CAP) to the
		SDSi NVRAM for the CPU. CAPs are used to activate a given CPU
		feature. A CAP is validated by SDSi hardware using a previously
		provisioned AKC file. Upon successful authentication, the CPU
		configuration is updated. A cold reboot is required to fully
		activate the feature. Mailbox command.

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/state_certificate
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(RO) Used to read back the current State Certificate for the CPU
		from SDSi hardware. The State Certificate contains information
		about the current licenses on the CPU. Mailbox command.