RE: [PATCH 1/1] ACPICA: Add SVKL table headers

From: Kaneda, Erik
Date: Mon May 10 2021 - 20:17:42 EST




> -----Original Message-----
> From: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Sent: Monday, May 10, 2021 9:58 AM
> To: Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>; Kaneda, Erik
> <erik.kaneda@xxxxxxxxx>
> Cc: Rafael J Wysocki <rjw@xxxxxxxxxxxxx>; Len Brown <lenb@xxxxxxxxxx>;
> Moore, Robert <robert.moore@xxxxxxxxx>; ACPI Devel Maling List <linux-
> acpi@xxxxxxxxxxxxxxx>; open list:ACPI COMPONENT ARCHITECTURE
> (ACPICA) <devel@xxxxxxxxxx>; Linux Kernel Mailing List <linux-
> kernel@xxxxxxxxxxxxxxx>; Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>
> Subject: Re: [PATCH 1/1] ACPICA: Add SVKL table headers
>
> On Thu, Apr 22, 2021 at 9:29 PM Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:
> >
> > ACPICA commit b5e6bcf69dbb9877481992d5ce86008cfb94f5b8
> >
> > SVKL (Storage Volume Key Location Table) is used by BIOS/Firmware
> > to share storage volume encryption key's with OS. It will be used
> > by userspace to decrypt and mount encrypted drives.
> >
> > So add SVKL table signature and add it to known signatures array
> > support SVKL.
> >
> > You can find details about the SVKL table in TDX specfication
> > titled "Guest-Host-Communication Interface (GHCI) for Intel
> > Trust Domain Extensions (Intel® TDX)", sec 4.4 and in ACPI
> > specification r6.4, sec 5.2.6.
> >
> >
> https://software.intel.com/content/dam/develop/external/us/en/documen
> ts/intel-tdx-guest-hypervisor-communication-interface.pdf
> >
> > Cc: Robert Moore <robert.moore@xxxxxxxxx>
> > Cc: Erik Kaneda <erik.kaneda@xxxxxxxxx>
> > Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >
> > Link: https://github.com/acpica/acpica/commit/b5e6bcf6
> > Signed-off-by: Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
> > Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
> > Signed-off-by: Erik Kaneda <erik.kaneda@xxxxxxxxx>
>
> Erik, what's the plan regarding this patch and the other ACPICA change
> requisite for this series?
>
> Are they going to be part of the next ACPICA release and am I going to
> receive them the usual way?

Yes, we'll do this the usual way

Erik

>
> > ---
> > include/acpi/actbl2.h | 30 ++++++++++++++++++++++++++++++
> > 1 file changed, 30 insertions(+)
> >
> > diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
> > index d6478c430c99..83a9d8b68e3a 100644
> > --- a/include/acpi/actbl2.h
> > +++ b/include/acpi/actbl2.h
> > @@ -43,6 +43,7 @@
> > #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception
> Interface Table */
> > #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
> > #define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */
> > +#define ACPI_SIG_SVKL "SVKL" /* Storage Volume Key Location
> Table */
> >
> > /*
> > * All tables must be byte-packed to match the ACPI specification, since
> > @@ -1713,6 +1714,35 @@ struct acpi_sdev_pcie_path {
> > u8 function;
> > };
> >
> >
> +/*********************************************************
> **********************
> > + *
> > + * SVKL - Storage Volume Key Location Table (ACPI 6.4)
> > + * Version 1
> > + *
> > +
> **********************************************************
> ********************/
> > +
> > +struct acpi_table_svkl {
> > + struct acpi_table_header header; /* Common ACPI table header
> */
> > + u32 count;
> > +};
> > +
> > +struct acpi_svkl_header {
> > + u16 type;
> > + u16 format;
> > + u32 size;
> > + u64 address;
> > +};
> > +
> > +enum acpi_svkl_type {
> > + ACPI_SVKL_TYPE_MAIN_STORAGE = 0,
> > + ACPI_SVKL_TYPE_RESERVED = 1 /* 1 and greater are reserved */
> > +};
> > +
> > +enum acpi_svkl_format {
> > + ACPI_SVKL_FORMAT_RAW_BINARY = 0,
> > + ACPI_SVKL_FORMAT_RESERVED = 1 /* 1 and greater are reserved */
> > +};
> > +
> > /* Reset to default packing */
> >
> > #pragma pack()
> > --
> > 2.25.1
> >