From owner-svn-src-all@freebsd.org Thu May 28 21:01:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8B61E2FDFA4; Thu, 28 May 2020 21:01:11 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49Y0VH3TMZz49tF; Thu, 28 May 2020 21:01:11 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7283BC93D; Thu, 28 May 2020 21:01:11 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 04SL1BIP055333; Thu, 28 May 2020 21:01:11 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 04SL18Iq053011; Thu, 28 May 2020 21:01:08 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202005282101.04SL18Iq053011@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Thu, 28 May 2020 21:01:08 +0000 (UTC) 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... X-SVN-Group: vendor-sys X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in vendor-sys/acpica/dist: . generate/release generate/unix generate/unix/acpinames source/compiler source/components/debugger source/components/utilities source/include source/os_specific/service_lay... X-SVN-Commit-Revision: 361597 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 May 2020 21:01:11 -0000 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 PARSEOP_REGIONSPACE_PCC %token PARSEOP_REGIONSPACE_PCI %token PARSEOP_REGIONSPACE_PCIBAR +%token PARSEOP_REGIONSPACE_PRM %token PARSEOP_REGIONSPACE_SMBUS %token PARSEOP_REGISTER %token 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); }