Re: [V2 4/6] platform/x86: Add Intel Software Defined Silicon driver

Leon Romanovsky
2021-12-08T10:56:47Z

On Wed, Dec 08, 2021 at 02:42:42AM -0800, David E. Box wrote:
> On Wed, 2021-12-08 at 09:14 +0200, Leon Romanovsky wrote:
> > On Tue, Dec 07, 2021 at 09:14:46AM -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@linux.intel.com>
> > > Reviewed-by: Mark Gross <markgross@kernel.org>
> > > ---
> > > V2
> > > - Use sysfs_emit() in guid_show()
> > > - Fix language in ABI, suggested by Bjorn
> > > - Fix wrong directory name in ABI doc
> >
> > <...>
> >
> > > @@ -0,0 +1,77 @@
> > > +What: /sys/bus/auxiliary/devices/intel_vsec.sdsi.X
> >
> > <...>
> >
> > > +static const struct auxiliary_device_id sdsi_aux_id_table[] = {
> > > + { .name = "intel_vsec.sdsi" },
> >
> > Are you sure that this sysfs is correct?
> >
> > Auxiliary bus set device name as a combination of module name plus suffix.
> >
> > 172 int __auxiliary_device_add(struct auxiliary_device *auxdev, const char
> > *modname)
> > 173 {
> > 174 struct device *dev = &auxdev->dev;
> > 175 int ret;
> > ....
> > 181
> > 182 ret = dev_set_name(dev, "%s.%s.%d", modname, auxdev->name,
> > auxdev->id);
> >
> > Thanks
>
> Yes. 'intel_vsec' is the module name, 'sdsi' is the suffix, and 'X' is meant to
> indicate the unique id. Will change to '*' instead of 'X'.

No, it is ok, I don't think that it is worth to change.

Thanks

>
> Thanks
>
> David
>