diff mbox series

[1/1] ACPICA: Add SVKL table headers

Message ID 20210422192937.707500-1-sathyanarayanan.kuppuswamy@linux.intel.com (mailing list archive)
State Superseded, archived
Headers show
Series [1/1] ACPICA: Add SVKL table headers | expand

Commit Message

Kuppuswamy Sathyanarayanan April 22, 2021, 7:29 p.m. UTC
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/documents/intel-tdx-guest-hypervisor-communication-interface.pdf

Cc: Robert Moore <robert.moore@intel.com>
Cc: Erik Kaneda <erik.kaneda@intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Link: https://github.com/acpica/acpica/commit/b5e6bcf6
Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
---
 include/acpi/actbl2.h | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

Rafael J. Wysocki May 10, 2021, 4:58 p.m. UTC | #1
On Thu, Apr 22, 2021 at 9:29 PM Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com> 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/documents/intel-tdx-guest-hypervisor-communication-interface.pdf
>
> Cc: Robert Moore <robert.moore@intel.com>
> Cc: Erik Kaneda <erik.kaneda@intel.com>
> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Link: https://github.com/acpica/acpica/commit/b5e6bcf6
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> Signed-off-by: Bob Moore <robert.moore@intel.com>
> Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>

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?

> ---
>  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
>
Erik Kaneda May 11, 2021, 12:17 a.m. UTC | #2
> -----Original Message-----
> From: Rafael J. Wysocki <rafael@kernel.org>
> Sent: Monday, May 10, 2021 9:58 AM
> To: Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@linux.intel.com>; Kaneda, Erik
> <erik.kaneda@intel.com>
> Cc: Rafael J Wysocki <rjw@rjwysocki.net>; Len Brown <lenb@kernel.org>;
> Moore, Robert <robert.moore@intel.com>; ACPI Devel Maling List <linux-
> acpi@vger.kernel.org>; open list:ACPI COMPONENT ARCHITECTURE
> (ACPICA) <devel@acpica.org>; Linux Kernel Mailing List <linux-
> kernel@vger.kernel.org>; Wysocki, Rafael J <rafael.j.wysocki@intel.com>
> Subject: Re: [PATCH 1/1] ACPICA: Add SVKL table headers
> 
> On Thu, Apr 22, 2021 at 9:29 PM Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@linux.intel.com> 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@intel.com>
> > Cc: Erik Kaneda <erik.kaneda@intel.com>
> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > Link: https://github.com/acpica/acpica/commit/b5e6bcf6
> > Signed-off-by: Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@linux.intel.com>
> > Signed-off-by: Bob Moore <robert.moore@intel.com>
> > Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
> 
> 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
> >
Rafael J. Wysocki May 11, 2021, 10:26 a.m. UTC | #3
On Tue, May 11, 2021 at 2:17 AM Kaneda, Erik <erik.kaneda@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Rafael J. Wysocki <rafael@kernel.org>
> > Sent: Monday, May 10, 2021 9:58 AM
> > To: Kuppuswamy Sathyanarayanan
> > <sathyanarayanan.kuppuswamy@linux.intel.com>; Kaneda, Erik
> > <erik.kaneda@intel.com>
> > Cc: Rafael J Wysocki <rjw@rjwysocki.net>; Len Brown <lenb@kernel.org>;
> > Moore, Robert <robert.moore@intel.com>; ACPI Devel Maling List <linux-
> > acpi@vger.kernel.org>; open list:ACPI COMPONENT ARCHITECTURE
> > (ACPICA) <devel@acpica.org>; Linux Kernel Mailing List <linux-
> > kernel@vger.kernel.org>; Wysocki, Rafael J <rafael.j.wysocki@intel.com>
> > Subject: Re: [PATCH 1/1] ACPICA: Add SVKL table headers
> >
> > On Thu, Apr 22, 2021 at 9:29 PM Kuppuswamy Sathyanarayanan
> > <sathyanarayanan.kuppuswamy@linux.intel.com> 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@intel.com>
> > > Cc: Erik Kaneda <erik.kaneda@intel.com>
> > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > >
> > > Link: https://github.com/acpica/acpica/commit/b5e6bcf6
> > > Signed-off-by: Kuppuswamy Sathyanarayanan
> > <sathyanarayanan.kuppuswamy@linux.intel.com>
> > > Signed-off-by: Bob Moore <robert.moore@intel.com>
> > > Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
> >
> > 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

OK, thanks!
diff mbox series

Patch

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()