ACPICA: Add minimal disassembly support for the SLIC table
[firefly-linux-kernel-4.4.55.git] / include / acpi / actbl1.h
index 4e5d3ca53a8eb15d6ae209d187f15404a7edf0bc..dd8e11e624fa8bf8995fe961754c5a24491a8b96 100644 (file)
@@ -67,6 +67,7 @@
 #define ACPI_SIG_MADT           "APIC" /* Multiple APIC Description Table */
 #define ACPI_SIG_MCFG           "MCFG" /* PCI Memory Mapped Configuration table */
 #define ACPI_SIG_SBST           "SBST" /* Smart Battery Specification Table */
+#define ACPI_SIG_SLIC           "SLIC" /* Software Licensing Description Table */
 #define ACPI_SIG_SLIT           "SLIT" /* System Locality Distance Information Table */
 #define ACPI_SIG_SPCR           "SPCR" /* Serial Port Console Redirection table */
 #define ACPI_SIG_SPMI           "SPMI" /* Server Platform Management Interface table */
@@ -257,7 +258,8 @@ struct acpi_table_dbgp {
 struct acpi_table_dmar {
        struct acpi_table_header header;        /* Common ACPI table header */
        u8 width;               /* Host Address Width */
-       u8 reserved[11];
+       u8 flags;
+       u8 reserved[10];
 };
 
 /* DMAR subtable header */
@@ -265,8 +267,6 @@ struct acpi_table_dmar {
 struct acpi_dmar_header {
        u16 type;
        u16 length;
-       u8 flags;
-       u8 reserved[3];
 };
 
 /* Values for subtable type in struct acpi_dmar_header */
@@ -274,13 +274,15 @@ struct acpi_dmar_header {
 enum acpi_dmar_type {
        ACPI_DMAR_TYPE_HARDWARE_UNIT = 0,
        ACPI_DMAR_TYPE_RESERVED_MEMORY = 1,
-       ACPI_DMAR_TYPE_RESERVED = 2     /* 2 and greater are reserved */
+       ACPI_DMAR_TYPE_ATSR = 2,
+       ACPI_DMAR_TYPE_RESERVED = 3     /* 3 and greater are reserved */
 };
 
 struct acpi_dmar_device_scope {
        u8 entry_type;
        u8 length;
-       u8 segment;
+       u16 reserved;
+       u8 enumeration_id;
        u8 bus;
 };
 
@@ -290,7 +292,14 @@ enum acpi_dmar_scope_type {
        ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0,
        ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1,
        ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,
-       ACPI_DMAR_SCOPE_TYPE_RESERVED = 3       /* 3 and greater are reserved */
+       ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,
+       ACPI_DMAR_SCOPE_TYPE_HPET = 4,
+       ACPI_DMAR_SCOPE_TYPE_RESERVED = 5       /* 5 and greater are reserved */
+};
+
+struct acpi_dmar_pci_path {
+       u8 dev;
+       u8 fn;
 };
 
 /*
@@ -301,6 +310,9 @@ enum acpi_dmar_scope_type {
 
 struct acpi_dmar_hardware_unit {
        struct acpi_dmar_header header;
+       u8 flags;
+       u8 reserved;
+       u16 segment;
        u64 address;            /* Register Base Address */
 };
 
@@ -312,7 +324,9 @@ struct acpi_dmar_hardware_unit {
 
 struct acpi_dmar_reserved_memory {
        struct acpi_dmar_header header;
-       u64 address;            /* 4_k aligned base address */
+       u16 reserved;
+       u16 segment;
+       u64 base_address;               /* 4_k aligned base address */
        u64 end_address;        /* 4_k aligned limit address */
 };