summaryrefslogtreecommitdiff
path: root/source/include
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2021-02-18 14:24:34 -0800
committerGitHub <noreply@github.com>2021-02-18 14:24:34 -0800
commit79acf21c5d667214aa94ad645ba2f68e0c2c536c (patch)
tree50f94ef82a1a5e304a7a77a316d7472c3135c9ae /source/include
parent44953996cc100d60ac554f0b6597f0fe25f1d688 (diff)
parent44ca5f4f9be24bf64524cdb1de46322509319056 (diff)
downloadacpica-79acf21c5d667214aa94ad645ba2f68e0c2c536c.tar.gz
Merge pull request #662 from SchmErik/acpi64
ACPI 6.4 changes
Diffstat (limited to 'source/include')
-rw-r--r--source/include/acdisasm.h7
-rw-r--r--source/include/acpredef.h15
-rw-r--r--source/include/actbinfo.h8
-rw-r--r--source/include/actbl1.h10
-rw-r--r--source/include/actbl2.h102
-rw-r--r--source/include/actbl3.h3
-rw-r--r--source/include/acuuid.h1
7 files changed, 140 insertions, 6 deletions
diff --git a/source/include/acdisasm.h b/source/include/acdisasm.h
index 94c002da3..fbea3e9d2 100644
--- a/source/include/acdisasm.h
+++ b/source/include/acdisasm.h
@@ -481,6 +481,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
@@ -520,10 +521,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct5[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
@@ -539,6 +542,10 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0b[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompId[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompMem[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
diff --git a/source/include/acpredef.h b/source/include/acpredef.h
index 22aece659..bc55155cf 100644
--- a/source/include/acpredef.h
+++ b/source/include/acpredef.h
@@ -472,6 +472,17 @@ const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] =
{{"_BMS", METHOD_1ARGS (ACPI_TYPE_INTEGER),
METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
+ {{"_BPC", METHOD_0ARGS,
+ METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
+ PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
+
+ {{"_BPS", METHOD_0ARGS,
+ METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */
+ PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0),
+
+ {{"_BPT", METHOD_1ARGS (ACPI_TYPE_PACKAGE),
+ METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
+
{{"_BQC", METHOD_0ARGS,
METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
@@ -491,6 +502,10 @@ const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] =
{{"_CBA", METHOD_0ARGS,
METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */
+ {{"_CBR", METHOD_0ARGS,
+ METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
+ PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),
+
{{"_CCA", METHOD_0ARGS,
METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */
diff --git a/source/include/actbinfo.h b/source/include/actbinfo.h
index b10cc9efb..ddf4b159f 100644
--- a/source/include/actbinfo.h
+++ b/source/include/actbinfo.h
@@ -289,6 +289,7 @@
#define ACPI_MADT13_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_MSI_FRAME,f)
#define ACPI_MADT14_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_REDISTRIBUTOR,f)
#define ACPI_MADT15_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_TRANSLATOR,f)
+#define ACPI_MADT16_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MULTIPROC_WAKEUP,f)
#define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
#define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f)
#define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f)
@@ -311,6 +312,7 @@
#define ACPI_PCCT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f)
#define ACPI_PCCT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_EXT_PCC_MASTER,f)
#define ACPI_PCCT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_EXT_PCC_SLAVE,f)
+#define ACPI_PCCT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REG,f)
#define ACPI_PDTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PDTT_CHANNEL,f)
#define ACPI_PMTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_SOCKET,f)
#define ACPI_PMTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_CONTROLLER,f)
@@ -320,12 +322,17 @@
#define ACPI_PPTTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
#define ACPI_PPTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_PROCESSOR,f)
#define ACPI_PPTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE,f)
+#define ACPI_PPTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE_V1,f)
#define ACPI_PPTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_ID,f)
#define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f)
#define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f)
#define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f)
#define ACPI_SDEVH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_HEADER,f)
#define ACPI_SDEV0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_NAMESPACE,f)
+#define ACPI_SDEV0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_SECURE_COMPONENT,f)
+#define ACPI_SDEVCH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_HEADER,f)
+#define ACPI_SDEVC0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_ID_COMPONENT, f)
+#define ACPI_SDEVC1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_MEM_COMPONENT, f)
#define ACPI_SDEV1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_PCIE,f)
#define ACPI_SDEV1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_PCIE_PATH,f)
#define ACPI_SLIC_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SLIC,f)
@@ -358,6 +365,7 @@
#define ACPI_HPET_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_HPET,f,o)
#define ACPI_PPTT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_PROCESSOR,f,o)
#define ACPI_PPTT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_CACHE,f,o)
+#define ACPI_PPTT1A_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_CACHE_V1,f,o)
#define ACPI_SRAT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_CPU_AFFINITY,f,o)
#define ACPI_SRAT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_MEM_AFFINITY,f,o)
#define ACPI_SRAT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f,o)
diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 5f54ecc0a..ef97f3cb9 100644
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -1829,7 +1829,8 @@ typedef struct acpi_hmat_locality
ACPI_HMAT_STRUCTURE Header;
UINT8 Flags;
UINT8 DataType;
- UINT16 Reserved1;
+ UINT8 MinTransferSize;
+ UINT8 Reserved1;
UINT32 NumberOfInitiatorPDs;
UINT32 NumberOfTargetPDs;
UINT32 Reserved2;
@@ -1839,14 +1840,17 @@ typedef struct acpi_hmat_locality
/* Masks for Flags field above */
-#define ACPI_HMAT_MEMORY_HIERARCHY (0x0F)
+#define ACPI_HMAT_MEMORY_HIERARCHY (0x0F) /* Bits 0-3 */
-/* Values for Memory Hierarchy flag */
+/* Values for Memory Hierarchy flags */
#define ACPI_HMAT_MEMORY 0
#define ACPI_HMAT_1ST_LEVEL_CACHE 1
#define ACPI_HMAT_2ND_LEVEL_CACHE 2
#define ACPI_HMAT_3RD_LEVEL_CACHE 3
+#define ACPI_HMAT_MINIMUM_XFER_SIZE 0x10 /* Bit 4: ACPI 6.4 */
+#define ACPI_HMAT_NON_SEQUENTIAL_XFERS 0x20 /* Bit 5: ACPI 6.4 */
+
/* Values for DataType field above */
diff --git a/source/include/actbl2.h b/source/include/actbl2.h
index 82096fe9c..90c80d1a8 100644
--- a/source/include/actbl2.h
+++ b/source/include/actbl2.h
@@ -733,7 +733,8 @@ enum AcpiMadtType
ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,
ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,
ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15,
- ACPI_MADT_TYPE_RESERVED = 16 /* 16 and greater are reserved */
+ ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16,
+ ACPI_MADT_TYPE_RESERVED = 17 /* 17 and greater are reserved */
};
@@ -989,6 +990,17 @@ typedef struct acpi_madt_generic_translator
} ACPI_MADT_GENERIC_TRANSLATOR;
+/* 16: Multiprocessor wakeup (ACPI 6.4) */
+
+typedef struct acpi_madt_multiproc_wakeup
+{
+ ACPI_SUBTABLE_HEADER Header;
+ UINT16 MailboxVersion;
+ UINT32 Reserved; /* reserved - must be zero */
+ UINT64 BaseAddress;
+
+} ACPI_MADT_MULTIPROC_WAKEUP;
+
/*
* Common flags fields for MADT subtables
@@ -1299,6 +1311,7 @@ typedef struct acpi_nfit_system_address
UINT64 Address;
UINT64 Length;
UINT64 MemoryMapping;
+ UINT64 LocationCookie; /* ACPI 6.4 */
} ACPI_NFIT_SYSTEM_ADDRESS;
@@ -1306,6 +1319,7 @@ typedef struct acpi_nfit_system_address
#define ACPI_NFIT_ADD_ONLINE_ONLY (1) /* 00: Add/Online Operation Only */
#define ACPI_NFIT_PROXIMITY_VALID (1<<1) /* 01: Proximity Domain Valid */
+#define ACPI_NFIT_LOCATION_COOKIE_VALID (1<<2) /* 02: SPA location cookie valid (ACPI 6.4) */
/* Range Type GUIDs appear in the include/acuuid.h file */
@@ -1529,7 +1543,8 @@ enum AcpiPcctType
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */
ACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3, /* ACPI 6.2 */
ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4, /* ACPI 6.2 */
- ACPI_PCCT_TYPE_RESERVED = 5 /* 5 and greater are reserved */
+ ACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5, /* ACPI 6.4 */
+ ACPI_PCCT_TYPE_RESERVED = 6 /* 6 and greater are reserved */
};
/*
@@ -1658,6 +1673,26 @@ typedef struct acpi_pcct_ext_pcc_slave
} ACPI_PCCT_EXT_PCC_SLAVE;
+/* 5: HW Registers based Communications Subspace */
+
+typedef struct acpi_pcct_hw_reg
+{
+ ACPI_SUBTABLE_HEADER Header;
+ UINT16 Version;
+ UINT64 BaseAddress;
+ UINT64 Length;
+ ACPI_GENERIC_ADDRESS DoorbellRegister;
+ UINT64 DoorbellPreserve;
+ UINT64 DoorbellWrite;
+ ACPI_GENERIC_ADDRESS CmdCompleteRegister;
+ UINT64 CmdCompleteMask;
+ ACPI_GENERIC_ADDRESS ErrorStatusRegister;
+ UINT64 ErrorStatusMask;
+ UINT32 NominalLatency;
+ UINT32 MinTurnaroundTime;
+
+} ACPI_PCCT_HW_REG;
+
/* Values for doorbell flags above */
@@ -1885,6 +1920,15 @@ typedef struct acpi_pptt_cache
} ACPI_PPTT_CACHE;
+/* 1: Cache Type Structure for PPTT version 3 */
+
+typedef struct acpi_pptt_cache_v1
+{
+ UINT32 CacheId;
+
+} ACPI_PPTT_CACHE_V1;
+
+
/* Flags */
#define ACPI_PPTT_SIZE_PROPERTY_VALID (1) /* Physical property valid */
@@ -1894,6 +1938,7 @@ typedef struct acpi_pptt_cache
#define ACPI_PPTT_CACHE_TYPE_VALID (1<<4) /* Cache type valid */
#define ACPI_PPTT_WRITE_POLICY_VALID (1<<5) /* Write policy valid */
#define ACPI_PPTT_LINE_SIZE_VALID (1<<6) /* Line size valid */
+#define ACPI_PPTT_CHACHE_ID_VALID (1<<7) /* Cache ID valid */
/* Masks for Attributes */
@@ -2108,6 +2153,7 @@ enum AcpiSdevType
/* Values for flags above */
#define ACPI_SDEV_HANDOFF_TO_UNSECURE_OS (1)
+#define ACPI_SDEV_SECURE_COMPONENTS_PRESENT (1<<1)
/*
* SDEV subtables
@@ -2125,6 +2171,58 @@ typedef struct acpi_sdev_namespace
} ACPI_SDEV_NAMESPACE;
+typedef struct acpi_sdev_secure_component
+{
+ UINT16 SecureComponentOffset;
+ UINT16 SecureComponentLength;
+
+} ACPI_SDEV_SECURE_COMPONENT;
+
+
+/*
+ * SDEV sub-subtables ("Components") for above
+ */
+typedef struct acpi_sdev_component
+{
+ ACPI_SDEV_HEADER Header;
+
+} ACPI_SDEV_COMPONENT;
+
+
+/* Values for sub-subtable type above */
+
+enum AcpiSacType
+{
+ ACPI_SDEV_TYPE_ID_COMPONENT = 0,
+ ACPI_SDEV_TYPE_MEM_COMPONENT = 1
+};
+
+typedef struct acpi_sdev_id_component
+{
+ ACPI_SDEV_HEADER Header;
+ UINT16 HardwareIdOffset;
+ UINT16 HardwareIdLength;
+ UINT16 SubsystemIdOffset;
+ UINT16 SubsystemIdLength;
+ UINT16 HardwareRevision;
+ UINT8 HardwareRevPresent;
+ UINT8 ClassCodePresent;
+ UINT8 PciBaseClass;
+ UINT8 PciSubClass;
+ UINT8 PciProgrammingXface;
+
+} ACPI_SDEV_ID_COMPONENT;
+
+typedef struct acpi_sdev_mem_component
+{
+ ACPI_SDEV_HEADER Header;
+ UINT32 Reserved;
+ UINT64 MemoryBaseAddress;
+ UINT64 MemoryLength;
+
+} ACPI_SDEV_MEM_COMPONENT;
+
+
/* 1: PCIe Endpoint Device Based Device Structure */
typedef struct acpi_sdev_pcie
diff --git a/source/include/actbl3.h b/source/include/actbl3.h
index 1c79143b8..abf14b4d9 100644
--- a/source/include/actbl3.h
+++ b/source/include/actbl3.h
@@ -463,7 +463,8 @@ typedef struct acpi_srat_generic_affinity
/* Flags for ACPI_SRAT_GENERIC_AFFINITY */
-#define ACPI_SRAT_GENERIC_AFFINITY_ENABLED (1) /* 00: Use affinity structure */
+#define ACPI_SRAT_GENERIC_AFFINITY_ENABLED (1) /* 00: Use affinity structure */
+#define ACPI_SRAT_ARCHITECTURAL_TRANSACTIONS (1<<1) /* ACPI 6.4 */
/*******************************************************************************
*
diff --git a/source/include/acuuid.h b/source/include/acuuid.h
index 72b253a4b..48f4c9a1c 100644
--- a/source/include/acuuid.h
+++ b/source/include/acuuid.h
@@ -210,5 +210,6 @@
#define UUID_DEVICE_GRAPHS "ab02a46b-74c7-45a2-bd68-f7d344ef2153"
#define UUID_HIERARCHICAL_DATA_EXTENSION "dbb8e3e6-5886-4ba6-8795-1319f52a966b"
#define UUID_CORESIGHT_GRAPH "3ecbc8b6-1d0e-4fb3-8107-e627f805c6cd"
+#define UUID_USB4_CAPABILITIES "23a0d13a-26ab-486c-9c5f-0ffa525a575a"
#endif /* __ACUUID_H__ */