summaryrefslogtreecommitdiff
path: root/include/acpi
diff options
context:
space:
mode:
authorErik Kaneda <erik.kaneda@intel.com>2021-04-06 14:30:18 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-04-07 19:09:00 +0200
commit14012d2fb1fea43077f71d33333ba3703a21fdd6 (patch)
tree50ad523f7b78486c84b30ef9361d9983bd05eabd /include/acpi
parent2dab2b68d25c9605ea30eb9dce9eefbfe3ec7d9e (diff)
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>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/actbl2.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 31ed30208c8a..2ae925fb7728 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -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 {