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

From: Rafael J. Wysocki
Date: Mon May 10 2021 - 12:58:41 EST


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/documents/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?

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