On Thu, Feb 03, 2022 at 09:30:44PM -0800, David E. Box wrote: > Intel Software Defined Silicon (SDSi) is a post manufacturing mechanism for > activating additional silicon features. Features are enabled through a > license activation process. The SDSi driver provides a per socket, sysfs > attribute interface for applications to perform 3 main provisioning > functions: > > 1. Provision an Authentication Key Certificate (AKC), a key written to > internal NVRAM that is used to authenticate a capability specific > activation payload. > > 2. Provision a Capability Activation Payload (CAP), a token authenticated > using the AKC and applied to the CPU configuration to activate a new > feature. > > 3. Read the SDSi State Certificate, containing the CPU configuration > state. > > The operations perform function specific mailbox commands that forward the > requests to SDSi hardware to perform authentication of the payloads and > enable the silicon configuration (to be made available after power > cycling). > > The SDSi device itself is enumerated as an auxiliary device from the > intel_vsec driver and as such has a build dependency on CONFIG_INTEL_VSEC. > > Link: https://github.com/intel/intel-sdsi > Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> > Reviewed-by: Mark Gross <markgross@xxxxxxxxxx> > --- > V5 > - Update kernel version to 5.18 in API doc and copyrights to 2022. > - Remove unneeded prototypes. > - In binary attribute handlers where ret is only used for errors, > replace, > return (ret < 0) ? ret : size; > with, > return ret ?: size; That's horrible, please no. Will you remember what this does in 5 years when you have to look at it again? Spell it out, this saves nothing in runtime or code size: if (ret < 0) return ret; return size; There, obvious, simple, and can be read by anyone. thanks, greg k-h