https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a656b574eae4e961281cebf4d795f3fe3cb5d74

commit 0a656b574eae4e961281cebf4d795f3fe3cb5d74
Author:     Thomas Faber <[email protected]>
AuthorDate: Fri Sep 10 22:19:51 2021 -0400
Commit:     Thomas Faber <[email protected]>
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/
 

Reply via email to