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...
Jung-uk Kim
jkim at FreeBSD.org
Thu May 28 21:01:11 UTC 2020
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);
}
More information about the svn-src-vendor
mailing list