0001 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X
0002 Date: Feb 2022
0003 KernelVersion: 5.18
0004 Contact: "David E. Box" <david.e.box@linux.intel.com>
0005 Description:
0006 This directory contains interface files for accessing Intel
0007 Software Defined Silicon (SDSi) features on a CPU. X
0008 represents the socket instance (though not the socket ID).
0009 The socket ID is determined by reading the registers file
0010 and decoding it per the specification.
0011
0012 Some files communicate with SDSi hardware through a mailbox.
0013 Should the operation fail, one of the following error codes
0014 may be returned:
0015
0016 ========== =====
0017 Error Code Cause
0018 ========== =====
0019 EIO General mailbox failure. Log may indicate cause.
0020 EBUSY Mailbox is owned by another agent.
0021 EPERM SDSI capability is not enabled in hardware.
0022 EPROTO Failure in mailbox protocol detected by driver.
0023 See log for details.
0024 EOVERFLOW For provision commands, the size of the data
0025 exceeds what may be written.
0026 ESPIPE Seeking is not allowed.
0027 ETIMEDOUT Failure to complete mailbox transaction in time.
0028 ========== =====
0029
0030 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X/guid
0031 Date: Feb 2022
0032 KernelVersion: 5.18
0033 Contact: "David E. Box" <david.e.box@linux.intel.com>
0034 Description:
0035 (RO) The GUID for the registers file. The GUID identifies
0036 the layout of the registers file in this directory.
0037 Information about the register layouts for a particular GUID
0038 is available at http://github.com/intel/intel-sdsi
0039
0040 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X/registers
0041 Date: Feb 2022
0042 KernelVersion: 5.18
0043 Contact: "David E. Box" <david.e.box@linux.intel.com>
0044 Description:
0045 (RO) Contains information needed by applications to provision
0046 a CPU and monitor status information. The layout of this file
0047 is determined by the GUID in this directory. Information about
0048 the layout for a particular GUID is available at
0049 http://github.com/intel/intel-sdsi
0050
0051 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_akc
0052 Date: Feb 2022
0053 KernelVersion: 5.18
0054 Contact: "David E. Box" <david.e.box@linux.intel.com>
0055 Description:
0056 (WO) Used to write an Authentication Key Certificate (AKC) to
0057 the SDSi NVRAM for the CPU. The AKC is used to authenticate a
0058 Capability Activation Payload. Mailbox command.
0059
0060 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_cap
0061 Date: Feb 2022
0062 KernelVersion: 5.18
0063 Contact: "David E. Box" <david.e.box@linux.intel.com>
0064 Description:
0065 (WO) Used to write a Capability Activation Payload (CAP) to the
0066 SDSi NVRAM for the CPU. CAPs are used to activate a given CPU
0067 feature. A CAP is validated by SDSi hardware using a previously
0068 provisioned AKC file. Upon successful authentication, the CPU
0069 configuration is updated. A cold reboot is required to fully
0070 activate the feature. Mailbox command.
0071
0072 What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X/state_certificate
0073 Date: Feb 2022
0074 KernelVersion: 5.18
0075 Contact: "David E. Box" <david.e.box@linux.intel.com>
0076 Description:
0077 (RO) Used to read back the current State Certificate for the CPU
0078 from SDSi hardware. The State Certificate contains information
0079 about the current licenses on the CPU. Mailbox command.