svn commit: r366539 - in vendor-sys/acpica/dist: . generate/release source/common source/compiler source/components/debugger source/components/disassembler source/components/events source/component...

Jung-uk Kim jkim at FreeBSD.org
Thu Oct 8 16:44:34 UTC 2020


Author: jkim
Date: Thu Oct  8 16:44:28 2020
New Revision: 366539
URL: https://svnweb.freebsd.org/changeset/base/366539

Log:
  Import ACPICA 20200925.

Modified:
  vendor-sys/acpica/dist/changes.txt
  vendor-sys/acpica/dist/generate/release/build.sh
  vendor-sys/acpica/dist/generate/release/release.sh
  vendor-sys/acpica/dist/source/common/ahpredef.c
  vendor-sys/acpica/dist/source/common/ahuuids.c
  vendor-sys/acpica/dist/source/common/dmtbinfo1.c
  vendor-sys/acpica/dist/source/compiler/aslcompiler.l
  vendor-sys/acpica/dist/source/compiler/aslload.c
  vendor-sys/acpica/dist/source/compiler/aslmessages.c
  vendor-sys/acpica/dist/source/compiler/aslmessages.h
  vendor-sys/acpica/dist/source/compiler/aslparseop.c
  vendor-sys/acpica/dist/source/compiler/aslprepkg.c
  vendor-sys/acpica/dist/source/compiler/aslutils.c
  vendor-sys/acpica/dist/source/compiler/aslxref.c
  vendor-sys/acpica/dist/source/components/debugger/dbexec.c
  vendor-sys/acpica/dist/source/components/debugger/dbinput.c
  vendor-sys/acpica/dist/source/components/debugger/dbmethod.c
  vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c
  vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c
  vendor-sys/acpica/dist/source/components/events/evrgnini.c
  vendor-sys/acpica/dist/source/components/executer/exregion.c
  vendor-sys/acpica/dist/source/components/namespace/nsalloc.c
  vendor-sys/acpica/dist/source/components/namespace/nsarguments.c
  vendor-sys/acpica/dist/source/components/namespace/nsxfobj.c
  vendor-sys/acpica/dist/source/components/parser/psparse.c
  vendor-sys/acpica/dist/source/components/utilities/utpredef.c
  vendor-sys/acpica/dist/source/components/utilities/utstrsuppt.c
  vendor-sys/acpica/dist/source/include/acconfig.h
  vendor-sys/acpica/dist/source/include/acdebug.h
  vendor-sys/acpica/dist/source/include/acexcep.h
  vendor-sys/acpica/dist/source/include/acpixf.h
  vendor-sys/acpica/dist/source/include/acpredef.h
  vendor-sys/acpica/dist/source/include/actbl1.h
  vendor-sys/acpica/dist/source/include/actypes.h
  vendor-sys/acpica/dist/source/include/acuuid.h
  vendor-sys/acpica/dist/source/include/platform/aclinux.h
  vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c
  vendor-sys/acpica/dist/source/tools/acpiexec/aemain.c

Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/changes.txt	Thu Oct  8 16:44:28 2020	(r366539)
@@ -1,6 +1,80 @@
 ----------------------------------------
 
 
+25 September 2020. Summary of changes for version 20200925:
+
+This release is available at https://acpica.org/downloads
+
+
+1) ACPICA kernel-resident subsystem:
+
+Preserve memory opregion mappings. The ACPICA's strategy with respect to 
+the handling of memory mappings associated with memory operation regions 
+is to avoid mapping the entire region at once which may be problematic at 
+least in principle (for example, it may lead to conflicts with 
+overlapping mappings having different attributes created by drivers).  It 
+may also be wasteful, because memory opregions on some systems take up 
+vastchunks of address space while the fields in those regions actually 
+accessed by AML are sparsely distributed.
+
+For this reason, a one-page "window" is mapped for a given opregion on 
+the first memory access through it and if that "window" does not cover an 
+address range accessed through that opregion subsequently, it is unmapped 
+and a new "window" is mapped to replace it.  Next, if the new "window" is 
+not sufficient to access memory through the opregion in question in the 
+future, it will be replaced with yet another "window" and so on.  That 
+may lead to a suboptimal sequence of memory mapping and unmapping 
+operations, for example if two fields in one opregion separated from each 
+other by a sufficiently wide chunk of unused address space are accessed 
+in an alternating pattern.
+
+Added support for 64 bit risc-v compilation.  Useful for acpica tools and 
+incorporating ACPICA into the Firmware Test Suite. Colin Ian King 
+<colin.king at canonical.com>.
+
+Added support for SMBus predefined names (from SMBus Control Method 
+Interface Specification, Version 1.0, December 10, 1999. New predefined 
+names:
+    _SBA
+    _SBI
+    _SBR
+    _SBT
+    _SBW
+
+AML Disassembler: Added a new command, "All <NameSeg". This command will 
+evaluate all objects in the current namespace whose NameString contains 
+the input NameSeg as the last element of the NameString. Useful for 
+debugging.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools: 
+
+iASL: fixed a crash that occurred when predefined objects return packages 
+with lengths that exceed the initializer list.
+
+iASL: added more detail to external resolution error message when 
+compiling multiple definition blocks.
+
+iASL: improve alias analysis by saving object type. If the alias is a 
+method type, the parameter count is also recorded.
+
+AcpiExec: Increase the default loop timeout value. Was 1 second, is now 
+10 seconds. Prevents unnecessary timeouts when executing control methods 
+from the command line.
+
+AcpiHelp/disassembler: Added a bunch of "known" UUIDs to the internal 
+list. Includes:
+    Memory Device
+    Generic Buttons Device
+    NVDIMM Root Device
+    Control Method Battery
+    Device Graphs for _DSD method
+    Hierarchical Data Extension
+....ARM CoreSight Graph
+
+----------------------------------------
+
+
 17 July 2020. Summary of changes for version 20200717:
 
 This release is available at https://acpica.org/downloads
@@ -94,7 +168,7 @@ would need to be updated to match the same behavior as
 utility and since acpiexec can already dump the entire namespace (via the 
 'namespace' command), we no longer have the need to maintain acpinames.
 
-    In order to dump the contents of the ACPI namepsace using acpiexec, 
+    In order to dump the contents of the ACPI namespace using acpiexec,
 execute the following command from the command line:
 
         acpiexec -b "n" [aml files]
@@ -17606,7 +17680,7 @@ bypass the "implicit conversion" mechanism of the Stor
 The ACPI 2.0 semantics for the SizeOf operator are fully
 implemented.  The change is that performing a SizeOf on a
 reference object causes an automatic dereference of the object to
-tha actual value before the size is evaluated. This behavior was
+the actual value before the size is evaluated. This behavior was
 undefined in ACPI 1.0.
 
 The ACPI 2.0 semantics for the Extended IRQ resource descriptor

Modified: vendor-sys/acpica/dist/generate/release/build.sh
==============================================================================
--- vendor-sys/acpica/dist/generate/release/build.sh	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/generate/release/build.sh	Thu Oct  8 16:44:28 2020	(r366539)
@@ -455,7 +455,7 @@ cd ../..
 # Ensure that the temporary directory is created fresh
 #
 rm -rf $TEMP_DIR
-		
+
 #
 # Parameter evaluation
 #

Modified: vendor-sys/acpica/dist/generate/release/release.sh
==============================================================================
--- vendor-sys/acpica/dist/generate/release/release.sh	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/generate/release/release.sh	Thu Oct  8 16:44:28 2020	(r366539)
@@ -83,7 +83,7 @@ set -e		# Abort on any error
 if [ $NPARAM -gt 1 ]; then
 	usage "Wrong argument count ($NPARAM)"
 	exit 1
-	
+
 elif [ $NPARAM -eq 1 ]; then
 	if [ $1 == notest ]; then
 		BUILD_TESTS=0
@@ -131,7 +131,7 @@ if [ $BUILD_TESTS -eq 1 ]; then
 
 	bash build.sh test win
 	bash build.sh test unix
-	
+
 else
 	echo "**** Test suites not built because the notest option was used"
 fi

Modified: vendor-sys/acpica/dist/source/common/ahpredef.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/ahpredef.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/common/ahpredef.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -393,6 +393,11 @@ const AH_PREDEFINED_NAME    AslPredefinedInfo[] =
     AH_PREDEF ("_S3W",    "S3 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S3"),
     AH_PREDEF ("_S4W",    "S4 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S4"),
     AH_PREDEF ("_SB_",    "System Bus", "Predefined scope for device and bus objects"),
+    AH_PREDEF ("_SBA",    "SM Bus Alert information", "Returns info on an SMBus alert"),
+    AH_PREDEF ("_SBI",    "SM Bus General information", "Returns info on an SMBus segment"),
+    AH_PREDEF ("_SBR",    "SM Bus Data read", "Reads Byte, Word, or Block data from an SMBus segment"),
+    AH_PREDEF ("_SBT",    "SM Bus Data transfer", "Performs data transfer to/from an SMBus segment. Implements ProcessCall protocol"),
+    AH_PREDEF ("_SBW",    "SM Bus Data write", "Writes Byte, Word, or Block data to an SMBus segment"),
     AH_PREDEF ("_SBS",    "Smart Battery Subsystem", "Returns the subsystem configuration"),
     AH_PREDEF ("_SCP",    "Set Cooling Policy", "Sets the cooling policy (active or passive)"),
     AH_PREDEF ("_SDD",    "Set Device Data", "Sets data for a SATA device"),

Modified: vendor-sys/acpica/dist/source/common/ahuuids.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/ahuuids.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/common/ahuuids.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -171,6 +171,10 @@ const AH_UUID  Gbl_AcpiUuids[] =
     {"PCI Host Bridge Device",      UUID_PCI_HOST_BRIDGE},
     {"HID I2C Device",              UUID_I2C_DEVICE},
     {"Power Button Device",         UUID_POWER_BUTTON},
+    {"Memory Device",               UUID_MEMORY_DEVICE},
+    {"Generic Buttons Device",      UUID_GENERIC_BUTTONS_DEVICE},
+    {"NVDIMM Root Device",          UUID_NVDIMM_ROOT_DEVICE},
+    {"Control Method Battery",      UUID_CONTROL_METHOD_BATTERY},
 
     {"[Interfaces]",                NULL},
     {"Device Labeling Interface",   UUID_DEVICE_LABELING},
@@ -196,7 +200,9 @@ const AH_UUID  Gbl_AcpiUuids[] =
     {"Battery Thermal Limit",       UUID_BATTERY_THERMAL_LIMIT},
     {"Thermal Extensions",          UUID_THERMAL_EXTENSIONS},
     {"Device Properties for _DSD",  UUID_DEVICE_PROPERTIES},
-
+    {"Device Graphs for _DSD",      UUID_DEVICE_GRAPHS},
+    {"Hierarchical Data Extension", UUID_HIERARCHICAL_DATA_EXTENSION},
+    {"ARM Coresight Graph",         UUID_CORESIGHT_GRAPH},
     {NULL, NULL}
 };
 

Modified: vendor-sys/acpica/dist/source/common/dmtbinfo1.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbinfo1.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/common/dmtbinfo1.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -1121,7 +1121,7 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoHmat0[] =
     {ACPI_DMT_UINT16,   ACPI_HMAT0_OFFSET (Flags),                  "Flags (decoded below)", 0},
     {ACPI_DMT_FLAG0,    ACPI_HMAT0_FLAG_OFFSET (Flags,0),           "Processor Proximity Domain Valid", 0},
     {ACPI_DMT_UINT16,   ACPI_HMAT0_OFFSET (Reserved1),              "Reserved1", 0},
-    {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (ProcessorPD),            "Processor Proximity Domain", 0},
+    {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (InitiatorPD),            "Attached Initiator Proximity Domain", 0},
     {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (MemoryPD),               "Memory Proximity Domain", 0},
     {ACPI_DMT_UINT32,   ACPI_HMAT0_OFFSET (Reserved2),              "Reserved2", 0},
     {ACPI_DMT_UINT64,   ACPI_HMAT0_OFFSET (Reserved3),              "Reserved3", 0},

Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.l
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslcompiler.l	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslcompiler.l	Thu Oct  8 16:44:28 2020	(r366539)
@@ -279,8 +279,8 @@ NamePathTail                [.]{NameSeg}
     /*
      * Begin standard ASL grammar
      */
-[0-9][a-zA-Z0-9]*            { AslCompilerlval.i = UtDoConstant ((char *) AslCompilertext);
-                                count (1); return (PARSEOP_INTEGER); }
+[0-9][a-zA-Z0-9]*            { count (1); AslCompilerlval.i = UtDoConstant ((char *) AslCompilertext);
+                                 return (PARSEOP_INTEGER); }
 
 "Include"                   { count (1); return (PARSEOP_INCLUDE); }
 "External"                  { count (1); return (PARSEOP_EXTERNAL); }
@@ -841,7 +841,6 @@ NamePathTail                [.]{NameSeg}
                                      * the required length.
                                      */
                                     strcpy (s, "____");
-                                    AcpiUtStrupr (AslCompilertext);
                                 }
                                 memcpy (s, AslCompilertext, strlen (AslCompilertext));
                                 AslCompilerlval.s = s;
@@ -851,7 +850,6 @@ NamePathTail                [.]{NameSeg}
 {NameString}                { char *s;
                                 count (0);
                                 s=UtLocalCacheCalloc (strlen (AslCompilertext)+1);
-                                AcpiUtStrupr (AslCompilertext);
                                 strcpy (s, AslCompilertext);
                                 AslCompilerlval.s = s;
                                 DbgPrint (ASL_PARSE_OUTPUT, "NameString: %s\n", s);

Modified: vendor-sys/acpica/dist/source/compiler/aslload.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslload.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslload.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -1404,9 +1404,16 @@ LdNamespace2Begin (
             return (AE_OK);
         }
 
-        /* Save the target node within the alias node */
+        /* Save the target node within the alias node as well as type information */
 
         Node->Object = ACPI_CAST_PTR (ACPI_OPERAND_OBJECT, TargetNode);
+        Node->Type = TargetNode->Type;
+        if (Node->Type == ACPI_TYPE_METHOD)
+        {
+            /* Save the parameter count for methods */
+
+            Node->Value = TargetNode->Value;
+        }
     }
 
     return (AE_OK);

Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmessages.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslmessages.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -381,6 +381,9 @@ const char                      *AslCompilerMsgs [] =
 /*    ASL_MSG_DUPLICATE_EXTERN_MISMATCH */  "Type mismatch between multiple external declarations detected",
 /*    ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE */"Duplicate external declaration:",
 /*    ASL_MSG_CONDREF_NEEDS_EXTERNAL_DECL */"CondRefOf parameter requires External() declaration",
+/*    ASL_MSG_EXTERNAL_FOUND_HERE */        "External declaration below ",
+/*    ASL_MSG_LOWER_CASE_NAMESEG */         "At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case",
+/*    ASL_MSG_LOWER_CASE_NAMEPATH */        "At least one lower case letter found in NamePath, ASL is case insensitive - converting to upper case",
 };
 
 /* Table compiler */

Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.h
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmessages.h	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslmessages.h	Thu Oct  8 16:44:28 2020	(r366539)
@@ -383,6 +383,9 @@ typedef enum
     ASL_MSG_DUPLICATE_EXTERN_MISMATCH,
     ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE,
     ASL_MSG_CONDREF_NEEDS_EXTERNAL_DECL,
+    ASL_MSG_EXTERNAL_FOUND_HERE,
+    ASL_MSG_LOWER_CASE_NAMESEG,
+    ASL_MSG_LOWER_CASE_NAMEPATH,
 
 
     /* These messages are used by the Data Table compiler only */

Modified: vendor-sys/acpica/dist/source/compiler/aslparseop.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslparseop.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslparseop.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -388,6 +388,8 @@ TrCreateValuedLeafOp (
     UINT64                  Value)
 {
     ACPI_PARSE_OBJECT       *Op;
+    UINT32                  i;
+    char                    *StringPtr = NULL;
 
 
     Op = TrAllocateOp (ParseOpcode);
@@ -408,11 +410,35 @@ TrCreateValuedLeafOp (
 
     case PARSEOP_NAMESEG:
 
+        /* Check for mixed case (or all lower case). Issue a remark in this case */
+
+        for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
+        {
+            if (islower (Op->Asl.Value.Name[i]))
+            {
+                AcpiUtStrupr (&Op->Asl.Value.Name[i]);
+                AslError (ASL_REMARK, ASL_MSG_LOWER_CASE_NAMESEG, Op, Op->Asl.Value.Name);
+                break;
+            }
+        }
         DbgPrint (ASL_PARSE_OUTPUT, "NAMESEG->%s", Op->Asl.Value.String);
         break;
 
     case PARSEOP_NAMESTRING:
 
+        /* Check for mixed case (or all lower case). Issue a remark in this case */
+
+        StringPtr = Op->Asl.Value.Name;
+        for (i = 0; *StringPtr; i++)
+        {
+            if (islower (*StringPtr))
+            {
+                AcpiUtStrupr (&Op->Asl.Value.Name[i]);
+                AslError (ASL_REMARK, ASL_MSG_LOWER_CASE_NAMEPATH, Op, Op->Asl.Value.Name);
+                break;
+            }
+            StringPtr++;
+        }
         DbgPrint (ASL_PARSE_OUTPUT, "NAMESTRING->%s", Op->Asl.Value.String);
         break;
 

Modified: vendor-sys/acpica/dist/source/compiler/aslprepkg.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslprepkg.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslprepkg.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -318,6 +318,17 @@ ApCheckPackage (
          */
         for (i = 0; i < Count; i++)
         {
+            if (!Op)
+            {
+                /*
+                 * If we get to this point, it means that the package length
+                 * is larger than the initializer list. Stop processing the
+                 * package and return because we have run out of package
+                 * elements to analyze.
+                 */
+                return;
+            }
+
             ApCheckObjectType (Predefined->Info.Name, Op,
                 Package->RetInfo.ObjectType1, i);
             Op = Op->Asl.Next;
@@ -917,7 +928,7 @@ ApPackageTooSmall (
     UINT32                      ExpectedCount)
 {
 
-    sprintf (AslGbl_MsgBuffer, "%s: length %u, required minimum is %u",
+    sprintf (AslGbl_MsgBuffer, "%4.4s: length %u, required minimum is %u",
         PredefinedName, Count, ExpectedCount);
 
     AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH, Op, AslGbl_MsgBuffer);
@@ -946,7 +957,7 @@ ApZeroLengthPackage (
     ACPI_PARSE_OBJECT           *Op)
 {
 
-    sprintf (AslGbl_MsgBuffer, "%s: length is zero", PredefinedName);
+    sprintf (AslGbl_MsgBuffer, "%4.4s: length is zero", PredefinedName);
 
     AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH, Op, AslGbl_MsgBuffer);
 }
@@ -975,7 +986,7 @@ ApPackageTooLarge (
     UINT32                      ExpectedCount)
 {
 
-    sprintf (AslGbl_MsgBuffer, "%s: length is %u, only %u required",
+    sprintf (AslGbl_MsgBuffer, "%4.4s: length is %u, only %u required",
         PredefinedName, Count, ExpectedCount);
 
     AslError (ASL_REMARK, ASL_MSG_RESERVED_PACKAGE_LENGTH, Op, AslGbl_MsgBuffer);

Modified: vendor-sys/acpica/dist/source/compiler/aslutils.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslutils.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslutils.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -1074,14 +1074,16 @@ UtDoConstant (
 {
     ACPI_STATUS             Status;
     UINT64                  ConvertedInteger;
-    char                    ErrBuf[64];
+    char                    ErrBuf[128];
+    const ACPI_EXCEPTION_INFO *ExceptionInfo;
 
 
     Status = AcpiUtStrtoul64 (String, &ConvertedInteger);
     if (ACPI_FAILURE (Status))
     {
-        sprintf (ErrBuf, "While creating 64-bit constant: %s\n",
-            AcpiFormatException (Status));
+        ExceptionInfo = AcpiUtValidateException ((ACPI_STATUS) Status);
+        sprintf (ErrBuf, " %s while converting to 64-bit integer",
+            ExceptionInfo->Description);
 
         AslCommonError (ASL_ERROR, ASL_MSG_SYNTAX, AslGbl_CurrentLineNumber,
             AslGbl_LogicalLineNumber, AslGbl_CurrentLineOffset,

Modified: vendor-sys/acpica/dist/source/compiler/aslxref.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslxref.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/compiler/aslxref.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -433,6 +433,7 @@ XfNamespaceLocateBegin (
     UINT32                  i;
     ACPI_NAMESPACE_NODE     *DeclarationParentMethod;
     ACPI_PARSE_OBJECT       *ReferenceParentMethod;
+    char                    *ExternalPath;
 
 
     ACPI_FUNCTION_TRACE_PTR (XfNamespaceLocateBegin, Op);
@@ -1263,7 +1264,15 @@ XfNamespaceLocateBegin (
         Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_CONDREFOF &&
         !XfRefIsGuardedByIfCondRefOf (Node, Op))
     {
-        AslError (ASL_ERROR, ASL_MSG_UNDEFINED_EXTERNAL, Op, NULL);
+        ExternalPath = AcpiNsGetNormalizedPathname (Node, TRUE);
+        sprintf (AslGbl_MsgBuffer, "full path of external object: %s",
+            ExternalPath);
+        AslDualParseOpError (ASL_ERROR, ASL_MSG_UNDEFINED_EXTERNAL, Op, NULL,
+            ASL_MSG_EXTERNAL_FOUND_HERE, Node->Op, AslGbl_MsgBuffer);
+        if (ExternalPath)
+        {
+            ACPI_FREE (ExternalPath);
+        }
     }
 
     /* 5) Check for a connection object */

Modified: vendor-sys/acpica/dist/source/components/debugger/dbexec.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/debugger/dbexec.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/debugger/dbexec.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -252,7 +252,8 @@ AcpiDbDeleteObjects (
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Execute a control method.
+ * DESCRIPTION: Execute a control method. Used to evaluate objects via the
+ *              "EXECUTE" or "EVALUATE" commands.
  *
  ******************************************************************************/
 
@@ -504,11 +505,12 @@ AcpiDbExecutionWalk (
 
     Status = AcpiEvaluateObject (Node, NULL, NULL, &ReturnObj);
 
+    AcpiGbl_MethodExecuting = FALSE;
+
     AcpiOsPrintf ("Evaluation of [%4.4s] returned %s\n",
         AcpiUtGetNodeName (Node),
         AcpiFormatException (Status));
 
-    AcpiGbl_MethodExecuting = FALSE;
     return (AE_OK);
 }
 
@@ -525,7 +527,8 @@ AcpiDbExecutionWalk (
  * RETURN:      None
  *
  * DESCRIPTION: Execute a control method. Name is relative to the current
- *              scope.
+ *              scope. Function used for the "EXECUTE", "EVALUATE", and
+ *              "ALL" commands
  *
  ******************************************************************************/
 
@@ -569,6 +572,12 @@ AcpiDbExecute (
         return;
     }
 
+    if ((Flags & EX_ALL) && (strlen (Name) > 4))
+    {
+        AcpiOsPrintf ("Input name (%s) must be a 4-char NameSeg\n", Name);
+        return;
+    }
+
     NameString = ACPI_ALLOCATE (strlen (Name) + 1);
     if (!NameString)
     {
@@ -588,14 +597,28 @@ AcpiDbExecute (
         return;
     }
 
-    AcpiGbl_DbMethodInfo.Name = NameString;
-    AcpiGbl_DbMethodInfo.Args = Args;
-    AcpiGbl_DbMethodInfo.Types = Types;
-    AcpiGbl_DbMethodInfo.Flags = Flags;
+    /* Command (ALL <nameseg>) to execute all methods of a particular name */
 
-    ReturnObj.Pointer = NULL;
-    ReturnObj.Length = ACPI_ALLOCATE_BUFFER;
+    else if (Flags & EX_ALL)
+    {
+        AcpiGbl_DbMethodInfo.Name = NameString;
+        ReturnObj.Pointer = NULL;
+        ReturnObj.Length = ACPI_ALLOCATE_BUFFER;
+        AcpiDbEvaluateAll (NameString);
+        ACPI_FREE (NameString);
+        return;
+    }
+    else
+    {
+        AcpiGbl_DbMethodInfo.Name = NameString;
+        AcpiGbl_DbMethodInfo.Args = Args;
+        AcpiGbl_DbMethodInfo.Types = Types;
+        AcpiGbl_DbMethodInfo.Flags = Flags;
 
+        ReturnObj.Pointer = NULL;
+        ReturnObj.Length = ACPI_ALLOCATE_BUFFER;
+    }
+
     Status = AcpiDbExecuteSetup (&AcpiGbl_DbMethodInfo);
     if (ACPI_FAILURE (Status))
     {
@@ -655,6 +678,7 @@ AcpiDbExecute (
                 (UINT32) ReturnObj.Length);
 
             AcpiDbDumpExternalObject (ReturnObj.Pointer, 1);
+            AcpiOsPrintf ("\n");
 
             /* Dump a _PLD buffer if present */
 

Modified: vendor-sys/acpica/dist/source/components/debugger/dbinput.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/debugger/dbinput.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/debugger/dbinput.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -195,6 +195,7 @@ enum AcpiExDebuggerCommands
 {
     CMD_NOT_FOUND = 0,
     CMD_NULL,
+    CMD_ALL,
     CMD_ALLOCATIONS,
     CMD_ARGS,
     CMD_ARGUMENTS,
@@ -275,6 +276,7 @@ static const ACPI_DB_COMMAND_INFO   AcpiGbl_DbCommands
 {
     {"<NOT FOUND>",  0},
     {"<NULL>",       0},
+    {"ALL",          1},
     {"ALLOCATIONS",  0},
     {"ARGS",         0},
     {"ARGUMENTS",    0},
@@ -377,6 +379,7 @@ static const ACPI_DB_COMMAND_HELP   AcpiGbl_DbCommandH
     {1, "  Type <Object>",                      "Display object type\n"},
 
     {0, "\nControl Method Execution:",          "\n"},
+    {1, "  All <NameSeg>",                      "Evaluate all objects named NameSeg\n"},
     {1, "  Evaluate <Namepath> [Arguments]",    "Evaluate object or control method\n"},
     {1, "  Execute <Namepath> [Arguments]",     "Synonym for Evaluate\n"},
 #ifdef ACPI_APPLICATION
@@ -599,7 +602,7 @@ AcpiDbDisplayHelp (
     }
     else
     {
-        /* Display help for all commands that match the subtring */
+        /* Display help for all commands that match the substring */
 
         AcpiDbDisplayCommandInfo (Command, TRUE);
     }
@@ -945,6 +948,13 @@ AcpiDbCommandDispatch (
         {
             return (AE_OK);
         }
+        break;
+
+    case CMD_ALL:
+
+        AcpiOsPrintf ("Executing all objects with NameSeg: %s\n", AcpiGbl_DbArgs[1]);
+        AcpiDbExecute (AcpiGbl_DbArgs[1],
+            &AcpiGbl_DbArgs[2], &AcpiGbl_DbArgTypes[2], EX_NO_SINGLE_STEP | EX_ALL);
         break;
 
     case CMD_ALLOCATIONS:

Modified: vendor-sys/acpica/dist/source/components/debugger/dbmethod.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/debugger/dbmethod.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/debugger/dbmethod.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -170,7 +170,11 @@ AcpiDbWalkForExecute (
     void                    *Context,
     void                    **ReturnValue);
 
+static ACPI_STATUS
+AcpiDbEvaluateObject (
+    ACPI_NAMESPACE_NODE     *Node);
 
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiDbSetMethodBreakpoint
@@ -542,47 +546,30 @@ AcpiDbDisassembleMethod (
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiDbWalkForExecute
+ * FUNCTION:    AcpiDbEvaluateObject
  *
- * PARAMETERS:  Callback from WalkNamespace
+ * PARAMETERS:  Node                - Namespace node for the object
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Batch execution module. Currently only executes predefined
- *              ACPI names.
+ * DESCRIPTION: Main execution function for the Evaluate/Execute/All debugger
+ *              commands.
  *
  ******************************************************************************/
 
 static ACPI_STATUS
-AcpiDbWalkForExecute (
-    ACPI_HANDLE             ObjHandle,
-    UINT32                  NestingLevel,
-    void                    *Context,
-    void                    **ReturnValue)
+AcpiDbEvaluateObject (
+    ACPI_NAMESPACE_NODE     *Node)
 {
-    ACPI_NAMESPACE_NODE     *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
-    ACPI_DB_EXECUTE_WALK    *Info = (ACPI_DB_EXECUTE_WALK *) Context;
-    ACPI_BUFFER             ReturnObj;
-    ACPI_STATUS             Status;
     char                    *Pathname;
     UINT32                  i;
     ACPI_DEVICE_INFO        *ObjInfo;
     ACPI_OBJECT_LIST        ParamObjects;
     ACPI_OBJECT             Params[ACPI_METHOD_NUM_ARGS];
-    const ACPI_PREDEFINED_INFO *Predefined;
+    ACPI_BUFFER             ReturnObj;
+    ACPI_STATUS             Status;
 
 
-    Predefined = AcpiUtMatchPredefinedMethod (Node->Name.Ascii);
-    if (!Predefined)
-    {
-        return (AE_OK);
-    }
-
-    if (Node->Type == ACPI_TYPE_LOCAL_SCOPE)
-    {
-        return (AE_OK);
-    }
-
     Pathname = AcpiNsGetExternalPathname (Node);
     if (!Pathname)
     {
@@ -591,7 +578,7 @@ AcpiDbWalkForExecute (
 
     /* Get the object info for number of method parameters */
 
-    Status = AcpiGetObjectInfo (ObjHandle, &ObjInfo);
+    Status = AcpiGetObjectInfo (Node, &ObjInfo);
     if (ACPI_FAILURE (Status))
     {
         ACPI_FREE (Pathname);
@@ -624,13 +611,70 @@ AcpiDbWalkForExecute (
     AcpiGbl_MethodExecuting = TRUE;
 
     Status = AcpiEvaluateObject (Node, NULL, &ParamObjects, &ReturnObj);
+    AcpiGbl_MethodExecuting = FALSE;
 
     AcpiOsPrintf ("%-32s returned %s\n", Pathname, AcpiFormatException (Status));
-    AcpiGbl_MethodExecuting = FALSE;
+    if (ReturnObj.Length)
+    {
+        AcpiOsPrintf ("Evaluation of %s returned object %p, "
+            "external buffer length %X\n",
+            Pathname, ReturnObj.Pointer, (UINT32) ReturnObj.Length);
+
+        AcpiDbDumpExternalObject (ReturnObj.Pointer, 1);
+        AcpiOsPrintf ("\n");
+    }
+
     ACPI_FREE (Pathname);
 
     /* Ignore status from method execution */
 
+    return (AE_OK);
+
+    /* Update count, check if we have executed enough methods */
+
+}
+
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDbWalkForExecute
+ *
+ * PARAMETERS:  Callback from WalkNamespace
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Batch execution function. Evaluates all "predefined" objects --
+ *              the nameseg begins with an underscore.
+ *
+ ******************************************************************************/
+
+static ACPI_STATUS
+AcpiDbWalkForExecute (
+    ACPI_HANDLE             ObjHandle,
+    UINT32                  NestingLevel,
+    void                    *Context,
+    void                    **ReturnValue)
+{
+    ACPI_NAMESPACE_NODE     *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
+    ACPI_DB_EXECUTE_WALK    *Info = (ACPI_DB_EXECUTE_WALK *) Context;
+    ACPI_STATUS             Status;
+    const ACPI_PREDEFINED_INFO *Predefined;
+
+
+    Predefined = AcpiUtMatchPredefinedMethod (Node->Name.Ascii);
+    if (!Predefined)
+    {
+        return (AE_OK);
+    }
+
+    if (Node->Type == ACPI_TYPE_LOCAL_SCOPE)
+    {
+        return (AE_OK);
+    }
+
+    AcpiDbEvaluateObject (Node);
+
+    /* Ignore status from object evaluation */
+
     Status = AE_OK;
 
     /* Update count, check if we have executed enough methods */
@@ -647,6 +691,56 @@ AcpiDbWalkForExecute (
 
 /*******************************************************************************
  *
+ * FUNCTION:    AcpiDbWalkForExecuteAll
+ *
+ * PARAMETERS:  Callback from WalkNamespace
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Batch execution function. Evaluates all objects whose path ends
+ *              with the nameseg "Info->NameSeg". Used for the "ALL" command.
+ *
+ ******************************************************************************/
+
+static ACPI_STATUS
+AcpiDbWalkForExecuteAll (
+    ACPI_HANDLE             ObjHandle,
+    UINT32                  NestingLevel,
+    void                    *Context,
+    void                    **ReturnValue)
+{
+    ACPI_NAMESPACE_NODE     *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
+    ACPI_DB_EXECUTE_WALK    *Info = (ACPI_DB_EXECUTE_WALK *) Context;
+    ACPI_STATUS             Status;
+
+
+    if (!ACPI_COMPARE_NAMESEG (Node->Name.Ascii, Info->NameSeg))
+    {
+        return (AE_OK);
+    }
+
+    if (Node->Type == ACPI_TYPE_LOCAL_SCOPE)
+    {
+        return (AE_OK);
+    }
+
+    /* Now evaluate the input object (node) */
+
+    AcpiDbEvaluateObject (Node);
+
+    /* Ignore status from method execution */
+
+    Status = AE_OK;
+
+    /* Update count of executed methods/objects */
+
+    Info->Count++;
+    return (Status);
+}
+
+
+/*******************************************************************************
+ *
  * FUNCTION:    AcpiDbEvaluatePredefinedNames
  *
  * PARAMETERS:  None
@@ -674,4 +768,39 @@ AcpiDbEvaluatePredefinedNames (
                 AcpiDbWalkForExecute, NULL, (void *) &Info, NULL);
 
     AcpiOsPrintf ("Evaluated %u predefined names in the namespace\n", Info.Count);
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDbEvaluateAll
+ *
+ * PARAMETERS:  NoneAcpiGbl_DbMethodInfo
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Namespace batch execution. Implements the "ALL" command.
+ *              Execute all namepaths whose final nameseg matches the
+ *              input nameseg.
+ *
+ ******************************************************************************/
+
+void
+AcpiDbEvaluateAll (
+    char                    *NameSeg)
+{
+    ACPI_DB_EXECUTE_WALK    Info;
+
+
+    Info.Count = 0;
+    Info.MaxCount = ACPI_UINT32_MAX;
+    ACPI_COPY_NAMESEG (Info.NameSeg, NameSeg);
+    Info.NameSeg[ACPI_NAMESEG_SIZE] = 0;
+
+    /* Search all nodes in namespace */
+
+    (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
+                AcpiDbWalkForExecuteAll, NULL, (void *) &Info, NULL);
+
+    AcpiOsPrintf ("Evaluated %u names in the namespace\n", Info.Count);
 }

Modified: vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -494,6 +494,10 @@ AcpiDmUuid (
     {
         AcpiOsPrintf (" /* %s */", Description);
     }
+    else
+    {
+        AcpiOsPrintf (" /* Unknown UUID */");
+    }
 }
 
 

Modified: vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -744,7 +744,7 @@ AcpiDmIsOptimizationIgnored (
      * Only a small subset of ASL/AML operators can be optimized.
      * Can only optimize/fold if there is no target (or targets)
      * specified for the operator. And of course, the operator
-     * is surrrounded by a Store() operator.
+     * is surrounded by a Store() operator.
      */
     switch (StoreArgument->Common.AmlOpcode)
     {

Modified: vendor-sys/acpica/dist/source/components/events/evrgnini.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/events/evrgnini.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/events/evrgnini.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -183,6 +183,7 @@ AcpiEvSystemMemoryRegionSetup (
 {
     ACPI_OPERAND_OBJECT     *RegionDesc = (ACPI_OPERAND_OBJECT *) Handle;
     ACPI_MEM_SPACE_CONTEXT  *LocalRegionContext;
+    ACPI_MEM_MAPPING        *Mm;
 
 
     ACPI_FUNCTION_TRACE (EvSystemMemoryRegionSetup);
@@ -194,12 +195,14 @@ AcpiEvSystemMemoryRegionSetup (
         {
             LocalRegionContext = (ACPI_MEM_SPACE_CONTEXT *) *RegionContext;
 
-            /* Delete a cached mapping if present */
+            /* Delete memory mappings if present */
 
-            if (LocalRegionContext->MappedLength)
+            while (LocalRegionContext->FirstMm)
             {
-                AcpiOsUnmapMemory (LocalRegionContext->MappedLogicalAddress,
-                    LocalRegionContext->MappedLength);
+                Mm = LocalRegionContext->FirstMm;
+                LocalRegionContext->FirstMm = Mm->NextMm;
+                AcpiOsUnmapMemory(Mm->LogicalAddress, Mm->Length);
+                ACPI_FREE(Mm);
             }
             ACPI_FREE (LocalRegionContext);
             *RegionContext = NULL;

Modified: vendor-sys/acpica/dist/source/components/executer/exregion.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/executer/exregion.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/executer/exregion.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -188,6 +188,7 @@ AcpiExSystemMemorySpaceHandler (
     ACPI_STATUS             Status = AE_OK;
     void                    *LogicalAddrPtr = NULL;
     ACPI_MEM_SPACE_CONTEXT  *MemInfo = RegionContext;
+    ACPI_MEM_MAPPING        *Mm = MemInfo->CurMm;
     UINT32                  Length;
     ACPI_SIZE               MapLength;
     ACPI_SIZE               PageBoundaryMapLength;
@@ -247,23 +248,48 @@ AcpiExSystemMemorySpaceHandler (
      * Is 1) Address below the current mapping? OR
      *    2) Address beyond the current mapping?
      */
-    if ((Address < MemInfo->MappedPhysicalAddress) ||
-        (((UINT64) Address + Length) >
-            ((UINT64)
-            MemInfo->MappedPhysicalAddress + MemInfo->MappedLength)))
+    if (!Mm || (Address < Mm->PhysicalAddress) ||
+        ((UINT64) Address + Length > (UINT64) Mm->PhysicalAddress + Mm->Length))
     {
         /*
-         * The request cannot be resolved by the current memory mapping;
-         * Delete the existing mapping and create a new one.
+         * The request cannot be resolved by the current memory mapping.
+         *
+         * Look for an existing saved mapping covering the address range
+         * at hand. If found, save it as the current one and carry out
+         * the access.
          */
-        if (MemInfo->MappedLength)
+        for (Mm = MemInfo->FirstMm; Mm; Mm = Mm->NextMm)
         {
-            /* Valid mapping, delete it */
+            if (Mm == MemInfo->CurMm)
+            {
+                continue;
+            }
 
-            AcpiOsUnmapMemory (MemInfo->MappedLogicalAddress,
-                MemInfo->MappedLength);
+            if (Address < Mm->PhysicalAddress)
+            {
+                continue;
+            }
+
+            if ((UINT64) Address + Length > (UINT64) Mm->PhysicalAddress + Mm->Length)
+            {
+                continue;
+            }
+
+            MemInfo->CurMm = Mm;
+            goto access;
         }
 
+        /* Create a new mappings list entry */
+
+        Mm = ACPI_ALLOCATE_ZEROED(sizeof(*Mm));
+        if (!Mm)
+        {
+            ACPI_ERROR((AE_INFO,
+                "Unable to save memory mapping at 0x%8.8X%8.8X, size %u",
+                ACPI_FORMAT_UINT64(Address), Length));
+            return_ACPI_STATUS(AE_NO_MEMORY);
+        }
+
         /*
          * October 2009: Attempt to map from the requested address to the
          * end of the region. However, we will never map more than one
@@ -297,28 +323,38 @@ AcpiExSystemMemorySpaceHandler (
 
         /* Create a new mapping starting at the address given */
 
-        MemInfo->MappedLogicalAddress = AcpiOsMapMemory (Address, MapLength);
-        if (!MemInfo->MappedLogicalAddress)
+        LogicalAddrPtr = AcpiOsMapMemory(Address, MapLength);
+        if (!LogicalAddrPtr)
         {
             ACPI_ERROR ((AE_INFO,
                 "Could not map memory at 0x%8.8X%8.8X, size %u",
                 ACPI_FORMAT_UINT64 (Address), (UINT32) MapLength));
-            MemInfo->MappedLength = 0;
+            ACPI_FREE(Mm);
             return_ACPI_STATUS (AE_NO_MEMORY);
         }
 
         /* Save the physical address and mapping size */
 
-        MemInfo->MappedPhysicalAddress = Address;
-        MemInfo->MappedLength = MapLength;
+        Mm->LogicalAddress = LogicalAddrPtr;
+        Mm->PhysicalAddress = Address;
+        Mm->Length = MapLength;
+
+        /*
+         * Add the new entry to the mappigs list and save it as the
+         * current mapping.
+         */
+        Mm->NextMm = MemInfo->FirstMm;
+        MemInfo->FirstMm = Mm;
+        MemInfo->CurMm = Mm;
     }
 
+access:
     /*
      * Generate a logical pointer corresponding to the address we want to
      * access
      */
-    LogicalAddrPtr = MemInfo->MappedLogicalAddress +
-        ((UINT64) Address - (UINT64) MemInfo->MappedPhysicalAddress);
+    LogicalAddrPtr = Mm->LogicalAddress +
+        ((UINT64) Address - (UINT64) Mm->PhysicalAddress);
 
     ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
         "System-Memory (width %u) R/W %u Address=%8.8X%8.8X\n",

Modified: vendor-sys/acpica/dist/source/components/namespace/nsalloc.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/namespace/nsalloc.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/namespace/nsalloc.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -481,7 +481,7 @@ AcpiNsDeleteChildren (
         NodeToDelete = NextNode;
         NextNode = NextNode->Peer;
         AcpiNsDeleteNode (NodeToDelete);
-    };
+    }
 
     /* Clear the parent's child pointer */
 

Modified: vendor-sys/acpica/dist/source/components/namespace/nsarguments.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/namespace/nsarguments.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/namespace/nsarguments.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -205,7 +205,9 @@ AcpiNsCheckArgumentTypes (
         ArgType = METHOD_GET_NEXT_TYPE (ArgTypeList);
         UserArgType = Info->Parameters[i]->Common.Type;
 
-        if (UserArgType != ArgType)
+        /* No typechecking for ACPI_TYPE_ANY */
+
+        if ((UserArgType != ArgType) && (ArgType != ACPI_TYPE_ANY))
         {
             ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, ACPI_WARN_ALWAYS,
                 "Argument #%u type mismatch - "

Modified: vendor-sys/acpica/dist/source/components/namespace/nsxfobj.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/namespace/nsxfobj.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/namespace/nsxfobj.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -169,7 +169,8 @@
  *
  * RETURN:      Status
  *
- * DESCRIPTION: This routine returns the type associatd with a particular handle
+ * DESCRIPTION: This routine returns the type associated with a particular
+ *              handle
  *
  ******************************************************************************/
 

Modified: vendor-sys/acpica/dist/source/components/parser/psparse.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/parser/psparse.c	Thu Oct  8 12:56:23 2020	(r366538)
+++ vendor-sys/acpica/dist/source/components/parser/psparse.c	Thu Oct  8 16:44:28 2020	(r366539)
@@ -662,8 +662,8 @@ AcpiPsParseAml (
             }
 
             /*
-             * If the transfer to the new method method call worked
-             *, a new walk state was created -- get it
+             * If the transfer to the new method method call worked,
+             * a new walk state was created -- get it

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list