https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a656b574eae4e961281c…
commit 0a656b574eae4e961281cebf4d795f3fe3cb5d74
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Fri Sep 10 22:19:51 2021 -0400
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sat Sep 11 10:48:30 2021 -0400
[ACPICA] Update to version 20210730. CORE-17760
---
drivers/bus/acpi/acpica/dispatcher/dswexec.c | 2 +-
drivers/bus/acpi/acpica/include/acdisasm.h | 22 +++
drivers/bus/acpi/acpica/include/acnames.h | 1 +
drivers/bus/acpi/acpica/include/acoutput.h | 2 +-
drivers/bus/acpi/acpica/include/acpixf.h | 2 +-
drivers/bus/acpi/acpica/include/actbinfo.h | 15 +++
drivers/bus/acpi/acpica/include/actbl1.h | 16 ++-
drivers/bus/acpi/acpica/include/actbl2.h | 194 +++++++++++++++++++++++++++
drivers/bus/acpi/acpica/include/actbl3.h | 6 +
media/doc/3rd Party Files.txt | 2 +-
10 files changed, 257 insertions(+), 5 deletions(-)
diff --git a/drivers/bus/acpi/acpica/dispatcher/dswexec.c
b/drivers/bus/acpi/acpica/dispatcher/dswexec.c
index 4e02f9d3639..f87fdece142 100644
--- a/drivers/bus/acpi/acpica/dispatcher/dswexec.c
+++ b/drivers/bus/acpi/acpica/dispatcher/dswexec.c
@@ -629,7 +629,7 @@ AcpiDsExecEndOp (
if (ACPI_SUCCESS (Status))
{
Status = AcpiExWriteDataToField (ObjDesc, Op->Common.Node->Object,
NULL);
- if ACPI_FAILURE (Status)
+ if (ACPI_FAILURE (Status))
{
ACPI_EXCEPTION ((AE_INFO, Status, "While writing to buffer
field"));
}
diff --git a/drivers/bus/acpi/acpica/include/acdisasm.h
b/drivers/bus/acpi/acpica/include/acdisasm.h
index 836562323b3..a27e667ed33 100644
--- a/drivers/bus/acpi/acpica/include/acdisasm.h
+++ b/drivers/bus/acpi/acpica/include/acdisasm.h
@@ -142,6 +142,12 @@ typedef enum
/* Types that are specific to particular ACPI tables */
+ ACPI_DMT_AEST,
+ ACPI_DMT_AEST_CACHE,
+ ACPI_DMT_AEST_GIC,
+ ACPI_DMT_AEST_RES,
+ ACPI_DMT_AEST_XFACE,
+ ACPI_DMT_AEST_XRUPT,
ACPI_DMT_ASF,
ACPI_DMT_CEDT,
ACPI_DMT_DMAR,
@@ -175,6 +181,7 @@ typedef enum
ACPI_DMT_SRAT,
ACPI_DMT_TPM2,
ACPI_DMT_VIOT,
+ ACPI_DMT_WPBT_UNICODE,
/* Special opcodes */
@@ -252,6 +259,17 @@ extern const char *AcpiGbl_AccessTypes[];
extern const char *AcpiGbl_UpdateRules[];
extern const char *AcpiGbl_MatchOps[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProcError[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestCacheRsrc[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestTlbRsrc[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGenRsrc[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
@@ -573,6 +591,10 @@ AcpiDmDumpUnicode (
UINT32 BufferOffset,
UINT32 ByteLength);
+void
+AcpiDmDumpAest (
+ ACPI_TABLE_HEADER *Table);
+
void
AcpiDmDumpAsf (
ACPI_TABLE_HEADER *Table);
diff --git a/drivers/bus/acpi/acpica/include/acnames.h
b/drivers/bus/acpi/acpica/include/acnames.h
index 1eb43359967..bd5f21b7e9d 100644
--- a/drivers/bus/acpi/acpica/include/acnames.h
+++ b/drivers/bus/acpi/acpica/include/acnames.h
@@ -54,6 +54,7 @@
#define METHOD_NAME__CLS "_CLS"
#define METHOD_NAME__CRS "_CRS"
#define METHOD_NAME__DDN "_DDN"
+#define METHOD_NAME__DIS "_DIS"
#define METHOD_NAME__DMA "_DMA"
#define METHOD_NAME__HID "_HID"
#define METHOD_NAME__INI "_INI"
diff --git a/drivers/bus/acpi/acpica/include/acoutput.h
b/drivers/bus/acpi/acpica/include/acoutput.h
index bb204c0b3ec..5bc924388bd 100644
--- a/drivers/bus/acpi/acpica/include/acoutput.h
+++ b/drivers/bus/acpi/acpica/include/acoutput.h
@@ -453,7 +453,7 @@
/* Conditional execution */
#define ACPI_DEBUG_EXEC(a) a
-#define ACPI_DEBUG_ONLY_MEMBERS(a) a;
+#define ACPI_DEBUG_ONLY_MEMBERS(a) a
#define _VERBOSE_STRUCTURES
diff --git a/drivers/bus/acpi/acpica/include/acpixf.h
b/drivers/bus/acpi/acpica/include/acpixf.h
index 5fe93ee8522..06571ffef89 100644
--- a/drivers/bus/acpi/acpica/include/acpixf.h
+++ b/drivers/bus/acpi/acpica/include/acpixf.h
@@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20210604
+#define ACPI_CA_VERSION 0x20210730
#include "acconfig.h"
#include "actypes.h"
diff --git a/drivers/bus/acpi/acpica/include/actbinfo.h
b/drivers/bus/acpi/acpica/include/actbinfo.h
index d244e1a99d8..7cf0965e015 100644
--- a/drivers/bus/acpi/acpica/include/actbinfo.h
+++ b/drivers/bus/acpi/acpica/include/actbinfo.h
@@ -97,11 +97,23 @@
#define ACPI_WDDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDDT,f)
#define ACPI_WDRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDRT,f)
#define ACPI_WPBT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WPBT,f)
+#define ACPI_WPBT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WPBT_UNICODE,f)
#define ACPI_WSMT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WSMT,f)
#define ACPI_XENV_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_XENV,f)
/* Subtables */
+#define ACPI_AESTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_HEADER,f)
+#define ACPI_AEST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR,f)
+#define ACPI_AEST0A_OFFSET(f) (UINT16) ACPI_OFFSET
(ACPI_AEST_PROCESSOR_CACHE,f)
+#define ACPI_AEST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR_TLB,f)
+#define ACPI_AEST0C_OFFSET(f) (UINT16) ACPI_OFFSET
(ACPI_AEST_PROCESSOR_GENERIC,f)
+#define ACPI_AEST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_MEMORY,f)
+#define ACPI_AEST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_SMMU,f)
+#define ACPI_AEST3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_VENDOR,f)
+#define ACPI_AEST4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_GIC,f)
+#define ACPI_AEST0D_OFFSET(f) (UINT16) ACPI_OFFSET
(ACPI_AEST_NODE_INTERFACE,f)
+#define ACPI_AEST0E_OFFSET(f) (UINT16) ACPI_OFFSET
(ACPI_AEST_NODE_INTERRUPT,f)
#define ACPI_ASF0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_INFO,f)
#define ACPI_ASF1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT,f)
#define ACPI_ASF1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT_DATA,f)
@@ -271,6 +283,9 @@
/* Flags */
+#define ACPI_AEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_PROCESSOR,f,o)
+#define ACPI_AEST0D_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERFACE,f,o)
+#define ACPI_AEST0E_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERRUPT,f,o)
#define ACPI_BGRT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_BGRT,f,o)
#define ACPI_DRTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_DRTM,f,o)
#define ACPI_DRTM1a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_DRTM_RESOURCE,f,o)
diff --git a/drivers/bus/acpi/acpica/include/actbl1.h
b/drivers/bus/acpi/acpica/include/actbl1.h
index 420189eb472..401dc6a9ada 100644
--- a/drivers/bus/acpi/acpica/include/actbl1.h
+++ b/drivers/bus/acpi/acpica/include/actbl1.h
@@ -60,6 +60,7 @@
* file. Useful because they make it more difficult to inadvertently type in
* the wrong signature.
*/
+#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
@@ -593,7 +594,7 @@ typedef struct acpi_csrt_descriptor
* DBG2 - Debug Port Table 2
* Version 0 (Both main table and subtables)
*
- * Conforms to "Microsoft Debug Port Table 2 (DBG2)", December 10, 2015
+ * Conforms to "Microsoft Debug Port Table 2 (DBG2)", September 21, 2020
*
******************************************************************************/
@@ -650,11 +651,24 @@ typedef struct acpi_dbg2_device
#define ACPI_DBG2_16550_COMPATIBLE 0x0000
#define ACPI_DBG2_16550_SUBSET 0x0001
+#define ACPI_DBG2_MAX311XE_SPI 0x0002
#define ACPI_DBG2_ARM_PL011 0x0003
+#define ACPI_DBG2_MSM8X60 0x0004
+#define ACPI_DBG2_16550_NVIDIA 0x0005
+#define ACPI_DBG2_TI_OMAP 0x0006
+#define ACPI_DBG2_APM88XXXX 0x0008
+#define ACPI_DBG2_MSM8974 0x0009
+#define ACPI_DBG2_SAM5250 0x000A
+#define ACPI_DBG2_INTEL_USIF 0x000B
+#define ACPI_DBG2_IMX6 0x000C
#define ACPI_DBG2_ARM_SBSA_32BIT 0x000D
#define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E
#define ACPI_DBG2_ARM_DCC 0x000F
#define ACPI_DBG2_BCM2835 0x0010
+#define ACPI_DBG2_SDM845_1_8432MHZ 0x0011
+#define ACPI_DBG2_16550_WITH_GAS 0x0012
+#define ACPI_DBG2_SDM845_7_372MHZ 0x0013
+#define ACPI_DBG2_INTEL_LPSS 0x0014
#define ACPI_DBG2_1394_STANDARD 0x0000
diff --git a/drivers/bus/acpi/acpica/include/actbl2.h
b/drivers/bus/acpi/acpica/include/actbl2.h
index 36feac98974..92325864f29 100644
--- a/drivers/bus/acpi/acpica/include/actbl2.h
+++ b/drivers/bus/acpi/acpica/include/actbl2.h
@@ -105,6 +105,193 @@
*/
+/*******************************************************************************
+ *
+ * AEST - Arm Error Source Table
+ *
+ * Conforms to: ACPI for the Armv8 RAS Extensions 1.1 Platform Design Document
+ * September 2020.
+ *
+ ******************************************************************************/
+
+typedef struct acpi_table_aest
+{
+ ACPI_TABLE_HEADER Header;
+ void *NodeArray[];
+
+} ACPI_TABLE_AEST;
+
+/* Common Subtable header - one per Node Structure (Subtable) */
+
+typedef struct acpi_aest_hdr
+{
+ UINT8 Type;
+ UINT16 Length;
+ UINT8 Reserved;
+ UINT32 NodeSpecificOffset;
+ UINT32 NodeInterfaceOffset;
+ UINT32 NodeInterruptOffset;
+ UINT32 NodeInterruptCount;
+ UINT64 TimestampRate;
+ UINT64 Reserved1;
+ UINT64 ErrorInjectionRate;
+
+} ACPI_AEST_HEADER;
+
+/* Values for Type above */
+
+#define ACPI_AEST_PROCESSOR_ERROR_NODE 0
+#define ACPI_AEST_MEMORY_ERROR_NODE 1
+#define ACPI_AEST_SMMU_ERROR_NODE 2
+#define ACPI_AEST_VENDOR_ERROR_NODE 3
+#define ACPI_AEST_GIC_ERROR_NODE 4
+#define ACPI_AEST_NODE_TYPE_RESERVED 5 /* 5 and above are reserved */
+
+
+/*
+ * AEST subtables (Error nodes)
+ */
+
+/* 0: Processor Error */
+
+typedef struct acpi_aest_processor
+{
+ UINT32 ProcessorId;
+ UINT8 ResourceType;
+ UINT8 Reserved;
+ UINT8 Flags;
+ UINT8 Revision;
+ UINT64 ProcessorAffinity;
+
+} ACPI_AEST_PROCESSOR;
+
+/* Values for ResourceType above, related structs below */
+
+#define ACPI_AEST_CACHE_RESOURCE 0
+#define ACPI_AEST_TLB_RESOURCE 1
+#define ACPI_AEST_GENERIC_RESOURCE 2
+#define ACPI_AEST_RESOURCE_RESERVED 3 /* 3 and above are reserved */
+
+/* 0R: Processor Cache Resource Substructure */
+
+typedef struct acpi_aest_processor_cache
+{
+ UINT32 CacheReference;
+ UINT32 Reserved;
+
+} ACPI_AEST_PROCESSOR_CACHE;
+
+/* Values for CacheType above */
+
+#define ACPI_AEST_CACHE_DATA 0
+#define ACPI_AEST_CACHE_INSTRUCTION 1
+#define ACPI_AEST_CACHE_UNIFIED 2
+#define ACPI_AEST_CACHE_RESERVED 3 /* 3 and above are reserved */
+
+/* 1R: Processor TLB Resource Substructure */
+
+typedef struct acpi_aest_processor_tlb
+{
+ UINT32 TlbLevel;
+ UINT32 Reserved;
+
+} ACPI_AEST_PROCESSOR_TLB;
+
+/* 2R: Processor Generic Resource Substructure */
+
+typedef struct acpi_aest_processor_generic
+{
+ UINT8 *Resource;
+
+} ACPI_AEST_PROCESSOR_GENERIC;
+
+/* 1: Memory Error */
+
+typedef struct acpi_aest_memory
+{
+ UINT32 SratProximityDomain;
+
+} ACPI_AEST_MEMORY;
+
+/* 2: Smmu Error */
+
+typedef struct acpi_aest_smmu
+{
+ UINT32 IortNodeReference;
+ UINT32 SubcomponentReference;
+
+} ACPI_AEST_SMMU;
+
+/* 3: Vendor Defined */
+
+typedef struct acpi_aest_vendor
+{
+ UINT32 AcpiHid;
+ UINT32 AcpiUid;
+ UINT8 VendorSpecificData[16];
+
+} ACPI_AEST_VENDOR;
+
+/* 4: Gic Error */
+
+typedef struct acpi_aest_gic
+{
+ UINT32 InterfaceType;
+ UINT32 InstanceId;
+
+} ACPI_AEST_GIC;
+
+/* Values for InterfaceType above */
+
+#define ACPI_AEST_GIC_CPU 0
+#define ACPI_AEST_GIC_DISTRIBUTOR 1
+#define ACPI_AEST_GIC_REDISTRIBUTOR 2
+#define ACPI_AEST_GIC_ITS 3
+#define ACPI_AEST_GIC_RESERVED 4 /* 4 and above are reserved */
+
+
+/* Node Interface Structure */
+
+typedef struct acpi_aest_node_interface
+{
+ UINT8 Type;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT64 Address;
+ UINT32 ErrorRecordIndex;
+ UINT32 ErrorRecordCount;
+ UINT64 ErrorRecordImplemented;
+ UINT64 ErrorStatusReporting;
+ UINT64 AddressingMode;
+
+} ACPI_AEST_NODE_INTERFACE;
+
+/* Values for Type field above */
+
+#define ACPI_AEST_NODE_SYSTEM_REGISTER 0
+#define ACPI_AEST_NODE_MEMORY_MAPPED 1
+#define ACPI_AEST_XFACE_RESERVED 2 /* 2 and above are reserved */
+
+/* Node Interrupt Structure */
+
+typedef struct acpi_aest_node_interrupt
+{
+ UINT8 Type;
+ UINT8 Reserved[2];
+ UINT8 Flags;
+ UINT32 Gsiv;
+ UINT8 IortId;
+ UINT8 Reserved1[3];
+
+} ACPI_AEST_NODE_INTERRUPT;
+
+/* Values for Type field above */
+
+#define ACPI_AEST_NODE_FAULT_HANDLING 0
+#define ACPI_AEST_NODE_ERROR_RECOVERY 1
+#define ACPI_AEST_XRUPT_RESERVED 2 /* 2 and above are reserved */
+
+
/*******************************************************************************
*
* BDAT - BIOS Data ACPI Table
@@ -2055,6 +2242,13 @@ typedef struct acpi_table_prmt_header
} ACPI_TABLE_PRMT_HEADER;
+typedef struct acpi_prmt_module_header
+{
+ UINT16 Revision;
+ UINT16 Length;
+
+} ACPI_PRMT_MODULE_HEADER;
+
typedef struct acpi_prmt_module_info
{
UINT16 Revision;
diff --git a/drivers/bus/acpi/acpica/include/actbl3.h
b/drivers/bus/acpi/acpica/include/actbl3.h
index 2ea9415540e..00a87c81f46 100644
--- a/drivers/bus/acpi/acpica/include/actbl3.h
+++ b/drivers/bus/acpi/acpica/include/actbl3.h
@@ -847,6 +847,12 @@ typedef struct acpi_table_wpbt
} ACPI_TABLE_WPBT;
+typedef struct acpi_wpbt_unicode
+{
+ UINT16 *UnicodeString;
+
+} ACPI_WPBT_UNICODE;
+
/*******************************************************************************
*
diff --git a/media/doc/3rd Party Files.txt b/media/doc/3rd Party Files.txt
index 81d8e7a844b..392a38fffd3 100644
--- a/media/doc/3rd Party Files.txt
+++ b/media/doc/3rd Party Files.txt
@@ -69,7 +69,7 @@ URL:
https://gitlab.freedesktop.org/mesa/glu,
ftp://ftp.freedesktop.org/pub/mesa
Title: ACPICA
Path: drivers/bus/acpi/acpica
-Used Version: 20210604
+Used Version: 20210730
License: GPL-2.0 (
https://spdx.org/licenses/GPL-2.0.html)
URL:
https://acpica.org/