Skip to content

Commit 8288f69

Browse files
Kuppuswamy Sathyanarayananrafaeljw
authored andcommitted
ACPICA: Add SVKL table headers
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. Link: https://software.intel.com/content/dam/develop/external/us/en/documents/intel-tdx-guest-hypervisor-communication-interface.pdf Link: acpica/acpica@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> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 42d96e1 commit 8288f69

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

include/acpi/actbl2.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */
4545
#define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
4646
#define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */
47+
#define ACPI_SIG_SVKL "SVKL" /* Storage Volume Key Location Table */
4748

4849
/*
4950
* All tables must be byte-packed to match the ACPI specification, since
@@ -1913,6 +1914,35 @@ struct acpi_sdev_pcie_path {
19131914
u8 function;
19141915
};
19151916

1917+
/*******************************************************************************
1918+
*
1919+
* SVKL - Storage Volume Key Location Table (ACPI 6.4)
1920+
* Version 1
1921+
*
1922+
******************************************************************************/
1923+
1924+
struct acpi_table_svkl {
1925+
struct acpi_table_header header; /* Common ACPI table header */
1926+
u32 count;
1927+
};
1928+
1929+
struct acpi_svkl_header {
1930+
u16 type;
1931+
u16 format;
1932+
u32 size;
1933+
u64 address;
1934+
};
1935+
1936+
enum acpi_svkl_type {
1937+
ACPI_SVKL_TYPE_MAIN_STORAGE = 0,
1938+
ACPI_SVKL_TYPE_RESERVED = 1 /* 1 and greater are reserved */
1939+
};
1940+
1941+
enum acpi_svkl_format {
1942+
ACPI_SVKL_FORMAT_RAW_BINARY = 0,
1943+
ACPI_SVKL_FORMAT_RESERVED = 1 /* 1 and greater are reserved */
1944+
};
1945+
19161946
/* Reset to default packing */
19171947

19181948
#pragma pack()

0 commit comments

Comments
 (0)