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