ACK: [PATCH] ACPICA: Update to version 20190329
ivanhu
ivan.hu at canonical.com
Mon Apr 1 02:26:24 UTC 2019
On 3/30/19 1:02 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> changes in this release of ACPICA are detailed at the following
> link on the ACPICA developer mailing list:
>
> https://lists.acpica.org/pipermail/devel/2019-March/001878.html
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/acpica/source/common/acfileio.c | 2 +-
> src/acpica/source/common/adisasm.c | 2 +-
> src/acpica/source/common/adwalk.c | 2 +-
> src/acpica/source/common/ahpredef.c | 2 +-
> src/acpica/source/common/ahtable.c | 2 +-
> src/acpica/source/common/dmrestag.c | 24 ++++++++++++-------
> src/acpica/source/common/dmtable.c | 6 ++---
> src/acpica/source/common/dmtables.c | 2 +-
> src/acpica/source/compiler/aslanalyze.c | 14 +++++------
> src/acpica/source/compiler/aslcodegen.c | 16 +++++++++----
> src/acpica/source/compiler/aslcompiler.l | 2 +-
> src/acpica/source/compiler/asldefine.h | 2 +-
> src/acpica/source/compiler/aslerror.c | 2 +-
> src/acpica/source/compiler/aslload.c | 11 +++++----
> src/acpica/source/compiler/aslmessages.c | 2 +-
> src/acpica/source/compiler/aslmethod.c | 8 +++----
> src/acpica/source/compiler/asloffset.c | 10 ++++----
> src/acpica/source/compiler/asloperands.c | 4 ++--
> src/acpica/source/compiler/aslopt.c | 10 ++++----
> src/acpica/source/compiler/aslpredef.c | 6 ++---
> src/acpica/source/compiler/asltransform.c | 2 +-
> src/acpica/source/compiler/aslutils.c | 4 ++--
> src/acpica/source/compiler/aslxref.c | 14 +++++++----
> src/acpica/source/compiler/dtcompile.c | 4 ++--
> src/acpica/source/compiler/dttemplate.c | 22 ++++++++---------
> .../source/components/debugger/dbexec.c | 2 +-
> .../source/components/debugger/dbnames.c | 2 +-
> .../source/components/disassembler/dmbuffer.c | 8 +++----
> .../source/components/disassembler/dmnames.c | 6 ++---
> .../source/components/dispatcher/dsfield.c | 2 +-
> .../source/components/dispatcher/dsinit.c | 2 +-
> .../source/components/events/evgpeinit.c | 4 ++--
> .../source/components/executer/exnames.c | 6 ++---
> .../source/components/namespace/nsaccess.c | 2 +-
> .../source/components/namespace/nsdump.c | 2 +-
> .../source/components/namespace/nsinit.c | 4 ++--
> .../source/components/namespace/nsnames.c | 8 +++----
> .../source/components/namespace/nsobject.c | 5 ++++
> .../source/components/namespace/nsparse.c | 2 +-
> .../source/components/namespace/nsrepair.c | 2 +-
> .../source/components/namespace/nsrepair2.c | 4 ++--
> .../source/components/namespace/nsutils.c | 12 +++++-----
> .../source/components/namespace/nsxfname.c | 4 ++--
> src/acpica/source/components/parser/psargs.c | 8 +++----
> .../source/components/resources/rsxface.c | 8 +++----
> src/acpica/source/components/tables/tbdata.c | 2 +-
> src/acpica/source/components/tables/tbfind.c | 6 ++---
> .../source/components/tables/tbinstal.c | 2 +-
> src/acpica/source/components/tables/tbprint.c | 10 ++++----
> src/acpica/source/components/tables/tbutils.c | 2 +-
> src/acpica/source/components/tables/tbxface.c | 4 ++--
> .../source/components/tables/tbxfload.c | 10 ++++----
> .../source/components/utilities/utascii.c | 2 +-
> .../source/components/utilities/utdecode.c | 24 +++++++++----------
> .../source/components/utilities/utmisc.c | 8 +++----
> .../source/components/utilities/utpredef.c | 4 ++--
> .../source/components/utilities/utstring.c | 6 ++---
> src/acpica/source/include/aclocal.h | 4 ++--
> src/acpica/source/include/acpixf.h | 2 +-
> src/acpica/source/include/actbl.h | 4 ++--
> src/acpica/source/include/actypes.h | 12 +++++-----
> src/acpica/source/include/platform/aclinux.h | 5 ++++
> src/acpica/source/tools/acpiexec/aecommon.h | 4 ++++
> .../source/tools/acpiexec/aeexception.c | 2 +-
> 64 files changed, 208 insertions(+), 173 deletions(-)
>
> diff --git a/src/acpica/source/common/acfileio.c b/src/acpica/source/common/acfileio.c
> index 18992b20..74f28577 100644
> --- a/src/acpica/source/common/acfileio.c
> +++ b/src/acpica/source/common/acfileio.c
> @@ -585,7 +585,7 @@ AcValidateTableHeader (
> * These fields must be ASCII: OemId, OemTableId, AslCompilerId.
> * We allow a NULL terminator in OemId and OemTableId.
> */
> - for (i = 0; i < ACPI_NAME_SIZE; i++)
> + for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
> {
> if (!ACPI_IS_ASCII ((UINT8) TableHeader.AslCompilerId[i]))
> {
> diff --git a/src/acpica/source/common/adisasm.c b/src/acpica/source/common/adisasm.c
> index 6fbfaf5d..518468b7 100644
> --- a/src/acpica/source/common/adisasm.c
> +++ b/src/acpica/source/common/adisasm.c
> @@ -459,7 +459,7 @@ AdDisassembleOneTable (
> */
> if (AcpiGbl_CaptureComments)
> {
> - strncpy (Table->Signature, AcpiGbl_TableSig, ACPI_NAME_SIZE);
> + strncpy (Table->Signature, AcpiGbl_TableSig, ACPI_NAMESEG_SIZE);
> }
> #endif
>
> diff --git a/src/acpica/source/common/adwalk.c b/src/acpica/source/common/adwalk.c
> index 9f51b64e..d9bd4d9e 100644
> --- a/src/acpica/source/common/adwalk.c
> +++ b/src/acpica/source/common/adwalk.c
> @@ -814,7 +814,7 @@ AcpiDmLoadDescendingOp (
>
> while (AcpiGbl_PreDefinedNames[PreDefineIndex].Name)
> {
> - if (ACPI_COMPARE_NAME (Node->Name.Ascii,
> + if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii,
> AcpiGbl_PreDefinedNames[PreDefineIndex].Name))
> {
> PreDefined = TRUE;
> diff --git a/src/acpica/source/common/ahpredef.c b/src/acpica/source/common/ahpredef.c
> index 58b2d662..a76148dc 100644
> --- a/src/acpica/source/common/ahpredef.c
> +++ b/src/acpica/source/common/ahpredef.c
> @@ -490,7 +490,7 @@ AcpiAhMatchPredefinedName (
>
> for (Info = AslPredefinedInfo; Info->Name; Info++)
> {
> - if (ACPI_COMPARE_NAME (Nameseg, Info->Name))
> + if (ACPI_COMPARE_NAMESEG (Nameseg, Info->Name))
> {
> return (Info);
> }
> diff --git a/src/acpica/source/common/ahtable.c b/src/acpica/source/common/ahtable.c
> index 96b5f9f6..599c53a8 100644
> --- a/src/acpica/source/common/ahtable.c
> +++ b/src/acpica/source/common/ahtable.c
> @@ -183,7 +183,7 @@ AcpiAhGetTableInfo (
>
> for (Info = AcpiGbl_SupportedTables; Info->Signature; Info++)
> {
> - if (ACPI_COMPARE_NAME (Signature, Info->Signature))
> + if (ACPI_COMPARE_NAMESEG (Signature, Info->Signature))
> {
> return (Info);
> }
> diff --git a/src/acpica/source/common/dmrestag.c b/src/acpica/source/common/dmrestag.c
> index c33b0497..8ab92d71 100644
> --- a/src/acpica/source/common/dmrestag.c
> +++ b/src/acpica/source/common/dmrestag.c
> @@ -747,6 +747,7 @@ AcpiGetTagPathname (
> UINT8 ResourceTableIndex;
> ACPI_SIZE RequiredSize;
> char *Pathname;
> + char *PathnameEnd;
> AML_RESOURCE *Aml;
> ACPI_PARSE_OBJECT *Op;
> char *InternalPath;
> @@ -809,19 +810,26 @@ AcpiGetTagPathname (
> RequiredSize, FALSE);
>
> /*
> - * Create the full path to the resource and tag by: remove the buffer name,
> - * append the resource descriptor name, append a dot, append the tag name.
> + * Create the full path to the resource and tag by:
> + * 1) Remove the buffer nameseg from the end of the pathname
> + * 2) Append the resource descriptor nameseg
> + * 3) Append a dot
> + * 4) Append the field tag nameseg
> *
> - * TBD: Always using the full path is a bit brute force, the path can be
> + * Always using the full path is a bit brute force, the path can be
> * often be optimized with carats (if the original buffer namepath is a
> * single nameseg). This doesn't really matter, because these paths do not
> * end up in the final compiled AML, it's just an appearance issue for the
> * disassembled code.
> */
> - Pathname[strlen (Pathname) - ACPI_NAME_SIZE] = 0;
> - strncat (Pathname, ResourceNode->Name.Ascii, ACPI_NAME_SIZE);
> - strcat (Pathname, ".");
> - strncat (Pathname, Tag, ACPI_NAME_SIZE);
> + PathnameEnd = Pathname + (RequiredSize - ACPI_NAMESEG_SIZE - 1);
> + ACPI_COPY_NAMESEG (PathnameEnd, ResourceNode->Name.Ascii);
> +
> + PathnameEnd += ACPI_NAMESEG_SIZE;
> + *PathnameEnd = '.';
> +
> + PathnameEnd++;
> + ACPI_COPY_NAMESEG (PathnameEnd, Tag);
>
> /* Internalize the namepath to AML format */
>
> @@ -863,7 +871,7 @@ static void
> AcpiDmUpdateResourceName (
> ACPI_NAMESPACE_NODE *ResourceNode)
> {
> - char Name[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE];
>
>
> /* Ignore if a unique name has already been assigned */
> diff --git a/src/acpica/source/common/dmtable.c b/src/acpica/source/common/dmtable.c
> index e51ff424..6b67662b 100644
> --- a/src/acpica/source/common/dmtable.c
> +++ b/src/acpica/source/common/dmtable.c
> @@ -602,7 +602,7 @@ AcpiDmGetTableData (
>
> for (Info = AcpiDmTableData; Info->Signature; Info++)
> {
> - if (ACPI_COMPARE_NAME (Signature, Info->Signature))
> + if (ACPI_COMPARE_NAMESEG (Signature, Info->Signature))
> {
> return (Info);
> }
> @@ -657,7 +657,7 @@ AcpiDmDumpDataTable (
> * Handle tables that don't use the common ACPI table header structure.
> * Currently, these are the FACS, RSDP, and S3PT.
> */
> - if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_FACS))
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_FACS))
> {
> Length = Table->Length;
> Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFacs);
> @@ -670,7 +670,7 @@ AcpiDmDumpDataTable (
> {
> Length = AcpiDmDumpRsdp (Table);
> }
> - else if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_S3PT))
> + else if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_S3PT))
> {
> Length = AcpiDmDumpS3pt (Table);
> }
> diff --git a/src/acpica/source/common/dmtables.c b/src/acpica/source/common/dmtables.c
> index 1a8da3af..f9579509 100644
> --- a/src/acpica/source/common/dmtables.c
> +++ b/src/acpica/source/common/dmtables.c
> @@ -281,7 +281,7 @@ AdCreateTableHeader (
>
> /* Revision of DSDT controls the ACPI integer width */
>
> - if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT))
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_DSDT))
> {
> AcpiOsPrintf (" **** 32-bit table (V1), no 64-bit math support");
> }
> diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c
> index 0ea8dc47..58da5e2e 100644
> --- a/src/acpica/source/compiler/aslanalyze.c
> +++ b/src/acpica/source/compiler/aslanalyze.c
> @@ -563,14 +563,14 @@ ApCheckForGpeNameConflict (
> {
> ACPI_PARSE_OBJECT *NextOp;
> UINT32 GpeNumber;
> - char Name[ACPI_NAME_SIZE + 1];
> - char Target[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE + 1];
> + char Target[ACPI_NAMESEG_SIZE];
>
>
> /* Need a null-terminated string version of NameSeg */
>
> ACPI_MOVE_32_TO_32 (Name, &Op->Asl.NameSeg);
> - Name[ACPI_NAME_SIZE] = 0;
> + Name[ACPI_NAMESEG_SIZE] = 0;
>
> /*
> * For a GPE method:
> @@ -622,7 +622,7 @@ ApCheckForGpeNameConflict (
> if ((NextOp->Asl.ParseOpcode == PARSEOP_METHOD) ||
> (NextOp->Asl.ParseOpcode == PARSEOP_NAME))
> {
> - if (ACPI_COMPARE_NAME (Target, NextOp->Asl.NameSeg))
> + if (ACPI_COMPARE_NAMESEG (Target, NextOp->Asl.NameSeg))
> {
> /* Found both _Exy and _Lxy in the same scope, error */
>
> @@ -666,7 +666,7 @@ ApCheckRegMethod (
>
> /* We are only interested in _REG methods */
>
> - if (!ACPI_COMPARE_NAME (METHOD_NAME__REG, &Op->Asl.NameSeg))
> + if (!ACPI_COMPARE_NAMESEG (METHOD_NAME__REG, &Op->Asl.NameSeg))
> {
> return;
> }
> @@ -772,7 +772,7 @@ ApDeviceSubtreeWalk (
>
> /* These are what we are looking for */
>
> - if (ACPI_COMPARE_NAME (Name, Op->Asl.NameSeg))
> + if (ACPI_COMPARE_NAMESEG (Name, Op->Asl.NameSeg))
> {
> return (AE_CTRL_TRUE);
> }
> @@ -831,7 +831,7 @@ ApFindNameInScope (
> if ((Next->Asl.ParseOpcode == PARSEOP_METHOD) ||
> (Next->Asl.ParseOpcode == PARSEOP_NAME))
> {
> - if (ACPI_COMPARE_NAME (Name, Next->Asl.NameSeg))
> + if (ACPI_COMPARE_NAMESEG (Name, Next->Asl.NameSeg))
> {
> return (TRUE);
> }
> diff --git a/src/acpica/source/compiler/aslcodegen.c b/src/acpica/source/compiler/aslcodegen.c
> index 21459178..8edcb668 100644
> --- a/src/acpica/source/compiler/aslcodegen.c
> +++ b/src/acpica/source/compiler/aslcodegen.c
> @@ -523,6 +523,8 @@ CgWriteAmlOpcode (
> *
> * DESCRIPTION: Write a table header corresponding to the DEFINITIONBLOCK
> *
> + * NOTE: Input strings should be validated before this function is invoked.
> + *
> ******************************************************************************/
>
> static void
> @@ -534,6 +536,8 @@ CgWriteTableHeader (
> ACPI_COMMENT_NODE *Current;
>
>
> + memset (&AslGbl_TableHeader, 0, sizeof (ACPI_TABLE_HEADER));
> +
> /* AML filename */
>
> Child = Op->Asl.Child;
> @@ -552,11 +556,11 @@ CgWriteTableHeader (
> */
> if (AcpiGbl_CaptureComments)
> {
> - strncpy(AcpiGbl_TableSig, Child->Asl.Value.String, ACPI_NAME_SIZE);
> + ACPI_COPY_NAMESEG (AcpiGbl_TableSig, Child->Asl.Value.String);
> Child->Asl.Value.String = ACPI_SIG_XXXX;
> }
>
> - strncpy (AslGbl_TableHeader.Signature, Child->Asl.Value.String, ACPI_NAME_SIZE);
> + ACPI_COPY_NAMESEG (AslGbl_TableHeader.Signature, Child->Asl.Value.String);
>
> /* Revision */
>
> @@ -573,12 +577,14 @@ CgWriteTableHeader (
> /* OEMID */
>
> Child = Child->Asl.Next;
> - strncpy (AslGbl_TableHeader.OemId, Child->Asl.Value.String, ACPI_OEM_ID_SIZE);
> + memcpy (AslGbl_TableHeader.OemId, Child->Asl.Value.String,
> + strlen (Child->Asl.Value.String));
>
> /* OEM TableID */
>
> Child = Child->Asl.Next;
> - strncpy (AslGbl_TableHeader.OemTableId, Child->Asl.Value.String, ACPI_OEM_TABLE_ID_SIZE);
> + memcpy (AslGbl_TableHeader.OemTableId, Child->Asl.Value.String,
> + strlen (Child->Asl.Value.String));
>
> /* OEM Revision */
>
> @@ -587,7 +593,7 @@ CgWriteTableHeader (
>
> /* Compiler ID */
>
> - ACPI_MOVE_NAME (AslGbl_TableHeader.AslCompilerId, ASL_CREATOR_ID);
> + ACPI_COPY_NAMESEG (AslGbl_TableHeader.AslCompilerId, ASL_CREATOR_ID);
>
> /* Compiler version */
>
> diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l
> index 72fbbef3..26c221e5 100644
> --- a/src/acpica/source/compiler/aslcompiler.l
> +++ b/src/acpica/source/compiler/aslcompiler.l
> @@ -813,7 +813,7 @@ NamePathTail [.]{NameSeg}
>
> {NameSeg} { char *s;
> count (0);
> - s=UtLocalCacheCalloc (ACPI_NAME_SIZE + 1);
> + s=UtLocalCacheCalloc (ACPI_NAMESEG_SIZE + 1);
> if (strcmp (AslCompilertext, "\\"))
> {
> /*
> diff --git a/src/acpica/source/compiler/asldefine.h b/src/acpica/source/compiler/asldefine.h
> index a13acec0..8089d0b9 100644
> --- a/src/acpica/source/compiler/asldefine.h
> +++ b/src/acpica/source/compiler/asldefine.h
> @@ -162,7 +162,7 @@
> #define ASL_CREATOR_ID "INTL"
> #define ASL_DEFINE "__IASL__"
> #define ASL_PREFIX "iASL: "
> -#define ASL_COMPLIANCE "Supports ACPI Specification Revision 6.2A"
> +#define ASL_COMPLIANCE "Supports ACPI Specification Revision 6.3"
>
>
> /* Configuration constants */
> diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c
> index 5d3a7764..a2f9fcef 100644
> --- a/src/acpica/source/compiler/aslerror.c
> +++ b/src/acpica/source/compiler/aslerror.c
> @@ -1239,7 +1239,7 @@ AslElevateException (
> return (AE_LIMIT);
> }
>
> - AslGbl_ElevatedMessages[AslGbl_ExpectedMessagesIndex] = MessageId;
> + AslGbl_ElevatedMessages[AslGbl_ElevatedMessagesIndex] = MessageId;
> AslGbl_ElevatedMessagesIndex++;
> return (AE_OK);
> }
> diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c
> index c910358d..dfbdf7ce 100644
> --- a/src/acpica/source/compiler/aslload.c
> +++ b/src/acpica/source/compiler/aslload.c
> @@ -492,7 +492,7 @@ LdNamespace1Begin (
> case AML_FIELD_OP:
>
> Status = LdLoadFieldElements (Op, WalkState);
> - return (Status);
> + break;
>
> case AML_INT_CONNECTION_OP:
>
> @@ -556,7 +556,8 @@ LdNamespace1Begin (
> * We only want references to named objects:
> * Store (2, WXYZ) -> Attempt to resolve the name
> */
> - if (OpInfo->Class == AML_CLASS_NAMED_OBJECT)
> + if ((OpInfo->Class == AML_CLASS_NAMED_OBJECT) &&
> + (OpInfo->Type != AML_TYPE_NAMED_FIELD))
> {
> return (AE_OK);
> }
> @@ -702,7 +703,7 @@ LdNamespace1Begin (
>
> /* However, this is an error -- operand to Scope must exist */
>
> - if (strlen (Op->Asl.ExternalName) == ACPI_NAME_SIZE)
> + if (strlen (Op->Asl.ExternalName) == ACPI_NAMESEG_SIZE)
> {
> AslError (ASL_ERROR, ASL_MSG_NOT_FOUND, Op,
> Op->Asl.ExternalName);
> @@ -731,7 +732,7 @@ LdNamespace1Begin (
> * 10/2015.
> */
> if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
> - (ACPI_COMPARE_NAME (AslGbl_TableSignature, "DSDT")))
> + (ACPI_COMPARE_NAMESEG (AslGbl_TableSignature, "DSDT")))
> {
> /* However, allowed if the reference is within a method */
>
> @@ -1095,7 +1096,7 @@ LdNamespace2Begin (
> {
> /* Standalone NameSeg vs. NamePath */
>
> - if (strlen (Arg->Asl.ExternalName) == ACPI_NAME_SIZE)
> + if (strlen (Arg->Asl.ExternalName) == ACPI_NAMESEG_SIZE)
> {
> AslError (ASL_ERROR, ASL_MSG_NOT_FOUND, Op,
> Arg->Asl.ExternalName);
> diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c
> index 07e98482..0f31c655 100644
> --- a/src/acpica/source/compiler/aslmessages.c
> +++ b/src/acpica/source/compiler/aslmessages.c
> @@ -342,7 +342,7 @@ const char *AslCompilerMsgs [] =
> /* ASL_MSG_RANGE */ "Constant out of range",
> /* ASL_MSG_BUFFER_ALLOCATION */ "Could not allocate line buffer",
> /* ASL_MSG_MISSING_DEPENDENCY */ "Missing dependency",
> -/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Illegal forward reference",
> +/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Forward references are not supported by the ASL language",
> /* ASL_MSG_ILLEGAL_METHOD_REF */ "Object is declared in a different method",
> /* ASL_MSG_LOCAL_NOT_USED */ "Method Local is set but never used",
> /* ASL_MSG_ARG_AS_LOCAL_NOT_USED */ "Method Argument (as a local) is set but never used",
> diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c
> index 4563317d..98884bc3 100644
> --- a/src/acpica/source/compiler/aslmethod.c
> +++ b/src/acpica/source/compiler/aslmethod.c
> @@ -228,7 +228,7 @@ MtMethodAnalysisWalkBegin (
> * 1) _PS0 - One of these must exist: _PS1, _PS2, _PS3
> * 2) _PS1/_PS2/_PS3: A _PS0 must exist
> */
> - if (ACPI_COMPARE_NAME (METHOD_NAME__PS0, Op->Asl.NameSeg))
> + if (ACPI_COMPARE_NAMESEG (METHOD_NAME__PS0, Op->Asl.NameSeg))
> {
> /* For _PS0, one of _PS1/_PS2/_PS3 must exist */
>
> @@ -241,9 +241,9 @@ MtMethodAnalysisWalkBegin (
> }
> }
> else if (
> - ACPI_COMPARE_NAME (METHOD_NAME__PS1, Op->Asl.NameSeg) ||
> - ACPI_COMPARE_NAME (METHOD_NAME__PS2, Op->Asl.NameSeg) ||
> - ACPI_COMPARE_NAME (METHOD_NAME__PS3, Op->Asl.NameSeg))
> + ACPI_COMPARE_NAMESEG (METHOD_NAME__PS1, Op->Asl.NameSeg) ||
> + ACPI_COMPARE_NAMESEG (METHOD_NAME__PS2, Op->Asl.NameSeg) ||
> + ACPI_COMPARE_NAMESEG (METHOD_NAME__PS3, Op->Asl.NameSeg))
> {
> /* For _PS1/_PS2/_PS3, a _PS0 must exist */
>
> diff --git a/src/acpica/source/compiler/asloffset.c b/src/acpica/source/compiler/asloffset.c
> index 4a99c39a..dd8e1b07 100644
> --- a/src/acpica/source/compiler/asloffset.c
> +++ b/src/acpica/source/compiler/asloffset.c
> @@ -258,7 +258,7 @@ LsAmlOffsetWalk (
> /* Get offset of last nameseg and the actual data */
>
> NamepathOffset = AslGbl_CurrentAmlOffset + Length +
> - (Op->Asl.FinalAmlLength - ACPI_NAME_SIZE);
> + (Op->Asl.FinalAmlLength - ACPI_NAMESEG_SIZE);
>
> DataOffset = AslGbl_CurrentAmlOffset + Length +
> Op->Asl.FinalAmlLength;
> @@ -323,7 +323,7 @@ LsAmlOffsetWalk (
> /* Get offset of last nameseg and the actual data */
>
> NamepathOffset = AslGbl_CurrentAmlOffset + Length +
> - (NextOp->Asl.FinalAmlLength - ACPI_NAME_SIZE);
> + (NextOp->Asl.FinalAmlLength - ACPI_NAMESEG_SIZE);
>
> DataOffset = AslGbl_CurrentAmlOffset + Length +
> (NextOp->Asl.FinalAmlLength + 1);
> @@ -370,7 +370,7 @@ LsAmlOffsetWalk (
> /* Get offset of last nameseg and the actual data (flags byte) */
>
> NamepathOffset = AslGbl_CurrentAmlOffset + Length +
> - (NextOp->Asl.FinalAmlLength - ACPI_NAME_SIZE);
> + (NextOp->Asl.FinalAmlLength - ACPI_NAMESEG_SIZE);
>
> DataOffset = AslGbl_CurrentAmlOffset + Length +
> NextOp->Asl.FinalAmlLength;
> @@ -394,7 +394,7 @@ LsAmlOffsetWalk (
> /* Get offset of last nameseg and the actual data (PBlock address) */
>
> NamepathOffset = AslGbl_CurrentAmlOffset + Length +
> - (NextOp->Asl.FinalAmlLength - ACPI_NAME_SIZE);
> + (NextOp->Asl.FinalAmlLength - ACPI_NAMESEG_SIZE);
>
> DataOffset = AslGbl_CurrentAmlOffset + Length +
> (NextOp->Asl.FinalAmlLength + 1);
> @@ -419,7 +419,7 @@ LsAmlOffsetWalk (
> /* Get offset of last nameseg */
>
> NamepathOffset = AslGbl_CurrentAmlOffset + Length +
> - (NextOp->Asl.FinalAmlLength - ACPI_NAME_SIZE);
> + (NextOp->Asl.FinalAmlLength - ACPI_NAMESEG_SIZE);
>
> LsEmitOffsetTableEntry (FileId, Node, NamepathOffset, 0,
> Op->Asl.ParseOpName, 0, (UINT8) 0, Op->Asl.AmlOpcode);
> diff --git a/src/acpica/source/compiler/asloperands.c b/src/acpica/source/compiler/asloperands.c
> index 172f3470..67e16fd5 100644
> --- a/src/acpica/source/compiler/asloperands.c
> +++ b/src/acpica/source/compiler/asloperands.c
> @@ -1087,13 +1087,13 @@ OpnDoDefinitionBlock (
> if (Child->Asl.Value.String)
> {
> AslGbl_TableSignature = Child->Asl.Value.String;
> - if (strlen (AslGbl_TableSignature) != ACPI_NAME_SIZE)
> + if (strlen (AslGbl_TableSignature) != ACPI_NAMESEG_SIZE)
> {
> AslError (ASL_ERROR, ASL_MSG_TABLE_SIGNATURE, Child,
> "Length must be exactly 4 characters");
> }
>
> - for (i = 0; i < ACPI_NAME_SIZE; i++)
> + for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
> {
> if (!isalnum ((int) AslGbl_TableSignature[i]))
> {
> diff --git a/src/acpica/source/compiler/aslopt.c b/src/acpica/source/compiler/aslopt.c
> index 1b0c4d33..6d2045f8 100644
> --- a/src/acpica/source/compiler/aslopt.c
> +++ b/src/acpica/source/compiler/aslopt.c
> @@ -241,7 +241,7 @@ OptSearchToRoot (
> * not match, and we cannot use this optimization.
> */
> Path = &(((char *) TargetPath->Pointer)[
> - TargetPath->Length - ACPI_NAME_SIZE]);
> + TargetPath->Length - ACPI_NAMESEG_SIZE]);
> ScopeInfo.Scope.Node = CurrentNode;
>
> /* Lookup the NameSeg using SEARCH_PARENT (search-to-root) */
> @@ -275,7 +275,7 @@ OptSearchToRoot (
>
> /* We must allocate a new string for the name (TargetPath gets deleted) */
>
> - *NewPath = UtLocalCacheCalloc (ACPI_NAME_SIZE + 1);
> + *NewPath = UtLocalCacheCalloc (ACPI_NAMESEG_SIZE + 1);
> strcpy (*NewPath, Path);
>
> if (strncmp (*NewPath, "_T_", 3))
> @@ -343,7 +343,7 @@ OptBuildShortestPath (
> * can possibly have in common. (To optimize, we have to have at least 1)
> *
> * Note: The external NamePath string lengths are always a multiple of 5
> - * (ACPI_NAME_SIZE + separator)
> + * (ACPI_NAMESEG_SIZE + separator)
> */
> MaxCommonSegments = TargetPath->Length / ACPI_PATH_SEGMENT_LENGTH;
> if (CurrentPath->Length < TargetPath->Length)
> @@ -363,7 +363,7 @@ OptBuildShortestPath (
>
> Index = (NumCommonSegments * ACPI_PATH_SEGMENT_LENGTH) + 1;
>
> - if (!ACPI_COMPARE_NAME (
> + if (!ACPI_COMPARE_NAMESEG (
> &(ACPI_CAST_PTR (char, TargetPath->Pointer)) [Index],
> &(ACPI_CAST_PTR (char, CurrentPath->Pointer)) [Index]))
> {
> @@ -713,7 +713,7 @@ OptOptimizeNamePath (
> * to be any possibility that it can be optimized to a shorter string
> */
> AmlNameStringLength = strlen (AmlNameString);
> - if (AmlNameStringLength <= ACPI_NAME_SIZE)
> + if (AmlNameStringLength <= ACPI_NAMESEG_SIZE)
> {
> ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS,
> "NAMESEG %4.4s\n", AmlNameString));
> diff --git a/src/acpica/source/compiler/aslpredef.c b/src/acpica/source/compiler/aslpredef.c
> index ab29105a..1f850239 100644
> --- a/src/acpica/source/compiler/aslpredef.c
> +++ b/src/acpica/source/compiler/aslpredef.c
> @@ -578,7 +578,7 @@ ApCheckForPredefinedName (
> ThisName = AcpiGbl_PredefinedMethods;
> for (i = 0; ThisName->Info.Name[0]; i++)
> {
> - if (ACPI_COMPARE_NAME (Name, ThisName->Info.Name))
> + if (ACPI_COMPARE_NAMESEG (Name, ThisName->Info.Name))
> {
> /* Return index into predefined array */
> return (i);
> @@ -592,7 +592,7 @@ ApCheckForPredefinedName (
> ThisName = AcpiGbl_ResourceNames;
> while (ThisName->Info.Name[0])
> {
> - if (ACPI_COMPARE_NAME (Name, ThisName->Info.Name))
> + if (ACPI_COMPARE_NAMESEG (Name, ThisName->Info.Name))
> {
> return (ACPI_PREDEFINED_NAME);
> }
> @@ -603,7 +603,7 @@ ApCheckForPredefinedName (
> ThisName = AcpiGbl_ScopeNames;
> while (ThisName->Info.Name[0])
> {
> - if (ACPI_COMPARE_NAME (Name, ThisName->Info.Name))
> + if (ACPI_COMPARE_NAMESEG (Name, ThisName->Info.Name))
> {
> return (ACPI_PREDEFINED_NAME);
> }
> diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c
> index e9f0d049..5237c638 100644
> --- a/src/acpica/source/compiler/asltransform.c
> +++ b/src/acpica/source/compiler/asltransform.c
> @@ -553,7 +553,7 @@ TrDoDefinitionBlock (
> * to be at the root of the namespace; Therefore, namepath
> * optimization can only be performed on the DSDT.
> */
> - if (!ACPI_COMPARE_NAME (Next->Asl.Value.String, ACPI_SIG_DSDT))
> + if (!ACPI_COMPARE_NAMESEG (Next->Asl.Value.String, ACPI_SIG_DSDT))
> {
> AslGbl_ReferenceOptimizationFlag = FALSE;
> }
> diff --git a/src/acpica/source/compiler/aslutils.c b/src/acpica/source/compiler/aslutils.c
> index 1fc98bb5..6b0d5eff 100644
> --- a/src/acpica/source/compiler/aslutils.c
> +++ b/src/acpica/source/compiler/aslutils.c
> @@ -752,7 +752,7 @@ UtPadNameWithUnderscores (
> UINT32 i;
>
>
> - for (i = 0; (i < ACPI_NAME_SIZE); i++)
> + for (i = 0; (i < ACPI_NAMESEG_SIZE); i++)
> {
> if (*NameSeg)
> {
> @@ -823,7 +823,7 @@ UtAttachNameseg (
> UtPadNameWithUnderscores (Name, PaddedNameSeg);
> }
>
> - ACPI_MOVE_NAME (Op->Asl.NameSeg, PaddedNameSeg);
> + ACPI_COPY_NAMESEG (Op->Asl.NameSeg, PaddedNameSeg);
> }
>
>
> diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c
> index b3067feb..99f6c4a0 100644
> --- a/src/acpica/source/compiler/aslxref.c
> +++ b/src/acpica/source/compiler/aslxref.c
> @@ -613,7 +613,8 @@ XfNamespaceLocateBegin (
> (Op->Asl.ParseOpcode != PARSEOP_NAMESTRING) &&
> (Op->Asl.ParseOpcode != PARSEOP_NAMESEG) &&
> (Op->Asl.ParseOpcode != PARSEOP_METHODCALL) &&
> - (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL))
> + (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL) &&
> + (OpInfo->Type != AML_TYPE_NAMED_FIELD))
> {
> return_ACPI_STATUS (AE_OK);
> }
> @@ -637,7 +638,8 @@ XfNamespaceLocateBegin (
> if ((Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) ||
> (Op->Asl.ParseOpcode == PARSEOP_NAMESEG) ||
> (Op->Asl.ParseOpcode == PARSEOP_METHODCALL) ||
> - (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL))
> + (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) ||
> + (OpInfo->Type == AML_TYPE_NAMED_FIELD))
> {
> /*
> * These are name references, do not push the scope stack
> @@ -674,6 +676,10 @@ XfNamespaceLocateBegin (
>
> Path = NextOp->Asl.Value.String;
> }
> + else if (OpInfo->Type == AML_TYPE_NAMED_FIELD)
> + {
> + Path = Op->Asl.Child->Asl.Value.String;
> + }
> else
> {
> Path = Op->Asl.Value.String;
> @@ -702,7 +708,7 @@ XfNamespaceLocateBegin (
> * We didn't find the name reference by path -- we can qualify this
> * a little better before we print an error message
> */
> - if (strlen (Path) == ACPI_NAME_SIZE)
> + if (strlen (Path) == ACPI_NAMESEG_SIZE)
> {
> /* A simple, one-segment ACPI name */
>
> @@ -764,7 +770,7 @@ XfNamespaceLocateBegin (
> * doesn't exist or just can't be reached. However, we
> * can differentiate between a NameSeg vs. NamePath.
> */
> - if (strlen (Op->Asl.ExternalName) == ACPI_NAME_SIZE)
> + if (strlen (Op->Asl.ExternalName) == ACPI_NAMESEG_SIZE)
> {
> AslError (ASL_ERROR, ASL_MSG_NOT_FOUND, Op,
> Op->Asl.ExternalName);
> diff --git a/src/acpica/source/compiler/dtcompile.c b/src/acpica/source/compiler/dtcompile.c
> index 88a7a8b0..95fcb2d4 100644
> --- a/src/acpica/source/compiler/dtcompile.c
> +++ b/src/acpica/source/compiler/dtcompile.c
> @@ -418,7 +418,7 @@ DtCompileDataTable (
> * Currently, these are the FACS and RSDP. Also check for an OEMx table,
> * these tables have user-defined contents.
> */
> - if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_FACS))
> + if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_FACS))
> {
> Status = DtCompileFacs (FieldList);
> if (ACPI_FAILURE (Status))
> @@ -434,7 +434,7 @@ DtCompileDataTable (
> Status = DtCompileRsdp (FieldList);
> return (Status);
> }
> - else if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_S3PT))
> + else if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_S3PT))
> {
> Status = DtCompileS3pt (FieldList);
> if (ACPI_FAILURE (Status))
> diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c
> index 8e3124a3..4cc6c040 100644
> --- a/src/acpica/source/compiler/dttemplate.c
> +++ b/src/acpica/source/compiler/dttemplate.c
> @@ -204,11 +204,11 @@ AcpiUtIsSpecialTable (
> char *Signature)
> {
>
> - if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_DSDT) ||
> - ACPI_COMPARE_NAME (Signature, ACPI_SIG_OSDT) ||
> - ACPI_COMPARE_NAME (Signature, ACPI_SIG_SSDT) ||
> - ACPI_COMPARE_NAME (Signature, ACPI_SIG_FACS) ||
> - ACPI_COMPARE_NAME (Signature, ACPI_RSDP_NAME))
> + if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_DSDT) ||
> + ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_OSDT) ||
> + ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_SSDT) ||
> + ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_FACS) ||
> + ACPI_COMPARE_NAMESEG (Signature, ACPI_RSDP_NAME))
> {
> return (TRUE);
> }
> @@ -346,7 +346,7 @@ DtCreateOneTemplateFile (
> * 2) Signature must be a recognized ACPI table
> * 3) There must be a template associated with the signature
> */
> - if (strlen (Signature) != ACPI_NAME_SIZE)
> + if (strlen (Signature) != ACPI_NAMESEG_SIZE)
> {
> fprintf (stderr,
> "%s: Invalid ACPI table signature "
> @@ -567,7 +567,7 @@ DtCreateOneTemplate (
> AcpiOsPrintf (" (AML byte code table)\n");
> AcpiOsPrintf (" */\n");
>
> - if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_DSDT))
> + if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_DSDT))
> {
> Actual = DtEmitDefinitionBlock (
> File, DisasmFilename, ACPI_SIG_DSDT, 1);
> @@ -590,7 +590,7 @@ DtCreateOneTemplate (
> }
> }
> }
> - else if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_SSDT))
> + else if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_SSDT))
> {
> Actual = DtEmitDefinitionBlock (
> File, DisasmFilename, ACPI_SIG_SSDT, 1);
> @@ -600,7 +600,7 @@ DtCreateOneTemplate (
> goto Cleanup;
> }
> }
> - else if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_OSDT))
> + else if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_OSDT))
> {
> Actual = DtEmitDefinitionBlock (
> File, DisasmFilename, ACPI_SIG_OSDT, 1);
> @@ -610,12 +610,12 @@ DtCreateOneTemplate (
> goto Cleanup;
> }
> }
> - else if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_FACS))
> + else if (ACPI_COMPARE_NAMESEG (Signature, ACPI_SIG_FACS))
> {
> AcpiDmDumpDataTable (ACPI_CAST_PTR (ACPI_TABLE_HEADER,
> TemplateFacs));
> }
> - else if (ACPI_COMPARE_NAME (Signature, ACPI_RSDP_NAME))
> + else if (ACPI_COMPARE_NAMESEG (Signature, ACPI_RSDP_NAME))
> {
> AcpiDmDumpDataTable (ACPI_CAST_PTR (ACPI_TABLE_HEADER,
> TemplateRsdp));
> diff --git a/src/acpica/source/components/debugger/dbexec.c b/src/acpica/source/components/debugger/dbexec.c
> index 49d1180f..8897fa6d 100644
> --- a/src/acpica/source/components/debugger/dbexec.c
> +++ b/src/acpica/source/components/debugger/dbexec.c
> @@ -658,7 +658,7 @@ AcpiDbExecute (
>
> /* Dump a _PLD buffer if present */
>
> - if (ACPI_COMPARE_NAME ((ACPI_CAST_PTR (ACPI_NAMESPACE_NODE,
> + if (ACPI_COMPARE_NAMESEG ((ACPI_CAST_PTR (ACPI_NAMESPACE_NODE,
> AcpiGbl_DbMethodInfo.Method)->Name.Ascii),
> METHOD_NAME__PLD))
> {
> diff --git a/src/acpica/source/components/debugger/dbnames.c b/src/acpica/source/components/debugger/dbnames.c
> index 3c01e808..2c9af4be 100644
> --- a/src/acpica/source/components/debugger/dbnames.c
> +++ b/src/acpica/source/components/debugger/dbnames.c
> @@ -557,7 +557,7 @@ AcpiDbFindNameInNamespace (
> char *AcpiNamePtr = AcpiName;
>
>
> - if (strlen (NameArg) > ACPI_NAME_SIZE)
> + if (strlen (NameArg) > ACPI_NAMESEG_SIZE)
> {
> AcpiOsPrintf ("Name must be no longer than 4 characters\n");
> return (AE_OK);
> diff --git a/src/acpica/source/components/disassembler/dmbuffer.c b/src/acpica/source/components/disassembler/dmbuffer.c
> index a58ff2f5..f61c8378 100644
> --- a/src/acpica/source/components/disassembler/dmbuffer.c
> +++ b/src/acpica/source/components/disassembler/dmbuffer.c
> @@ -736,7 +736,7 @@ AcpiDmIsPldBuffer (
> {
> Node = ParentOp->Common.Node;
>
> - if (ACPI_COMPARE_NAME (Node->Name.Ascii, METHOD_NAME__PLD))
> + if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, METHOD_NAME__PLD))
> {
> /* Ignore the Size argument in the disassembly of this buffer op */
>
> @@ -770,7 +770,7 @@ AcpiDmIsPldBuffer (
> {
> Node = ParentOp->Common.Node;
>
> - if (ACPI_COMPARE_NAME (Node->Name.Ascii, METHOD_NAME__PLD))
> + if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, METHOD_NAME__PLD))
> {
> /* Ignore the Size argument in the disassembly of this buffer op */
>
> @@ -1100,7 +1100,7 @@ AcpiDmCheckForHardwareId (
>
> /* Check for _HID - has one argument */
>
> - if (ACPI_COMPARE_NAME (&Name, METHOD_NAME__HID))
> + if (ACPI_COMPARE_NAMESEG (&Name, METHOD_NAME__HID))
> {
> AcpiDmGetHardwareIdType (NextOp);
> return;
> @@ -1108,7 +1108,7 @@ AcpiDmCheckForHardwareId (
>
> /* Exit if not _CID */
>
> - if (!ACPI_COMPARE_NAME (&Name, METHOD_NAME__CID))
> + if (!ACPI_COMPARE_NAMESEG (&Name, METHOD_NAME__CID))
> {
> return;
> }
> diff --git a/src/acpica/source/components/disassembler/dmnames.c b/src/acpica/source/components/disassembler/dmnames.c
> index bbff3e0a..d07af72f 100644
> --- a/src/acpica/source/components/disassembler/dmnames.c
> +++ b/src/acpica/source/components/disassembler/dmnames.c
> @@ -199,8 +199,8 @@ AcpiDmDumpName (
>
> /* Remove all trailing underscores from the name */
>
> - Length = ACPI_NAME_SIZE;
> - for (i = (ACPI_NAME_SIZE - 1); i != 0; i--)
> + Length = ACPI_NAMESEG_SIZE;
> + for (i = (ACPI_NAMESEG_SIZE - 1); i != 0; i--)
> {
> if (NewName[i] == '_')
> {
> @@ -378,7 +378,7 @@ AcpiDmNamestring (
> AcpiOsPrintf (".");
> }
>
> - Name += ACPI_NAME_SIZE;
> + Name += ACPI_NAMESEG_SIZE;
> }
> }
>
> diff --git a/src/acpica/source/components/dispatcher/dsfield.c b/src/acpica/source/components/dispatcher/dsfield.c
> index cc0a271e..3aff4db1 100644
> --- a/src/acpica/source/components/dispatcher/dsfield.c
> +++ b/src/acpica/source/components/dispatcher/dsfield.c
> @@ -685,7 +685,7 @@ AcpiDsCreateField (
> Info.RegionNode = RegionNode;
>
> Status = AcpiDsGetFieldNames (&Info, WalkState, Arg->Common.Next);
> - if (Info.RegionNode->Type == ACPI_ADR_SPACE_PLATFORM_COMM &&
> + if (Info.RegionNode->Object->Region.SpaceId == ACPI_ADR_SPACE_PLATFORM_COMM &&
> !(RegionNode->Object->Field.InternalPccBuffer
> = ACPI_ALLOCATE_ZEROED(Info.RegionNode->Object->Region.Length)))
> {
> diff --git a/src/acpica/source/components/dispatcher/dsinit.c b/src/acpica/source/components/dispatcher/dsinit.c
> index 334187a3..e7045f46 100644
> --- a/src/acpica/source/components/dispatcher/dsinit.c
> +++ b/src/acpica/source/components/dispatcher/dsinit.c
> @@ -359,7 +359,7 @@ AcpiDsInitializeObjects (
>
> /* DSDT is always the first AML table */
>
> - if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT))
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_DSDT))
> {
> ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
> "\nInitializing Namespace objects:\n"));
> diff --git a/src/acpica/source/components/events/evgpeinit.c b/src/acpica/source/components/events/evgpeinit.c
> index 4aec9b80..b7e02a06 100644
> --- a/src/acpica/source/components/events/evgpeinit.c
> +++ b/src/acpica/source/components/events/evgpeinit.c
> @@ -447,7 +447,7 @@ AcpiEvMatchGpeMethod (
> ACPI_STATUS Status;
> UINT32 GpeNumber;
> UINT8 TempGpeNumber;
> - char Name[ACPI_NAME_SIZE + 1];
> + char Name[ACPI_NAMESEG_SIZE + 1];
> UINT8 Type;
>
>
> @@ -468,7 +468,7 @@ AcpiEvMatchGpeMethod (
> * 1) Extract the method name and null terminate it
> */
> ACPI_MOVE_32_TO_32 (Name, &MethodNode->Name.Integer);
> - Name[ACPI_NAME_SIZE] = 0;
> + Name[ACPI_NAMESEG_SIZE] = 0;
>
> /* 2) Name must begin with an underscore */
>
> diff --git a/src/acpica/source/components/executer/exnames.c b/src/acpica/source/components/executer/exnames.c
> index f652dfab..70a01467 100644
> --- a/src/acpica/source/components/executer/exnames.c
> +++ b/src/acpica/source/components/executer/exnames.c
> @@ -207,11 +207,11 @@ AcpiExAllocateNameString (
> {
> /* Special case for root */
>
> - SizeNeeded = 1 + (ACPI_NAME_SIZE * NumNameSegs) + 2 + 1;
> + SizeNeeded = 1 + (ACPI_NAMESEG_SIZE * NumNameSegs) + 2 + 1;
> }
> else
> {
> - SizeNeeded = PrefixCount + (ACPI_NAME_SIZE * NumNameSegs) + 2 + 1;
> + SizeNeeded = PrefixCount + (ACPI_NAMESEG_SIZE * NumNameSegs) + 2 + 1;
> }
>
> /*
> @@ -310,7 +310,7 @@ AcpiExNameSegment (
> }
>
> for (Index = 0;
> - (Index < ACPI_NAME_SIZE) && (AcpiUtValidNameChar (*AmlAddress, 0));
> + (Index < ACPI_NAMESEG_SIZE) && (AcpiUtValidNameChar (*AmlAddress, 0));
> Index++)
> {
> CharBuf[Index] = *AmlAddress++;
> diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c
> index d8e3b841..94dba130 100644
> --- a/src/acpica/source/components/namespace/nsaccess.c
> +++ b/src/acpica/source/components/namespace/nsaccess.c
> @@ -851,7 +851,7 @@ AcpiNsLookup (
>
> /* Point to next name segment and make this node current */
>
> - Path += ACPI_NAME_SIZE;
> + Path += ACPI_NAMESEG_SIZE;
> CurrentNode = ThisNode;
> }
>
> diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c
> index 11cb03e3..6ea04525 100644
> --- a/src/acpica/source/components/namespace/nsdump.c
> +++ b/src/acpica/source/components/namespace/nsdump.c
> @@ -236,7 +236,7 @@ AcpiNsPrintPathname (
> AcpiOsPrintf ("?");
> }
>
> - Pathname += ACPI_NAME_SIZE;
> + Pathname += ACPI_NAMESEG_SIZE;
> NumSegments--;
> if (NumSegments)
> {
> diff --git a/src/acpica/source/components/namespace/nsinit.c b/src/acpica/source/components/namespace/nsinit.c
> index ccdef3c9..4dd28fd4 100644
> --- a/src/acpica/source/components/namespace/nsinit.c
> +++ b/src/acpica/source/components/namespace/nsinit.c
> @@ -662,7 +662,7 @@ AcpiNsFindIniMethods (
>
> /* We are only looking for methods named _INI */
>
> - if (!ACPI_COMPARE_NAME (Node->Name.Ascii, METHOD_NAME__INI))
> + if (!ACPI_COMPARE_NAMESEG (Node->Name.Ascii, METHOD_NAME__INI))
> {
> return (AE_OK);
> }
> @@ -839,7 +839,7 @@ AcpiNsInitOneDevice (
> * Note: We know there is an _INI within this subtree, but it may not be
> * under this particular device, it may be lower in the branch.
> */
> - if (!ACPI_COMPARE_NAME (DeviceNode->Name.Ascii, "_SB_") ||
> + if (!ACPI_COMPARE_NAMESEG (DeviceNode->Name.Ascii, "_SB_") ||
> DeviceNode->Parent != AcpiGbl_RootNode)
> {
> ACPI_DEBUG_EXEC (AcpiUtDisplayInitPathname (
> diff --git a/src/acpica/source/components/namespace/nsnames.c b/src/acpica/source/components/namespace/nsnames.c
> index 0bab2f23..7633e2ef 100644
> --- a/src/acpica/source/components/namespace/nsnames.c
> +++ b/src/acpica/source/components/namespace/nsnames.c
> @@ -273,8 +273,8 @@ AcpiNsHandleToName (
> /* Just copy the ACPI name from the Node and zero terminate it */
>
> NodeName = AcpiUtGetNodeName (Node);
> - ACPI_MOVE_NAME (Buffer->Pointer, NodeName);
> - ((char *) Buffer->Pointer) [ACPI_NAME_SIZE] = 0;
> + ACPI_COPY_NAMESEG (Buffer->Pointer, NodeName);
> + ((char *) Buffer->Pointer) [ACPI_NAMESEG_SIZE] = 0;
>
> ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%4.4s\n", (char *) Buffer->Pointer));
> return_ACPI_STATUS (AE_OK);
> @@ -374,7 +374,7 @@ AcpiNsBuildNormalizedPath (
> BOOLEAN NoTrailing)
> {
> UINT32 Length = 0, i;
> - char Name[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE];
> BOOLEAN DoNoTrailing;
> char c, *Left, *Right;
> ACPI_NAMESPACE_NODE *NextNode;
> @@ -657,7 +657,7 @@ AcpiNsNormalizePathname (
> {
> /* Do one nameseg at a time */
>
> - for (i = 0; (i < ACPI_NAME_SIZE) && *InputPath; i++)
> + for (i = 0; (i < ACPI_NAMESEG_SIZE) && *InputPath; i++)
> {
> if ((i == 0) || (*InputPath != '_')) /* First char is allowed to be underscore */
> {
> diff --git a/src/acpica/source/components/namespace/nsobject.c b/src/acpica/source/components/namespace/nsobject.c
> index 3655b065..9c8865f0 100644
> --- a/src/acpica/source/components/namespace/nsobject.c
> +++ b/src/acpica/source/components/namespace/nsobject.c
> @@ -352,6 +352,11 @@ AcpiNsDetachObject (
> }
> }
>
> + if (ObjDesc->Common.Type == ACPI_TYPE_REGION)
> + {
> + AcpiUtRemoveAddressRange(ObjDesc->Region.SpaceId, Node);
> + }
> +
> /* Clear the Node entry in all cases */
>
> Node->Object = NULL;
> diff --git a/src/acpica/source/components/namespace/nsparse.c b/src/acpica/source/components/namespace/nsparse.c
> index e559223a..43d261e4 100644
> --- a/src/acpica/source/components/namespace/nsparse.c
> +++ b/src/acpica/source/components/namespace/nsparse.c
> @@ -365,7 +365,7 @@ AcpiNsOneCompleteParse (
>
> /* Found OSDT table, enable the namespace override feature */
>
> - if (ACPI_COMPARE_NAME(Table->Signature, ACPI_SIG_OSDT) &&
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_OSDT) &&
> PassNumber == ACPI_IMODE_LOAD_PASS1)
> {
> WalkState->NamespaceOverride = TRUE;
> diff --git a/src/acpica/source/components/namespace/nsrepair.c b/src/acpica/source/components/namespace/nsrepair.c
> index 6c9e2b2e..885d50bf 100644
> --- a/src/acpica/source/components/namespace/nsrepair.c
> +++ b/src/acpica/source/components/namespace/nsrepair.c
> @@ -470,7 +470,7 @@ AcpiNsMatchSimpleRepair (
> ThisName = AcpiObjectRepairInfo;
> while (ThisName->ObjectConverter)
> {
> - if (ACPI_COMPARE_NAME (Node->Name.Ascii, ThisName->Name))
> + if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, ThisName->Name))
> {
> /* Check if we can actually repair this name/type combination */
>
> diff --git a/src/acpica/source/components/namespace/nsrepair2.c b/src/acpica/source/components/namespace/nsrepair2.c
> index 9c6ee4f7..a0b10747 100644
> --- a/src/acpica/source/components/namespace/nsrepair2.c
> +++ b/src/acpica/source/components/namespace/nsrepair2.c
> @@ -169,7 +169,7 @@ ACPI_STATUS (*ACPI_REPAIR_FUNCTION) (
>
> typedef struct acpi_repair_info
> {
> - char Name[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE];
> ACPI_REPAIR_FUNCTION RepairFunction;
>
> } ACPI_REPAIR_INFO;
> @@ -358,7 +358,7 @@ AcpiNsMatchComplexRepair (
> ThisName = AcpiNsRepairableNames;
> while (ThisName->RepairFunction)
> {
> - if (ACPI_COMPARE_NAME (Node->Name.Ascii, ThisName->Name))
> + if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, ThisName->Name))
> {
> return (ThisName);
> }
> diff --git a/src/acpica/source/components/namespace/nsutils.c b/src/acpica/source/components/namespace/nsutils.c
> index 4a9f0313..85732ff8 100644
> --- a/src/acpica/source/components/namespace/nsutils.c
> +++ b/src/acpica/source/components/namespace/nsutils.c
> @@ -351,7 +351,7 @@ AcpiNsGetInternalNameLength (
> }
> }
>
> - Info->Length = (ACPI_NAME_SIZE * Info->NumSegments) +
> + Info->Length = (ACPI_NAMESEG_SIZE * Info->NumSegments) +
> 4 + Info->NumCarats;
>
> Info->NextExternalChar = NextExternalChar;
> @@ -443,7 +443,7 @@ AcpiNsBuildInternalName (
>
> for (; NumSegments; NumSegments--)
> {
> - for (i = 0; i < ACPI_NAME_SIZE; i++)
> + for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
> {
> if (ACPI_IS_PATH_SEPARATOR (*ExternalName) ||
> (*ExternalName == 0))
> @@ -472,7 +472,7 @@ AcpiNsBuildInternalName (
> /* Move on the next segment */
>
> ExternalName++;
> - Result += ACPI_NAME_SIZE;
> + Result += ACPI_NAMESEG_SIZE;
> }
>
> /* Terminate the string */
> @@ -721,12 +721,12 @@ AcpiNsExternalizeName (
>
> /* Copy and validate the 4-char name segment */
>
> - ACPI_MOVE_NAME (&(*ConvertedName)[j],
> + ACPI_COPY_NAMESEG (&(*ConvertedName)[j],
> &InternalName[NamesIndex]);
> AcpiUtRepairName (&(*ConvertedName)[j]);
>
> - j += ACPI_NAME_SIZE;
> - NamesIndex += ACPI_NAME_SIZE;
> + j += ACPI_NAMESEG_SIZE;
> + NamesIndex += ACPI_NAMESEG_SIZE;
> }
> }
>
> diff --git a/src/acpica/source/components/namespace/nsxfname.c b/src/acpica/source/components/namespace/nsxfname.c
> index a946b541..7332a92f 100644
> --- a/src/acpica/source/components/namespace/nsxfname.c
> +++ b/src/acpica/source/components/namespace/nsxfname.c
> @@ -691,8 +691,8 @@ AcpiInstallMethod (
>
> /* Table must be a DSDT or SSDT */
>
> - if (!ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT) &&
> - !ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_SSDT))
> + if (!ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_DSDT) &&
> + !ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_SSDT))
> {
> return (AE_BAD_HEADER);
> }
> diff --git a/src/acpica/source/components/parser/psargs.c b/src/acpica/source/components/parser/psargs.c
> index 3f4ffeed..c9faa95b 100644
> --- a/src/acpica/source/components/parser/psargs.c
> +++ b/src/acpica/source/components/parser/psargs.c
> @@ -314,21 +314,21 @@ AcpiPsGetNextNamestring (
>
> /* Two name segments */
>
> - End += 1 + (2 * ACPI_NAME_SIZE);
> + End += 1 + (2 * ACPI_NAMESEG_SIZE);
> break;
>
> case AML_MULTI_NAME_PREFIX:
>
> /* Multiple name segments, 4 chars each, count in next byte */
>
> - End += 2 + (*(End + 1) * ACPI_NAME_SIZE);
> + End += 2 + (*(End + 1) * ACPI_NAMESEG_SIZE);
> break;
>
> default:
>
> /* Single name segment */
>
> - End += ACPI_NAME_SIZE;
> + End += ACPI_NAMESEG_SIZE;
> break;
> }
>
> @@ -708,7 +708,7 @@ AcpiPsGetNextField (
>
> ACPI_MOVE_32_TO_32 (&Name, ParserState->Aml);
> AcpiPsSetName (Field, Name);
> - ParserState->Aml += ACPI_NAME_SIZE;
> + ParserState->Aml += ACPI_NAMESEG_SIZE;
>
>
> ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
> diff --git a/src/acpica/source/components/resources/rsxface.c b/src/acpica/source/components/resources/rsxface.c
> index 1a624dc2..2e8130b3 100644
> --- a/src/acpica/source/components/resources/rsxface.c
> +++ b/src/acpica/source/components/resources/rsxface.c
> @@ -825,10 +825,10 @@ AcpiWalkResources (
> /* Parameter validation */
>
> if (!DeviceHandle || !UserFunction || !Name ||
> - (!ACPI_COMPARE_NAME (Name, METHOD_NAME__CRS) &&
> - !ACPI_COMPARE_NAME (Name, METHOD_NAME__PRS) &&
> - !ACPI_COMPARE_NAME (Name, METHOD_NAME__AEI) &&
> - !ACPI_COMPARE_NAME (Name, METHOD_NAME__DMA)))
> + (!ACPI_COMPARE_NAMESEG (Name, METHOD_NAME__CRS) &&
> + !ACPI_COMPARE_NAMESEG (Name, METHOD_NAME__PRS) &&
> + !ACPI_COMPARE_NAMESEG (Name, METHOD_NAME__AEI) &&
> + !ACPI_COMPARE_NAMESEG (Name, METHOD_NAME__DMA)))
> {
> return_ACPI_STATUS (AE_BAD_PARAMETER);
> }
> diff --git a/src/acpica/source/components/tables/tbdata.c b/src/acpica/source/components/tables/tbdata.c
> index 1fc20a38..9d86fdbc 100644
> --- a/src/acpica/source/components/tables/tbdata.c
> +++ b/src/acpica/source/components/tables/tbdata.c
> @@ -676,7 +676,7 @@ AcpiTbVerifyTempTable (
> /* If a particular signature is expected (DSDT/FACS), it must match */
>
> if (Signature &&
> - !ACPI_COMPARE_NAME (&TableDesc->Signature, Signature))
> + !ACPI_COMPARE_NAMESEG (&TableDesc->Signature, Signature))
> {
> ACPI_BIOS_ERROR ((AE_INFO,
> "Invalid signature 0x%X for ACPI table, expected [%s]",
> diff --git a/src/acpica/source/components/tables/tbfind.c b/src/acpica/source/components/tables/tbfind.c
> index 4ec53043..3119ddb1 100644
> --- a/src/acpica/source/components/tables/tbfind.c
> +++ b/src/acpica/source/components/tables/tbfind.c
> @@ -207,7 +207,7 @@ AcpiTbFindTable (
> /* Normalize the input strings */
>
> memset (&Header, 0, sizeof (ACPI_TABLE_HEADER));
> - ACPI_MOVE_NAME (Header.Signature, Signature);
> + ACPI_COPY_NAMESEG (Header.Signature, Signature);
> strncpy (Header.OemId, OemId, ACPI_OEM_ID_SIZE);
> strncpy (Header.OemTableId, OemTableId, ACPI_OEM_TABLE_ID_SIZE);
>
> @@ -217,7 +217,7 @@ AcpiTbFindTable (
> for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; ++i)
> {
> if (memcmp (&(AcpiGbl_RootTableList.Tables[i].Signature),
> - Header.Signature, ACPI_NAME_SIZE))
> + Header.Signature, ACPI_NAMESEG_SIZE))
> {
> /* Not the requested table */
>
> @@ -245,7 +245,7 @@ AcpiTbFindTable (
> /* Check for table match on all IDs */
>
> if (!memcmp (AcpiGbl_RootTableList.Tables[i].Pointer->Signature,
> - Header.Signature, ACPI_NAME_SIZE) &&
> + Header.Signature, ACPI_NAMESEG_SIZE) &&
> (!OemId[0] ||
> !memcmp (AcpiGbl_RootTableList.Tables[i].Pointer->OemId,
> Header.OemId, ACPI_OEM_ID_SIZE)) &&
> diff --git a/src/acpica/source/components/tables/tbinstal.c b/src/acpica/source/components/tables/tbinstal.c
> index fbb85ce7..c1d47022 100644
> --- a/src/acpica/source/components/tables/tbinstal.c
> +++ b/src/acpica/source/components/tables/tbinstal.c
> @@ -274,7 +274,7 @@ AcpiTbInstallStandardTable (
> */
> if (!Reload &&
> AcpiGbl_DisableSsdtTableInstall &&
> - ACPI_COMPARE_NAME (&NewTableDesc.Signature, ACPI_SIG_SSDT))
> + ACPI_COMPARE_NAMESEG (&NewTableDesc.Signature, ACPI_SIG_SSDT))
> {
> ACPI_INFO ((
> "Ignoring installation of %4.4s at %8.8X%8.8X",
> diff --git a/src/acpica/source/components/tables/tbprint.c b/src/acpica/source/components/tables/tbprint.c
> index ffa4856b..0ff6a6ce 100644
> --- a/src/acpica/source/components/tables/tbprint.c
> +++ b/src/acpica/source/components/tables/tbprint.c
> @@ -225,10 +225,10 @@ AcpiTbCleanupTableHeader (
>
> memcpy (OutHeader, Header, sizeof (ACPI_TABLE_HEADER));
>
> - AcpiTbFixString (OutHeader->Signature, ACPI_NAME_SIZE);
> + AcpiTbFixString (OutHeader->Signature, ACPI_NAMESEG_SIZE);
> AcpiTbFixString (OutHeader->OemId, ACPI_OEM_ID_SIZE);
> AcpiTbFixString (OutHeader->OemTableId, ACPI_OEM_TABLE_ID_SIZE);
> - AcpiTbFixString (OutHeader->AslCompilerId, ACPI_NAME_SIZE);
> + AcpiTbFixString (OutHeader->AslCompilerId, ACPI_NAMESEG_SIZE);
> }
>
>
> @@ -253,7 +253,7 @@ AcpiTbPrintTableHeader (
> ACPI_TABLE_HEADER LocalHeader;
>
>
> - if (ACPI_COMPARE_NAME (Header->Signature, ACPI_SIG_FACS))
> + if (ACPI_COMPARE_NAMESEG (Header->Signature, ACPI_SIG_FACS))
> {
> /* FACS only has signature and length fields */
>
> @@ -320,8 +320,8 @@ AcpiTbVerifyChecksum (
> * They are the odd tables, have no standard ACPI header and no checksum
> */
>
> - if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_S3PT) ||
> - ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_FACS))
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_S3PT) ||
> + ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_FACS))
> {
> return (AE_OK);
> }
> diff --git a/src/acpica/source/components/tables/tbutils.c b/src/acpica/source/components/tables/tbutils.c
> index 9bb3fe89..badee3c5 100644
> --- a/src/acpica/source/components/tables/tbutils.c
> +++ b/src/acpica/source/components/tables/tbutils.c
> @@ -503,7 +503,7 @@ AcpiTbParseRootTable (
> ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, &TableIndex);
>
> if (ACPI_SUCCESS (Status) &&
> - ACPI_COMPARE_NAME (
> + ACPI_COMPARE_NAMESEG (
> &AcpiGbl_RootTableList.Tables[TableIndex].Signature,
> ACPI_SIG_FADT))
> {
> diff --git a/src/acpica/source/components/tables/tbxface.c b/src/acpica/source/components/tables/tbxface.c
> index 097e535d..ae5991aa 100644
> --- a/src/acpica/source/components/tables/tbxface.c
> +++ b/src/acpica/source/components/tables/tbxface.c
> @@ -401,7 +401,7 @@ AcpiGetTableHeader (
>
> for (i = 0, j = 0; i < AcpiGbl_RootTableList.CurrentTableCount; i++)
> {
> - if (!ACPI_COMPARE_NAME (
> + if (!ACPI_COMPARE_NAMESEG (
> &(AcpiGbl_RootTableList.Tables[i].Signature), Signature))
> {
> continue;
> @@ -504,7 +504,7 @@ AcpiGetTable (
> {
> TableDesc = &AcpiGbl_RootTableList.Tables[i];
>
> - if (!ACPI_COMPARE_NAME (&TableDesc->Signature, Signature))
> + if (!ACPI_COMPARE_NAMESEG (&TableDesc->Signature, Signature))
> {
> continue;
> }
> diff --git a/src/acpica/source/components/tables/tbxfload.c b/src/acpica/source/components/tables/tbxfload.c
> index bda55ea2..217d54bf 100644
> --- a/src/acpica/source/components/tables/tbxfload.c
> +++ b/src/acpica/source/components/tables/tbxfload.c
> @@ -275,7 +275,7 @@ AcpiTbLoadNamespace (
> Table = &AcpiGbl_RootTableList.Tables[AcpiGbl_DsdtIndex];
>
> if (!AcpiGbl_RootTableList.CurrentTableCount ||
> - !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_DSDT) ||
> + !ACPI_COMPARE_NAMESEG (Table->Signature.Ascii, ACPI_SIG_DSDT) ||
> ACPI_FAILURE (AcpiTbValidateTable (Table)))
> {
> Status = AE_NO_ACPI_TABLES;
> @@ -334,9 +334,9 @@ AcpiTbLoadNamespace (
> Table = &AcpiGbl_RootTableList.Tables[i];
>
> if (!Table->Address ||
> - (!ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_SSDT) &&
> - !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_PSDT) &&
> - !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_OSDT)) ||
> + (!ACPI_COMPARE_NAMESEG (Table->Signature.Ascii, ACPI_SIG_SSDT) &&
> + !ACPI_COMPARE_NAMESEG (Table->Signature.Ascii, ACPI_SIG_PSDT) &&
> + !ACPI_COMPARE_NAMESEG (Table->Signature.Ascii, ACPI_SIG_OSDT)) ||
> ACPI_FAILURE (AcpiTbValidateTable (Table)))
> {
> continue;
> @@ -556,7 +556,7 @@ AcpiUnloadParentTable (
> * only these types can contain AML and thus are the only types
> * that can create namespace objects.
> */
> - if (ACPI_COMPARE_NAME (
> + if (ACPI_COMPARE_NAMESEG (
> AcpiGbl_RootTableList.Tables[i].Signature.Ascii,
> ACPI_SIG_DSDT))
> {
> diff --git a/src/acpica/source/components/utilities/utascii.c b/src/acpica/source/components/utilities/utascii.c
> index 08dcb920..c7aaff40 100644
> --- a/src/acpica/source/components/utilities/utascii.c
> +++ b/src/acpica/source/components/utilities/utascii.c
> @@ -176,7 +176,7 @@ AcpiUtValidNameseg (
>
> /* Validate each character in the signature */
>
> - for (i = 0; i < ACPI_NAME_SIZE; i++)
> + for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
> {
> if (!AcpiUtValidNameChar (Name[i], i))
> {
> diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c
> index 443a6dd7..3daff815 100644
> --- a/src/acpica/source/components/utilities/utdecode.c
> +++ b/src/acpica/source/components/utilities/utdecode.c
> @@ -214,17 +214,17 @@ const UINT8 AcpiGbl_NsProperties[ACPI_NUM_NS_TYPES] =
>
> 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 */
> + "PlatformCommChannel"/* 0x0A */
> };
>
>
> @@ -416,7 +416,7 @@ AcpiUtGetNodeName (
> ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) Object;
>
>
> - /* Must return a string of exactly 4 characters == ACPI_NAME_SIZE */
> + /* Must return a string of exactly 4 characters == ACPI_NAMESEG_SIZE */
>
> if (!Object)
> {
> diff --git a/src/acpica/source/components/utilities/utmisc.c b/src/acpica/source/components/utilities/utmisc.c
> index acc048d6..466e3fa2 100644
> --- a/src/acpica/source/components/utilities/utmisc.c
> +++ b/src/acpica/source/components/utilities/utmisc.c
> @@ -214,10 +214,10 @@ AcpiUtIsAmlTable (
>
> /* These are the only tables that contain executable AML */
>
> - if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT) ||
> - ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_PSDT) ||
> - ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_SSDT) ||
> - ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_OSDT) ||
> + if (ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_DSDT) ||
> + ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_PSDT) ||
> + ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_SSDT) ||
> + ACPI_COMPARE_NAMESEG (Table->Signature, ACPI_SIG_OSDT) ||
> ACPI_IS_OEM_SIG (Table->Signature))
> {
> return (TRUE);
> diff --git a/src/acpica/source/components/utilities/utpredef.c b/src/acpica/source/components/utilities/utpredef.c
> index e1cdd704..8d9c5b0b 100644
> --- a/src/acpica/source/components/utilities/utpredef.c
> +++ b/src/acpica/source/components/utilities/utpredef.c
> @@ -237,7 +237,7 @@ AcpiUtMatchPredefinedMethod (
> ThisName = AcpiGbl_PredefinedMethods;
> while (ThisName->Info.Name[0])
> {
> - if (ACPI_COMPARE_NAME (Name, ThisName->Info.Name))
> + if (ACPI_COMPARE_NAMESEG (Name, ThisName->Info.Name))
> {
> return (ThisName);
> }
> @@ -374,7 +374,7 @@ AcpiUtMatchResourceName (
> ThisName = AcpiGbl_ResourceNames;
> while (ThisName->Info.Name[0])
> {
> - if (ACPI_COMPARE_NAME (Name, ThisName->Info.Name))
> + if (ACPI_COMPARE_NAMESEG (Name, ThisName->Info.Name))
> {
> return (ThisName);
> }
> diff --git a/src/acpica/source/components/utilities/utstring.c b/src/acpica/source/components/utilities/utstring.c
> index 893a9574..f0ee49a0 100644
> --- a/src/acpica/source/components/utilities/utstring.c
> +++ b/src/acpica/source/components/utilities/utstring.c
> @@ -303,16 +303,16 @@ AcpiUtRepairName (
> * Special case for the root node. This can happen if we get an
> * error during the execution of module-level code.
> */
> - if (ACPI_COMPARE_NAME (Name, ACPI_ROOT_PATHNAME))
> + if (ACPI_COMPARE_NAMESEG (Name, ACPI_ROOT_PATHNAME))
> {
> return;
> }
>
> - ACPI_MOVE_NAME (&OriginalName, Name);
> + ACPI_COPY_NAMESEG (&OriginalName, Name);
>
> /* Check each character in the name */
>
> - for (i = 0; i < ACPI_NAME_SIZE; i++)
> + for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
> {
> if (AcpiUtValidNameChar (Name[i], i))
> {
> diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h
> index b5c4aa02..e1ed0053 100644
> --- a/src/acpica/source/include/aclocal.h
> +++ b/src/acpica/source/include/aclocal.h
> @@ -480,7 +480,7 @@ ACPI_STATUS (*ACPI_INTERNAL_METHOD) (
> */
> typedef struct acpi_name_info
> {
> - char Name[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE];
> UINT16 ArgumentList;
> UINT8 ExpectedBtypes;
>
> @@ -568,7 +568,7 @@ typedef ACPI_STATUS (*ACPI_OBJECT_CONVERTER) (
>
> typedef struct acpi_simple_repair_info
> {
> - char Name[ACPI_NAME_SIZE];
> + char Name[ACPI_NAMESEG_SIZE];
> UINT32 UnexpectedBtypes;
> UINT32 PackageIndex;
> ACPI_OBJECT_CONVERTER ObjectConverter;
> diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
> index ad653f0e..d3e4e7b5 100644
> --- a/src/acpica/source/include/acpixf.h
> +++ b/src/acpica/source/include/acpixf.h
> @@ -154,7 +154,7 @@
>
> /* Current ACPICA subsystem version in YYYYMMDD format */
>
> -#define ACPI_CA_VERSION 0x20190215
> +#define ACPI_CA_VERSION 0x20190329
>
> #include "acconfig.h"
> #include "actypes.h"
> diff --git a/src/acpica/source/include/actbl.h b/src/acpica/source/include/actbl.h
> index 97134e5e..d6b9e8ff 100644
> --- a/src/acpica/source/include/actbl.h
> +++ b/src/acpica/source/include/actbl.h
> @@ -213,14 +213,14 @@
>
> typedef struct acpi_table_header
> {
> - char Signature[ACPI_NAME_SIZE]; /* ASCII table signature */
> + char Signature[ACPI_NAMESEG_SIZE]; /* ASCII table signature */
> UINT32 Length; /* Length of table in bytes, including this header */
> UINT8 Revision; /* ACPI Specification minor version number */
> UINT8 Checksum; /* To make sum of entire table == 0 */
> char OemId[ACPI_OEM_ID_SIZE]; /* ASCII OEM identification */
> char OemTableId[ACPI_OEM_TABLE_ID_SIZE]; /* ASCII OEM table identification */
> UINT32 OemRevision; /* OEM revision number */
> - char AslCompilerId[ACPI_NAME_SIZE]; /* ASCII ASL compiler vendor ID */
> + char AslCompilerId[ACPI_NAMESEG_SIZE]; /* ASCII ASL compiler vendor ID */
> UINT32 AslCompilerRevision; /* ASL compiler version */
>
> } ACPI_TABLE_HEADER;
> diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h
> index 2a65ee8f..e7a2d578 100644
> --- a/src/acpica/source/include/actypes.h
> +++ b/src/acpica/source/include/actypes.h
> @@ -520,7 +520,7 @@ typedef UINT64 ACPI_PHYSICAL_ADDRESS;
>
> /* Names within the namespace are 4 bytes long */
>
> -#define ACPI_NAME_SIZE 4
> +#define ACPI_NAMESEG_SIZE 4 /* Fixed by ACPI spec */
> #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */
> #define ACPI_PATH_SEPARATOR '.'
>
> @@ -666,11 +666,11 @@ typedef UINT64 ACPI_INTEGER;
> /* Optimizations for 4-character (32-bit) ACPI_NAME manipulation */
>
> #ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED
> -#define ACPI_COMPARE_NAME(a,b) (*ACPI_CAST_PTR (UINT32, (a)) == *ACPI_CAST_PTR (UINT32, (b)))
> -#define ACPI_MOVE_NAME(dest,src) (*ACPI_CAST_PTR (UINT32, (dest)) = *ACPI_CAST_PTR (UINT32, (src)))
> +#define ACPI_COMPARE_NAMESEG(a,b) (*ACPI_CAST_PTR (UINT32, (a)) == *ACPI_CAST_PTR (UINT32, (b)))
> +#define ACPI_COPY_NAMESEG(dest,src) (*ACPI_CAST_PTR (UINT32, (dest)) = *ACPI_CAST_PTR (UINT32, (src)))
> #else
> -#define ACPI_COMPARE_NAME(a,b) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_CAST_PTR (char, (b)), ACPI_NAME_SIZE))
> -#define ACPI_MOVE_NAME(dest,src) (strncpy (ACPI_CAST_PTR (char, (dest)), ACPI_CAST_PTR (char, (src)), ACPI_NAME_SIZE))
> +#define ACPI_COMPARE_NAMESEG(a,b) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_CAST_PTR (char, (b)), ACPI_NAMESEG_SIZE))
> +#define ACPI_COPY_NAMESEG(dest,src) (strncpy (ACPI_CAST_PTR (char, (dest)), ACPI_CAST_PTR (char, (src)), ACPI_NAMESEG_SIZE))
> #endif
>
> /* Support for the special RSDP signature (8 characters) */
> @@ -680,7 +680,7 @@ typedef UINT64 ACPI_INTEGER;
>
> /* Support for OEMx signature (x can be any character) */
> #define ACPI_IS_OEM_SIG(a) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_OEM_NAME, 3) &&\
> - strnlen (a, ACPI_NAME_SIZE) == ACPI_NAME_SIZE)
> + strnlen (a, ACPI_NAMESEG_SIZE) == ACPI_NAMESEG_SIZE)
>
> /*
> * Algorithm to obtain access bit width.
> diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
> index 990d17c7..f6522e32 100644
> --- a/src/acpica/source/include/platform/aclinux.h
> +++ b/src/acpica/source/include/platform/aclinux.h
> @@ -221,6 +221,11 @@
> #define ACPI_NO_ERROR_MESSAGES
> #undef ACPI_DEBUG_OUTPUT
>
> +/* Use a specific bugging default separate from ACPICA */
> +
> +#undef ACPI_DEBUG_DEFAULT
> +#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
> +
> /* External interface for __KERNEL__, stub is needed */
>
> #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
> diff --git a/src/acpica/source/tools/acpiexec/aecommon.h b/src/acpica/source/tools/acpiexec/aecommon.h
> index eb244841..602356de 100644
> --- a/src/acpica/source/tools/acpiexec/aecommon.h
> +++ b/src/acpica/source/tools/acpiexec/aecommon.h
> @@ -287,6 +287,10 @@ void
> AeMiscellaneousTests (
> void);
>
> +void
> +AeLateTest (
> + void);
> +
> /* aeregion */
>
> ACPI_STATUS
> diff --git a/src/acpica/source/tools/acpiexec/aeexception.c b/src/acpica/source/tools/acpiexec/aeexception.c
> index 2a25d181..77ba166b 100644
> --- a/src/acpica/source/tools/acpiexec/aeexception.c
> +++ b/src/acpica/source/tools/acpiexec/aeexception.c
> @@ -206,7 +206,7 @@ AeExceptionHandler (
>
> if (Name)
> {
> - if (ACPI_COMPARE_NAME (&Name, ACPI_ROOT_PATHNAME))
> + if (ACPI_COMPARE_NAMESEG (&Name, ACPI_ROOT_PATHNAME))
> {
> AcpiOsPrintf (AE_PREFIX
> "Evaluating executable code at [%s]\n", ACPI_NAMESPACE_ROOT);
Acked-by: Ivan Hu <ivan.hu at canonical.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20190401/f1dfd5d2/attachment-0001.sig>
More information about the fwts-devel
mailing list