ACPICA: ACPI 6.4: add SDEV secure access components

ACPICA commit 44ca5f4f9be24bf64524cdb1de46322509319056

This entails adding an optional subtable indicating secure access
components as well as two different types of secure access components
(ID-based or Memory). For definitons and uses, consult the ACPI
specification.

Link: https://github.com/acpica/acpica/commit/44ca5f4f
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Erik Kaneda 2021-04-06 14:30:18 -07:00 committed by Rafael J. Wysocki
parent 2dab2b68d2
commit 14012d2fb1
1 changed files with 41 additions and 0 deletions

View File

@ -1732,6 +1732,7 @@ enum acpi_sdev_type {
/* Values for flags above */
#define ACPI_SDEV_HANDOFF_TO_UNSECURE_OS (1)
#define ACPI_SDEV_SECURE_COMPONENTS_PRESENT (1<<1)
/*
* SDEV subtables
@ -1747,6 +1748,46 @@ struct acpi_sdev_namespace {
u16 vendor_data_length;
};
struct acpi_sdev_secure_component {
u16 secure_component_offset;
u16 secure_component_length;
};
/*
* SDEV sub-subtables ("Components") for above
*/
struct acpi_sdev_component {
struct acpi_sdev_header header;
};
/* Values for sub-subtable type above */
enum acpi_sac_type {
ACPI_SDEV_TYPE_ID_COMPONENT = 0,
ACPI_SDEV_TYPE_MEM_COMPONENT = 1
};
struct acpi_sdev_id_component {
struct acpi_sdev_header header;
u16 hardware_id_offset;
u16 hardware_id_length;
u16 subsystem_id_offset;
u16 subsystem_id_length;
u16 hardware_revision;
u8 hardware_rev_present;
u8 class_code_present;
u8 pci_base_class;
u8 pci_sub_class;
u8 pci_programming_xface;
};
struct acpi_sdev_mem_component {
struct acpi_sdev_header header;
u32 reserved;
u64 memory_base_address;
u64 memory_length;
};
/* 1: PCIe Endpoint Device Based Device Structure */
struct acpi_sdev_pcie {