Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 May 2020 21:01:08 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r361597 - in vendor-sys/acpica/dist: . generate/release generate/unix generate/unix/acpinames source/compiler source/components/debugger source/components/utilities source/include sourc...
Message-ID:  <202005282101.04SL18Iq053011@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu May 28 21:01:08 2020
New Revision: 361597
URL: https://svnweb.freebsd.org/changeset/base/361597

Log:
  Import ACPICA 20200528.

Deleted:
  vendor-sys/acpica/dist/generate/unix/acpinames/
  vendor-sys/acpica/dist/source/tools/acpinames/
Modified:
  vendor-sys/acpica/dist/changes.txt
  vendor-sys/acpica/dist/generate/release/build.sh
  vendor-sys/acpica/dist/generate/unix/Makefile.config
  vendor-sys/acpica/dist/source/compiler/aslcompiler.l
  vendor-sys/acpica/dist/source/compiler/aslkeywords.y
  vendor-sys/acpica/dist/source/compiler/aslmap.c
  vendor-sys/acpica/dist/source/compiler/aslmethod.c
  vendor-sys/acpica/dist/source/compiler/asltokens.y
  vendor-sys/acpica/dist/source/compiler/aslxref.c
  vendor-sys/acpica/dist/source/components/debugger/dbdisply.c
  vendor-sys/acpica/dist/source/components/utilities/utdecode.c
  vendor-sys/acpica/dist/source/include/acpixf.h
  vendor-sys/acpica/dist/source/include/actypes.h
  vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c

Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/changes.txt	Thu May 28 21:01:08 2020	(r361597)
@@ -1,8 +1,61 @@
 ----------------------------------------
 
 
-30 April 2020. Summary of changes for version 20200430:
+28 May 2020. Summary of changes for version 20200528:
 
+
+1) ACPICA kernel-resident subsystem:
+
+Removed old/obsolete Visual Studio files which were used to build the 
+Windows versions of the ACPICA tools. Since we have moved to Visual 
+Studio 2017, we are no longer supporting Visual Studio 2006 and 2009 
+project files. The new subdirectory and solution file are located at:
+
+    acpica/generate/msvc2017/AcpiComponents.sln
+
+
+2) iASL Compiler/Disassembler and ACPICA tools: 
+
+iASL: added support for a new OperationRegion Address Space (subtype): 
+PlatformRtMechanism. Support for this new keyword is being released for 
+early prototyping. It will appear in the next release of the ACPI 
+specification.
+
+iASL: do not optimize the NameString parameter of the CondRefOf operator. 
+In the previous iASL compiler release, the NameString parameter of the 
+CondRefOf was optimized. There is evidence that some implementations of 
+the AML interpreter do not perform the recursive search-to-parent search 
+during the execution of the CondRefOf operator. Therefore, the CondRefOf 
+operator behaves differently when the NameString parameter is a single 
+name segment (a NameSeg) as opposed to a full NamePath (starting at the 
+root scope) or a NameString containing parent prefixes.
+
+iASL: Prevent an inadvertent remark message. This change prevents a 
+remark if within a control method the following exist:
+1) An Operation Region is defined, and
+2) A Field operator is defined that refers to the region.
+This happens because at the top level, the Field operator does not 
+actually create a new named object, it simply references the operation 
+region.
+
+Removed support for the acpinames utility. The acpinames was a simple 
+utility used to populate and display the ACPI namespace without executing 
+any AML code. However, ACPICA now supports executable opcodes outside of 
+control methods. This means that executable AML opcodes such as If and 
+Store opcodes need to be executed during table load. Therefore, acpinames 
+would need to be updated to match the same behavior as the acpiexec 
+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, 
+execute the following command from the command line:
+
+        acpiexec -b "n" [aml files]
+
+----------------------------------------
+
+
+30 April 2020. Summary of changes for version 20200430:
 
 1) ACPICA kernel-resident subsystem:
 

Modified: vendor-sys/acpica/dist/generate/release/build.sh
==============================================================================
--- vendor-sys/acpica/dist/generate/release/build.sh	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/generate/release/build.sh	Thu May 28 21:01:08 2020	(r361597)
@@ -217,7 +217,6 @@ generate_source_package ()
 	mkdir $TEMP_DIR/generate/unix/acpiexamples
 	mkdir $TEMP_DIR/generate/unix/acpiexec
 	mkdir $TEMP_DIR/generate/unix/acpihelp
-	mkdir $TEMP_DIR/generate/unix/acpinames
 	mkdir $TEMP_DIR/generate/unix/acpisrc
 	mkdir $TEMP_DIR/generate/unix/acpixtract
 	mkdir $TEMP_DIR/generate/unix/iasl
@@ -264,7 +263,6 @@ generate_source_package ()
 	cp generate/unix/acpiexamples/Makefile  $TEMP_DIR/generate/unix/acpiexamples
 	cp generate/unix/acpiexec/Makefile      $TEMP_DIR/generate/unix/acpiexec
 	cp generate/unix/acpihelp/Makefile      $TEMP_DIR/generate/unix/acpihelp
-	cp generate/unix/acpinames/Makefile     $TEMP_DIR/generate/unix/acpinames
 	cp generate/unix/acpisrc/Makefile       $TEMP_DIR/generate/unix/acpisrc
 	cp generate/unix/acpixtract/Makefile    $TEMP_DIR/generate/unix/acpixtract
 	cp generate/unix/iasl/Makefile          $TEMP_DIR/generate/unix/iasl
@@ -295,11 +293,13 @@ generate_source_package ()
 		# Windows-specific activities
 		#
 
-		# Copy project files for MS Visual Studio 2008 (VC++ 9.0)
+		# Copy project files for MS Visual Studio 2017
 
-		mkdir $TEMP_DIR/generate/msvc9
-		cp -r generate/msvc9/*.sln $TEMP_DIR/generate/msvc9/
-		cp -r generate/msvc9/*.vcproj $TEMP_DIR/generate/msvc9/
+		mkdir $TEMP_DIR/generate/msvc2017
+		cp -r generate/msvc2017/*.sln $TEMP_DIR/generate/msvc2017/
+		cp -r generate/msvc2017/*.dsp $TEMP_DIR/generate/msvc2017/
+		cp -r generate/msvc2017/*.dsw $TEMP_DIR/generate/msvc2017/
+		cp -r generate/msvc2017/*.vcxproj $TEMP_DIR/generate/msvc2017/
 
 		build_windows_package
 	fi
@@ -412,7 +412,6 @@ generate_binary_package()
 	cp libraries/acpidump.exe       $TEMP_DIR
 	cp libraries/acpiexec.exe       $TEMP_DIR
 	cp libraries/acpihelp.exe       $TEMP_DIR
-	cp libraries/acpinames.exe      $TEMP_DIR
 	cp libraries/acpisrc.exe        $TEMP_DIR
 	cp libraries/acpixtract.exe     $TEMP_DIR
 	cp libraries/iasl.exe           $TEMP_DIR

Modified: vendor-sys/acpica/dist/generate/unix/Makefile.config
==============================================================================
--- vendor-sys/acpica/dist/generate/unix/Makefile.config	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/generate/unix/Makefile.config	Thu May 28 21:01:08 2020	(r361597)
@@ -2,8 +2,8 @@
 # Makefile.config
 #
 # Common configuration and setup file to generate the ACPICA tools and
-# utilities: the iASL compiler, acpiexec, acpihelp, acpinames, acpisrc,
-# acpixtract, acpibin.
+# utilities: the iASL compiler, acpiexec, acpihelp, acpisrc, acpixtract,
+# acpibin.
 #
 # This file is included by the individual makefiles for each tool.
 #
@@ -33,7 +33,7 @@
 #     not be necessary to change it.
 #
 .SUFFIXES :
-PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpinames acpisrc acpixtract iasl
+PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpisrc acpixtract iasl
 ACPI_HOST ?= _CYGWIN
 CC ?=    gcc
 
@@ -129,7 +129,6 @@ ACPIDUMP =              $(ACPICA_TOOLS)/acpidump
 ACPIEXAMPLES =          $(ACPICA_TOOLS)/examples
 ACPIEXEC =              $(ACPICA_TOOLS)/acpiexec
 ACPIHELP =              $(ACPICA_TOOLS)/acpihelp
-ACPINAMES =             $(ACPICA_TOOLS)/acpinames
 ACPISRC =               $(ACPICA_TOOLS)/acpisrc
 ACPIXTRACT =            $(ACPICA_TOOLS)/acpixtract
 ASL_COMPILER =          $(ACPICA_SRC)/compiler

Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.l
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslcompiler.l	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/aslcompiler.l	Thu May 28 21:01:08 2020	(r361597)
@@ -693,6 +693,7 @@ NamePathTail                [.]{NameSeg}
 "GeneralPurposeIo"          { count (0); return (PARSEOP_REGIONSPACE_GPIO); }       /* ACPI 5.0 */
 "GenericSerialBus"          { count (0); return (PARSEOP_REGIONSPACE_GSBUS); }      /* ACPI 5.0 */
 "PCC"                       { count (0); return (PARSEOP_REGIONSPACE_PCC); }        /* ACPI 5.0 */
+"PlatformRtMechanism"       { count (0); return (PARSEOP_REGIONSPACE_PRM); }
 "FFixedHW"                  { count (0); return (PARSEOP_REGIONSPACE_FFIXEDHW); }
 
     /* ResourceTypeKeyword: Resource Usage - Resource Descriptors */

Modified: vendor-sys/acpica/dist/source/compiler/aslkeywords.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslkeywords.y	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/aslkeywords.y	Thu May 28 21:01:08 2020	(r361597)
@@ -394,6 +394,7 @@ RegionSpaceKeyword
     | PARSEOP_REGIONSPACE_GPIO              {$$ = TrCreateLeafOp (PARSEOP_REGIONSPACE_GPIO);}
     | PARSEOP_REGIONSPACE_GSBUS             {$$ = TrCreateLeafOp (PARSEOP_REGIONSPACE_GSBUS);}
     | PARSEOP_REGIONSPACE_PCC               {$$ = TrCreateLeafOp (PARSEOP_REGIONSPACE_PCC);}
+    | PARSEOP_REGIONSPACE_PRM               {$$ = TrCreateLeafOp (PARSEOP_REGIONSPACE_PRM);}
     | PARSEOP_REGIONSPACE_FFIXEDHW          {$$ = TrCreateLeafOp (PARSEOP_REGIONSPACE_FFIXEDHW);}
     ;
 

Modified: vendor-sys/acpica/dist/source/compiler/aslmap.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmap.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/aslmap.c	Thu May 28 21:01:08 2020	(r361597)
@@ -485,6 +485,7 @@ const ASL_MAPPING_ENTRY     AslKeywordMapping [] =
 /* REGIONSPACE_PCC */           OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          ACPI_ADR_SPACE_PLATFORM_COMM,   0,                  0),
 /* REGIONSPACE_PCI */           OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          ACPI_ADR_SPACE_PCI_CONFIG,      0,                  0),
 /* REGIONSPACE_PCIBAR */        OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          ACPI_ADR_SPACE_PCI_BAR_TARGET,  0,                  0),
+/* REGIONSPACE_PRM */           OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          ACPI_ADR_SPACE_PLATFORM_RT,     0,                  0),
 /* REGIONSPACE_SMBUS */         OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          ACPI_ADR_SPACE_SMBUS,           0,                  0),
 /* REGISTER */                  OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
 /* RELEASE */                   OP_TABLE_ENTRY (AML_RELEASE_OP,             0,                              0,                  0),

Modified: vendor-sys/acpica/dist/source/compiler/aslmethod.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmethod.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/aslmethod.c	Thu May 28 21:01:08 2020	(r361597)
@@ -724,7 +724,7 @@ MtCheckNamedObjectInMethod (
     }
 
     OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
-    if (OpInfo->Class == AML_CLASS_NAMED_OBJECT)
+    if ((OpInfo->Class == AML_CLASS_NAMED_OBJECT) && (Op->Asl.AmlOpcode != AML_FIELD_OP))
     {
         /*
          * 1) Mark the method as a method that creates named objects.
@@ -739,6 +739,9 @@ MtCheckNamedObjectInMethod (
          * Reason: If a thread blocks within the method for any reason, and
          * another thread enters the method, the method will fail because
          * an attempt will be made to create the same object twice.
+         *
+         * Note: The Field opcode is disallowed here because Field() does not
+         * create a new named object.
          */
         ExternalPath = AcpiNsGetNormalizedPathname (MethodInfo->Op->Asl.Node, TRUE);
 

Modified: vendor-sys/acpica/dist/source/compiler/asltokens.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/asltokens.y	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/asltokens.y	Thu May 28 21:01:08 2020	(r361597)
@@ -422,6 +422,7 @@ NoEcho('
 %token <i> PARSEOP_REGIONSPACE_PCC
 %token <i> PARSEOP_REGIONSPACE_PCI
 %token <i> PARSEOP_REGIONSPACE_PCIBAR
+%token <i> PARSEOP_REGIONSPACE_PRM
 %token <i> PARSEOP_REGIONSPACE_SMBUS
 %token <i> PARSEOP_REGISTER
 %token <i> PARSEOP_RELEASE

Modified: vendor-sys/acpica/dist/source/compiler/aslxref.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslxref.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/compiler/aslxref.c	Thu May 28 21:01:08 2020	(r361597)
@@ -821,9 +821,24 @@ XfNamespaceLocateBegin (
         Node->Flags |= ANOBJ_IS_REFERENCED;
     }
 
-    /* Attempt to optimize the NamePath */
-
-    OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
+    /*
+     * Attempt to optimize the NamePath
+     *
+     * One special case: CondRefOf operator - not all AML interpreter
+     * implementations expect optimized namepaths as a parameter to this
+     * operator. They require relative name paths with prefix operators or
+     * namepaths starting with the root scope.
+     *
+     * Other AML interpreter implementations do not perform the namespace
+     * search that starts at the current scope and recursively searching the
+     * parent scope until the root scope. The lack of search is only known to
+     * occur for the namestring parameter for the CondRefOf operator.
+     */
+    if ((Op->Asl.Parent) &&
+        (Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_CONDREFOF))
+    {
+        OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
+    }
 
     /*
      * 1) Dereference an alias (A name reference that is an alias)

Modified: vendor-sys/acpica/dist/source/components/debugger/dbdisply.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/debugger/dbdisply.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/components/debugger/dbdisply.c	Thu May 28 21:01:08 2020	(r361597)
@@ -204,6 +204,8 @@ static ACPI_ADR_SPACE_TYPE  AcpiGbl_SpaceIdList[] =
     ACPI_ADR_SPACE_IPMI,
     ACPI_ADR_SPACE_GPIO,
     ACPI_ADR_SPACE_GSBUS,
+    ACPI_ADR_SPACE_PLATFORM_COMM,
+    ACPI_ADR_SPACE_PLATFORM_RT,
     ACPI_ADR_SPACE_DATA_TABLE,
     ACPI_ADR_SPACE_FIXED_HARDWARE
 };

Modified: vendor-sys/acpica/dist/source/components/utilities/utdecode.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/utilities/utdecode.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/components/utilities/utdecode.c	Thu May 28 21:01:08 2020	(r361597)
@@ -214,17 +214,18 @@ const UINT8                     AcpiGbl_NsProperties[A
 
 const char        *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS] =
 {
-    "SystemMemory",      /* 0x00 */
-    "SystemIO",          /* 0x01 */
-    "PCI_Config",        /* 0x02 */
-    "EmbeddedControl",   /* 0x03 */
-    "SMBus",             /* 0x04 */
-    "SystemCMOS",        /* 0x05 */
-    "PCIBARTarget",      /* 0x06 */
-    "IPMI",              /* 0x07 */
-    "GeneralPurposeIo",  /* 0x08 */
-    "GenericSerialBus",  /* 0x09 */
-    "PCC"                /* 0x0A */
+    "SystemMemory",       /* 0x00 */
+    "SystemIO",           /* 0x01 */
+    "PCI_Config",         /* 0x02 */
+    "EmbeddedControl",    /* 0x03 */
+    "SMBus",              /* 0x04 */
+    "SystemCMOS",         /* 0x05 */
+    "PCIBARTarget",       /* 0x06 */
+    "IPMI",               /* 0x07 */
+    "GeneralPurposeIo",   /* 0x08 */
+    "GenericSerialBus",   /* 0x09 */
+    "PCC",                /* 0x0A */
+    "PlatformRtMechanism" /* 0x0B */
 };
 
 

Modified: vendor-sys/acpica/dist/source/include/acpixf.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/acpixf.h	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/include/acpixf.h	Thu May 28 21:01:08 2020	(r361597)
@@ -154,7 +154,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20200430
+#define ACPI_CA_VERSION                 0x20200528
 
 #include "acconfig.h"
 #include "actypes.h"

Modified: vendor-sys/acpica/dist/source/include/actypes.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/actypes.h	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/include/actypes.h	Thu May 28 21:01:08 2020	(r361597)
@@ -968,8 +968,9 @@ typedef UINT8                           ACPI_ADR_SPACE
 #define ACPI_ADR_SPACE_GPIO             (ACPI_ADR_SPACE_TYPE) 8
 #define ACPI_ADR_SPACE_GSBUS            (ACPI_ADR_SPACE_TYPE) 9
 #define ACPI_ADR_SPACE_PLATFORM_COMM    (ACPI_ADR_SPACE_TYPE) 10
+#define ACPI_ADR_SPACE_PLATFORM_RT      (ACPI_ADR_SPACE_TYPE) 11
 
-#define ACPI_NUM_PREDEFINED_REGIONS     11
+#define ACPI_NUM_PREDEFINED_REGIONS     12
 
 /*
  * Special Address Spaces

Modified: vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c
==============================================================================
--- vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c	Thu May 28 20:39:27 2020	(r361596)
+++ vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c	Thu May 28 21:01:08 2020	(r361597)
@@ -192,7 +192,6 @@ static ACPI_STATUS
 OslReadTableFromFile (
     char                    *Filename,
     ACPI_SIZE               FileOffset,
-    char                    *Signature,
     ACPI_TABLE_HEADER       **Table);
 
 static ACPI_STATUS
@@ -1490,8 +1489,6 @@ OslTableNameFromFile (
  *
  * PARAMETERS:  Filename            - File that contains the desired table
  *              FileOffset          - Offset of the table in file
- *              Signature           - Optional ACPI Signature for desired table.
- *                                    A null terminated 4-character string.
  *              Table               - Where a pointer to the table is returned
  *
  * RETURN:      Status; Table buffer is returned if AE_OK.
@@ -1504,7 +1501,6 @@ static ACPI_STATUS
 OslReadTableFromFile (
     char                    *Filename,
     ACPI_SIZE               FileOffset,
-    char                    *Signature,
     ACPI_TABLE_HEADER       **Table)
 {
     FILE                    *TableFile;
@@ -1536,6 +1532,8 @@ OslReadTableFromFile (
         goto Exit;
     }
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
     /* If signature is specified, it must match the table */
 
     if (Signature)
@@ -1557,6 +1555,7 @@ OslReadTableFromFile (
             goto Exit;
         }
     }
+#endif
 
     TableLength = ApGetTableLength (&Header);
     if (TableLength == 0)
@@ -1688,7 +1687,7 @@ OslGetCustomizedTable (
     /* There is no physical address saved for customized tables, use zero */
 
     *Address = 0;
-    Status = OslReadTableFromFile (TableFilename, 0, NULL, Table);
+    Status = OslReadTableFromFile (TableFilename, 0, Table);
 
     return (Status);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005282101.04SL18Iq053011>