[PATCH] ACPICA: Update to version 20171214

Colin Ian King colin.king at canonical.com
Fri Dec 15 07:35:39 UTC 2017


On 15/12/17 02:46, Alex Hung wrote:
> On 2017-12-15 06:55 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/2017-December/001610.html
> 
> I found a regression in this acpica release
> (https://lists.acpica.org/pipermail/devel/2017-December/001613.html),
> but I am not sure how it affects the rests of acpica.
> 
> Will it be better that we skip this release or wait for developers of
> acpica to take a closer look?

Let's skip this for now. The delta for this release was small, so I
think we should pick up the next release.

Colin

> 
>>
>> Signed-off-by: Colin Ian King <colin.king at canonical.com>
>> ---
>>   src/acpica/source/common/adisasm.c                 |   6 +-
>>   src/acpica/source/common/dmswitch.c                |   4 +
>>   src/acpica/source/common/dmtable.c                 |   1 -
>>   src/acpica/source/common/dmtables.c                |   4 +-
>>   src/acpica/source/common/dmtbdump.c                |   1 -
>>   src/acpica/source/compiler/aslcodegen.c            |  19 ++--
>>   src/acpica/source/compiler/aslcompile.c            |   2 +-
>>   src/acpica/source/compiler/asldebug.c              |   2 +-
>>   src/acpica/source/compiler/aslfiles.c              |   2 +-
>>   src/acpica/source/compiler/aslparseop.c            |   6 +-
>>   src/acpica/source/compiler/aslstartup.c            |   4 +-
>>   src/acpica/source/compiler/aslsupport.l            |  18 +--
>>   src/acpica/source/compiler/asltree.c               |   8 +-
>>   src/acpica/source/compiler/aslutils.c              |   2 +-
>>   src/acpica/source/compiler/cvcompiler.c            |  10 +-
>>   src/acpica/source/compiler/cvdisasm.c              |   4 +-
>>   src/acpica/source/compiler/cvparser.c              |   6 +-
>>   src/acpica/source/compiler/dtcompile.c             |  10 +-
>>   src/acpica/source/compiler/dttable1.c              |  10 +-
>>   src/acpica/source/compiler/prscan.c                |   2 +-
>>   src/acpica/source/components/debugger/dbfileio.c   |   2 +-
>>   src/acpica/source/components/disassembler/dmwalk.c |   6 +-
>>   .../source/components/dispatcher/dspkginit.c       |  22 ++--
>>   src/acpica/source/components/executer/exdump.c     |   6 +-
>>   src/acpica/source/components/hardware/hwvalid.c    |  17 +--
>>   src/acpica/source/components/namespace/nsxfeval.c  |  18 ++-
>>   src/acpica/source/components/parser/psutils.c      |   4 +-
>>   src/acpica/source/components/utilities/utdebug.c   |  19 +++-
>>   src/acpica/source/components/utilities/utnonansi.c |  13 +++
>>   src/acpica/source/components/utilities/utosi.c     |   2 +
>>   src/acpica/source/components/utilities/uttrack.c   |   3 +-
>>   src/acpica/source/include/acexcep.h                |   6 +-
>>   src/acpica/source/include/acglobal.h               | 121
>> ++++++++-------------
>>   src/acpica/source/include/acpixf.h                 |   2 +-
>>   src/acpica/source/include/actypes.h                |   2 +
>>   src/acpica/source/include/acutils.h                |   6 +
>>   .../source/os_specific/service_layers/osgendbg.c   |   5 +-
>>   src/acpica/source/tools/acpiexec/aehandlers.c      |  16 ++-
>>   38 files changed, 217 insertions(+), 174 deletions(-)
>>
>> diff --git a/src/acpica/source/common/adisasm.c
>> b/src/acpica/source/common/adisasm.c
>> index bfc815d4..48b28072 100644
>> --- a/src/acpica/source/common/adisasm.c
>> +++ b/src/acpica/source/common/adisasm.c
>> @@ -457,9 +457,9 @@ AdDisassembleOneTable (
>>        * (.xxx) file produced from the converter in case if
>>        * it fails to get deleted.
>>        */
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>> -        strncpy (Table->Signature, AcpiGbl_TableSig, 4);
>> +        strncpy (Table->Signature, AcpiGbl_TableSig, ACPI_NAME_SIZE);
>>       }
>>   #endif
>>   @@ -775,7 +775,7 @@ AdDoExternalFileList (
>>               AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot,
>>                   AcpiGbl_RootNode, OwnerId);
>>               AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot);
>> -            AcpiGbl_ParseOpRoot = NULL;  /* for fwts */
>> +            AcpiGbl_ParseOpRoot = NULL;    /* for fwts */
>>                 ExternalListHead = ExternalListHead->Next;
>>           }
>> diff --git a/src/acpica/source/common/dmswitch.c
>> b/src/acpica/source/common/dmswitch.c
>> index 1641cbf9..5c2ac3a6 100644
>> --- a/src/acpica/source/common/dmswitch.c
>> +++ b/src/acpica/source/common/dmswitch.c
>> @@ -543,6 +543,10 @@ AcpiDmIsSwitchBlock (
>>        * statement, so check for it.
>>        */
>>       CurrentOp = StoreOp->Common.Next->Common.Next;
>> +    if (!CurrentOp)
>> +    {
>> +        return (FALSE);
>> +    }
>>       if (CurrentOp->Common.AmlOpcode == AML_ELSE_OP)
>>       {
>>           CurrentOp = CurrentOp->Common.Next;
>> diff --git a/src/acpica/source/common/dmtable.c
>> b/src/acpica/source/common/dmtable.c
>> index 60951732..3d931485 100644
>> --- a/src/acpica/source/common/dmtable.c
>> +++ b/src/acpica/source/common/dmtable.c
>> @@ -1654,7 +1654,6 @@ AcpiDmDumpTable (
>>               break;
>>     -
>>           case ACPI_DMT_FADTPM:
>>                 /* FADT Preferred PM Profile names */
>> diff --git a/src/acpica/source/common/dmtables.c
>> b/src/acpica/source/common/dmtables.c
>> index 0ec69aba..b87ddd46 100644
>> --- a/src/acpica/source/common/dmtables.c
>> +++ b/src/acpica/source/common/dmtables.c
>> @@ -314,7 +314,7 @@ AdCreateTableHeader (
>>       /*
>>        * Print comments that come before this definition block.
>>        */
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>          
>> ASL_CV_PRINT_ONE_COMMENT(AcpiGbl_ParseOpRoot,AML_COMMENT_STANDARD,
>> NULL, 0);
>>       }
>> @@ -517,7 +517,7 @@ AdParseTable (
>>       }
>>     #ifdef ACPI_ASL_COMPILER
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           AcpiGbl_ParseOpRoot->Common.CvFilename =
>> AcpiGbl_FileTreeRoot->Filename;
>>       }
>> diff --git a/src/acpica/source/common/dmtbdump.c
>> b/src/acpica/source/common/dmtbdump.c
>> index 1ef91c2d..fae7c040 100644
>> --- a/src/acpica/source/common/dmtbdump.c
>> +++ b/src/acpica/source/common/dmtbdump.c
>> @@ -3734,7 +3734,6 @@ NextSubtable:
>>   }
>>     -
>>  
>> /*******************************************************************************
>>
>>    *
>>    * FUNCTION:    AcpiDmDumpSdev
>> diff --git a/src/acpica/source/compiler/aslcodegen.c
>> b/src/acpica/source/compiler/aslcodegen.c
>> index a527ddda..ea879b8c 100644
>> --- a/src/acpica/source/compiler/aslcodegen.c
>> +++ b/src/acpica/source/compiler/aslcodegen.c
>> @@ -370,7 +370,7 @@ CgWriteAmlOpcode (
>>        * Before printing the bytecode, generate comment byte codes
>>        * associated with this node.
>>        */
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           CgWriteAmlComment(Op);
>>       }
>> @@ -550,13 +550,13 @@ CgWriteTableHeader (
>>        * "XXXX" table signature prevents this AML file from running on
>> the AML
>>        * interpreter.
>>        */
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>> -        strncpy(AcpiGbl_TableSig, Child->Asl.Value.String, 4);
>> +        strncpy(AcpiGbl_TableSig, Child->Asl.Value.String,
>> ACPI_NAME_SIZE);
>>           Child->Asl.Value.String = ACPI_SIG_XXXX;
>>       }
>>   -    strncpy (TableHeader.Signature, Child->Asl.Value.String, 4);
>> +    strncpy (TableHeader.Signature, Child->Asl.Value.String,
>> ACPI_NAME_SIZE);
>>         /* Revision */
>>   @@ -573,12 +573,12 @@ CgWriteTableHeader (
>>       /* OEMID */
>>         Child = Child->Asl.Next;
>> -    strncpy (TableHeader.OemId, Child->Asl.Value.String, 6);
>> +    strncpy (TableHeader.OemId, Child->Asl.Value.String,
>> ACPI_OEM_ID_SIZE);
>>         /* OEM TableID */
>>         Child = Child->Asl.Next;
>> -    strncpy (TableHeader.OemTableId, Child->Asl.Value.String, 8);
>> +    strncpy (TableHeader.OemTableId, Child->Asl.Value.String,
>> ACPI_OEM_TABLE_ID_SIZE);
>>         /* OEM Revision */
>>   @@ -600,7 +600,7 @@ CgWriteTableHeader (
>>         /* Calculate the comment lengths for this definition block
>> parseOp */
>>   -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           CvDbgPrint ("Calculating comment lengths for %s in write
>> header\n",
>>               Op->Asl.ParseOpName);
>> @@ -756,7 +756,8 @@ CgWriteNode (
>>           /* Write all comments here. */
>> -    if (Gbl_CaptureComments)
>> +
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           CgWriteAmlComment(Op);
>>       }
>> @@ -822,7 +823,7 @@ CgWriteNode (
>>       case PARSEOP_DEFINITION_BLOCK:
>>             CgWriteTableHeader (Op);
>> -        if (Gbl_CaptureComments)
>> +        if (AcpiGbl_CaptureComments)
>>           {
>>               CgWriteAmlDefBlockComment (Op);
>>           }
>> diff --git a/src/acpica/source/compiler/aslcompile.c
>> b/src/acpica/source/compiler/aslcompile.c
>> index 1ddb8864..ae78cec4 100644
>> --- a/src/acpica/source/compiler/aslcompile.c
>> +++ b/src/acpica/source/compiler/aslcompile.c
>> @@ -469,7 +469,7 @@ CmDoCompile (
>>        * node during compilation. We take the very last comment and
>> save it in a
>>        * global for it to be used by the disassembler.
>>        */
>> -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           AcpiGbl_LastListHead = Gbl_ParseTreeRoot->Asl.CommentList;
>>           Gbl_ParseTreeRoot->Asl.CommentList = NULL;
>> diff --git a/src/acpica/source/compiler/asldebug.c
>> b/src/acpica/source/compiler/asldebug.c
>> index ba252251..0dab6d57 100644
>> --- a/src/acpica/source/compiler/asldebug.c
>> +++ b/src/acpica/source/compiler/asldebug.c
>> @@ -192,7 +192,7 @@ CvDbgPrint (
>>       va_list                 Args;
>>     -    if (!Gbl_CaptureComments || !AcpiGbl_DebugAslConversion)
>> +    if (!AcpiGbl_CaptureComments || !AcpiGbl_DebugAslConversion)
>>       {
>>           return;
>>       }
>> diff --git a/src/acpica/source/compiler/aslfiles.c
>> b/src/acpica/source/compiler/aslfiles.c
>> index 53df683e..177a3295 100644
>> --- a/src/acpica/source/compiler/aslfiles.c
>> +++ b/src/acpica/source/compiler/aslfiles.c
>> @@ -618,7 +618,7 @@ FlOpenAmlOutputFile (
>>       if (!Filename)
>>       {
>>           /* Create the output AML filename */
>> -        if (!Gbl_CaptureComments)
>> +        if (!AcpiGbl_CaptureComments)
>>           {
>>               Filename = FlGenerateFilename (FilenamePrefix,
>> FILE_SUFFIX_AML_CODE);
>>           }
>> diff --git a/src/acpica/source/compiler/aslparseop.c
>> b/src/acpica/source/compiler/aslparseop.c
>> index 438e5a28..ac80a0a2 100644
>> --- a/src/acpica/source/compiler/aslparseop.c
>> +++ b/src/acpica/source/compiler/aslparseop.c
>> @@ -269,7 +269,7 @@ TrCreateOp (
>>                * FirstChild place it in the parent. This also means that
>>                * legitimate comments for the child gets put to the
>> parent.
>>                */
>> -            if (Gbl_CaptureComments &&
>> +            if (AcpiGbl_CaptureComments &&
>>                   ((ParseOpcode == PARSEOP_CONNECTION) ||
>>                    (ParseOpcode == PARSEOP_EXTERNAL) ||
>>                    (ParseOpcode == PARSEOP_OFFSET) ||
>> @@ -308,7 +308,7 @@ TrCreateOp (
>>             /* Get the comment from last child in the resource
>> template call */
>>   -        if (Gbl_CaptureComments &&
>> +        if (AcpiGbl_CaptureComments &&
>>               (Op->Asl.ParseOpcode == PARSEOP_RESOURCETEMPLATE))
>>           {
>>               CvDbgPrint ("Transferred current comment list to this
>> op.\n");
>> @@ -794,7 +794,7 @@ TrAllocateOp (
>>         /* The following is for capturing comments */
>>   -    if(Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           LatestOp = Gbl_CommentState.LatestParseOp;
>>           Op->Asl.InlineComment     = NULL;
>> diff --git a/src/acpica/source/compiler/aslstartup.c
>> b/src/acpica/source/compiler/aslstartup.c
>> index fa1ac25b..3cc26005 100644
>> --- a/src/acpica/source/compiler/aslstartup.c
>> +++ b/src/acpica/source/compiler/aslstartup.c
>> @@ -233,11 +233,11 @@ AslInitializeGlobals (
>>           Gbl_Files[i].Filename = NULL;
>>       }
>>   -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           Gbl_CommentState.SpacesBefore          = 0;
>>           Gbl_CommentState.CommentType           = 1;
>> -        Gbl_CommentState.LatestParseOp          = NULL;
>> +        Gbl_CommentState.LatestParseOp         = NULL;
>>           Gbl_CommentState.ParsingParenBraceNode = NULL;
>>           Gbl_CommentState.CaptureComments       = TRUE;
>>       }
>> diff --git a/src/acpica/source/compiler/aslsupport.l
>> b/src/acpica/source/compiler/aslsupport.l
>> index 40cead33..db243e4a 100644
>> --- a/src/acpica/source/compiler/aslsupport.l
>> +++ b/src/acpica/source/compiler/aslsupport.l
>> @@ -496,7 +496,7 @@ AslInsertLineBuffer (
>>               AslResetCurrentLineBuffer ();
>>           }
>>   -        if (Gbl_CaptureComments)
>> +        if (AcpiGbl_CaptureComments)
>>           {
>>               CvProcessCommentState (SourceChar);
>>           }
>> @@ -525,7 +525,7 @@ static void
>>   count (
>>       int                 Type)
>>   {
>> -    int                 i;
>> +    char                *p;
>>           switch (Type)
>> @@ -547,9 +547,9 @@ count (
>>           break;
>>       }
>>   -    for (i = 0; (yytext[i] != 0) && (yytext[i] != EOF); i++)
>> +    for (p = yytext; *p != '\0'; p++)
>>       {
>> -        AslInsertLineBuffer (yytext[i]);
>> +        AslInsertLineBuffer (*p);
>>           *Gbl_LineBufPtr = 0;
>>       }
>>   }
>> @@ -580,7 +580,7 @@ AslDoComment (
>>         AslInsertLineBuffer ('/');
>>       AslInsertLineBuffer ('*');
>> -    if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +    if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>       {
>>           *StringBuffer = '/';
>>           ++StringBuffer;
>> @@ -595,7 +595,7 @@ loop:
>>       while (((c = input ()) != '*') && (c != EOF))
>>       {
>>           AslInsertLineBuffer (c);
>> -        if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +        if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>           {
>>               *StringBuffer = c;
>>               ++StringBuffer;
>> @@ -623,7 +623,7 @@ loop:
>>       /* Comment is closed only if the NEXT character is a slash */
>>         AslInsertLineBuffer (c);
>> -    if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +    if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>       {
>>           *StringBuffer = c;
>>           ++StringBuffer;
>> @@ -698,7 +698,7 @@ AslDoCommentType2 (
>>         AslInsertLineBuffer ('/');
>>   -    if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +    if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>       {
>>           AslInsertLineBuffer ('*');
>>           *StringBuffer = '/';
>> @@ -714,7 +714,7 @@ AslDoCommentType2 (
>>       while (((c = input ()) != '\n') && (c != EOF))
>>       {
>>           AslInsertLineBuffer (c);
>> -        if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +        if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>           {
>>               *StringBuffer = c;
>>               ++StringBuffer;
>> diff --git a/src/acpica/source/compiler/asltree.c
>> b/src/acpica/source/compiler/asltree.c
>> index 084bc4d5..06bf7599 100644
>> --- a/src/acpica/source/compiler/asltree.c
>> +++ b/src/acpica/source/compiler/asltree.c
>> @@ -253,7 +253,7 @@ TrSetOpIntegerValue (
>>         /* Converter: if this is a method invocation, turn off capture
>> comments */
>>   -    if (Gbl_CaptureComments &&
>> +    if (AcpiGbl_CaptureComments &&
>>           (ParseOpcode == PARSEOP_METHODCALL))
>>       {
>>           Gbl_CommentState.CaptureComments = FALSE;
>> @@ -509,7 +509,7 @@ TrLinkOpChildren (
>>         /* The following is for capturing comments */
>>   -    if(Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           /*
>>            * If there are "regular comments" detected at this point,
>> @@ -590,7 +590,7 @@ TrLinkOpChildren (
>>       va_end(ap);
>>       DbgPrint (ASL_PARSE_OUTPUT, "\n\n");
>>   -    if(Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           Gbl_CommentState.LatestParseOp = Op;
>>           CvDbgPrint ("TrLinkOpChildren=====Set latest parse op to
>> this op.\n");
>> @@ -768,7 +768,7 @@ TrLinkChildOp (
>>        * turn on capture comments as it signifies that we are done
>> parsing
>>        * a method call.
>>        */
>> -    if (Gbl_CaptureComments && Op1)
>> +    if (AcpiGbl_CaptureComments && Op1)
>>       {
>>           if (Op1->Asl.ParseOpcode == PARSEOP_METHODCALL)
>>           {
>> diff --git a/src/acpica/source/compiler/aslutils.c
>> b/src/acpica/source/compiler/aslutils.c
>> index 82d11b4b..0696b84d 100644
>> --- a/src/acpica/source/compiler/aslutils.c
>> +++ b/src/acpica/source/compiler/aslutils.c
>> @@ -422,7 +422,7 @@ UtSetParseOpName (
>>       ACPI_PARSE_OBJECT       *Op)
>>   {
>>   -    strncpy (Op->Asl.ParseOpName, UtGetOpName (Op->Asl.ParseOpcode),
>> +    AcpiUtSafeStrncpy (Op->Asl.ParseOpName, UtGetOpName
>> (Op->Asl.ParseOpcode),
>>           ACPI_MAX_PARSEOP_NAME);
>>   }
>>   diff --git a/src/acpica/source/compiler/cvcompiler.c
>> b/src/acpica/source/compiler/cvcompiler.c
>> index d2a6c8f0..8da66782 100644
>> --- a/src/acpica/source/compiler/cvcompiler.c
>> +++ b/src/acpica/source/compiler/cvcompiler.c
>> @@ -186,7 +186,7 @@ CvProcessComment (
>>       char                    *FinalCommentString;
>>     -    if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +    if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>       {
>>           *StringBuffer = (char) c1;
>>           ++StringBuffer;
>> @@ -309,7 +309,7 @@ CvProcessCommentType2 (
>>       char                    *FinalCommentString;
>>     -    if (Gbl_CaptureComments && CurrentState.CaptureComments)
>> +    if (AcpiGbl_CaptureComments && CurrentState.CaptureComments)
>>       {
>>           *StringBuffer = 0; /* null terminate */
>>           CvDbgPrint ("Single-line comment\n");
>> @@ -395,7 +395,7 @@ CvCalculateCommentLengths(
>>       ACPI_COMMENT_NODE       *Current = NULL;
>>     -    if (!Gbl_CaptureComments)
>> +    if (!AcpiGbl_CaptureComments)
>>       {
>>           return (0);
>>       }
>> @@ -497,7 +497,7 @@ CgWriteAmlDefBlockComment(
>>       char                    *DirectoryPosition;
>>     -    if (!Gbl_CaptureComments ||
>> +    if (!AcpiGbl_CaptureComments ||
>>           (Op->Asl.ParseOpcode != PARSEOP_DEFINITION_BLOCK))
>>       {
>>           return;
>> @@ -615,7 +615,7 @@ CgWriteAmlComment(
>>           if ((Op->Asl.ParseOpcode == PARSEOP_DEFINITION_BLOCK) ||
>> -         !Gbl_CaptureComments)
>> +         !AcpiGbl_CaptureComments)
>>       {
>>           return;
>>       }
>> diff --git a/src/acpica/source/compiler/cvdisasm.c
>> b/src/acpica/source/compiler/cvdisasm.c
>> index 8682f04e..d382aaa5 100644
>> --- a/src/acpica/source/compiler/cvdisasm.c
>> +++ b/src/acpica/source/compiler/cvdisasm.c
>> @@ -352,7 +352,7 @@ CvCloseBraceWriteComment(
>>       UINT32                  Level)
>>   {
>>   -    if (!Gbl_CaptureComments)
>> +    if (!AcpiGbl_CaptureComments)
>>       {
>>           AcpiOsPrintf ("}");
>>           return;
>> @@ -385,7 +385,7 @@ CvCloseParenWriteComment(
>>       UINT32                  Level)
>>   {
>>   -    if (!Gbl_CaptureComments)
>> +    if (!AcpiGbl_CaptureComments)
>>       {
>>           AcpiOsPrintf (")");
>>           return;
>> diff --git a/src/acpica/source/compiler/cvparser.c
>> b/src/acpica/source/compiler/cvparser.c
>> index b2e3e767..a3ef2806 100644
>> --- a/src/acpica/source/compiler/cvparser.c
>> +++ b/src/acpica/source/compiler/cvparser.c
>> @@ -254,7 +254,7 @@ CvInitFileTree (
>>       char                    *ChildFilename = NULL;
>>     -    if (!Gbl_CaptureComments)
>> +    if (!AcpiGbl_CaptureComments)
>>       {
>>           return;
>>       }
>> @@ -720,7 +720,7 @@ CvCaptureCommentsOnly (
>>       ACPI_FILE_NODE          *FileNode;
>>     -    if (!Gbl_CaptureComments ||
>> +    if (!AcpiGbl_CaptureComments ||
>>           Opcode != AML_COMMENT_OP)
>>       {
>>          return;
>> @@ -973,7 +973,7 @@ CvCaptureComments (
>>       const ACPI_OPCODE_INFO  *OpInfo;
>>     -    if (!Gbl_CaptureComments)
>> +    if (!AcpiGbl_CaptureComments)
>>       {
>>           return;
>>       }
>> diff --git a/src/acpica/source/compiler/dtcompile.c
>> b/src/acpica/source/compiler/dtcompile.c
>> index 0823196f..47f72eb3 100644
>> --- a/src/acpica/source/compiler/dtcompile.c
>> +++ b/src/acpica/source/compiler/dtcompile.c
>> @@ -559,10 +559,18 @@ DtCompileTable (
>>       ACPI_STATUS             Status = AE_OK;
>>     -    if (!Field || !*Field)
>> +    if (!Field)
>>       {
>>           return (AE_BAD_PARAMETER);
>>       }
>> +    if (!*Field)
>> +    {
>> +        /*
>> +         * The field list is empty, this means that we are out of
>> fields to
>> +         * parse. In other words, we are at the end of the table.
>> +         */
>> +        return (AE_END_OF_TABLE);
>> +    }
>>         /* Ignore optional subtable if name does not match */
>>   diff --git a/src/acpica/source/compiler/dttable1.c
>> b/src/acpica/source/compiler/dttable1.c
>> index 138f4f3a..9b755509 100644
>> --- a/src/acpica/source/compiler/dttable1.c
>> +++ b/src/acpica/source/compiler/dttable1.c
>> @@ -596,7 +596,13 @@ DtCompileDbg2 (
>>             Status = DtCompileTable (PFieldList,
>> AcpiDmTableInfoDbg2OemData,
>>               &Subtable, TRUE);
>> -        if (ACPI_FAILURE (Status))
>> +        if (Status == AE_END_OF_TABLE)
>> +        {
>> +            /* optional field was not found and we're at the end of
>> the file */
>> +
>> +            goto subtableDone;
>> +        }
>> +        else if (ACPI_FAILURE (Status))
>>           {
>>               return (Status);
>>           }
>> @@ -615,7 +621,7 @@ DtCompileDbg2 (
>>                 DtInsertSubtable (ParentTable, Subtable);
>>           }
>> -
>> +subtableDone:
>>           SubtableCount--;
>>           DtPopSubtable (); /* Get next Device Information subtable */
>>       }
>> diff --git a/src/acpica/source/compiler/prscan.c
>> b/src/acpica/source/compiler/prscan.c
>> index a012e111..a46b41f4 100644
>> --- a/src/acpica/source/compiler/prscan.c
>> +++ b/src/acpica/source/compiler/prscan.c
>> @@ -1196,7 +1196,7 @@ PrPushDirective (
>>       Info->Next = Gbl_DirectiveStack;
>>       Info->Directive = Directive;
>>       Info->IgnoringThisCodeBlock = Gbl_IgnoringThisCodeBlock;
>> -    strncpy (Info->Argument, Argument, MAX_ARGUMENT_LENGTH);
>> +    AcpiUtSafeStrncpy (Info->Argument, Argument, MAX_ARGUMENT_LENGTH);
>>         DbgPrint (ASL_DEBUG_OUTPUT,
>>           "Pr(%.4u) - [%u %s] %*s Pushed [#%s %s]: IgnoreFlag = %s\n",
>> diff --git a/src/acpica/source/components/debugger/dbfileio.c
>> b/src/acpica/source/components/debugger/dbfileio.c
>> index 501d3587..00bb777a 100644
>> --- a/src/acpica/source/components/debugger/dbfileio.c
>> +++ b/src/acpica/source/components/debugger/dbfileio.c
>> @@ -218,7 +218,7 @@ AcpiDbOpenDebugFile (
>>       }
>>         AcpiOsPrintf ("Debug output file %s opened\n", Name);
>> -    strncpy (AcpiGbl_DbDebugFilename, Name,
>> +    AcpiUtSafeStrncpy (AcpiGbl_DbDebugFilename, Name,
>>           sizeof (AcpiGbl_DbDebugFilename));
>>       AcpiGbl_DbOutputToFile = TRUE;
>>   }
>> diff --git a/src/acpica/source/components/disassembler/dmwalk.c
>> b/src/acpica/source/components/disassembler/dmwalk.c
>> index 750e6398..ce8eb207 100644
>> --- a/src/acpica/source/components/disassembler/dmwalk.c
>> +++ b/src/acpica/source/components/disassembler/dmwalk.c
>> @@ -527,7 +527,7 @@ AcpiDmDescendingOp (
>>         /* Determine which file this parse node is contained in. */
>>   -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           ASL_CV_LABEL_FILENODE (Op);
>>   @@ -1046,7 +1046,7 @@ AcpiDmAscendingOp (
>>         /* Point the Op's filename pointer to the proper file */
>>   -    if (Gbl_CaptureComments)
>> +    if (AcpiGbl_CaptureComments)
>>       {
>>           ASL_CV_LABEL_FILENODE (Op);
>>   @@ -1074,7 +1074,7 @@ AcpiDmAscendingOp (
>>             /* Print any comments that are at the end of the file here */
>>   -        if (Gbl_CaptureComments && AcpiGbl_LastListHead)
>> +        if (AcpiGbl_CaptureComments && AcpiGbl_LastListHead)
>>           {
>>               AcpiOsPrintf ("\n");
>>               ASL_CV_PRINT_ONE_COMMENT_LIST (AcpiGbl_LastListHead, 0);
>> diff --git a/src/acpica/source/components/dispatcher/dspkginit.c
>> b/src/acpica/source/components/dispatcher/dspkginit.c
>> index 14e34b09..d7a4c178 100644
>> --- a/src/acpica/source/components/dispatcher/dspkginit.c
>> +++ b/src/acpica/source/components/dispatcher/dspkginit.c
>> @@ -419,9 +419,12 @@ AcpiDsInitPackageElement (
>>       ACPI_OPERAND_OBJECT     **ElementPtr;
>>     +    ACPI_FUNCTION_TRACE (DsInitPackageElement);
>> +
>> +
>>       if (!SourceObject)
>>       {
>> -        return (AE_OK);
>> +        return_ACPI_STATUS (AE_OK);
>>       }
>>         /*
>> @@ -456,7 +459,7 @@ AcpiDsInitPackageElement (
>>           SourceObject->Package.Flags |= AOPOBJ_DATA_VALID;
>>       }
>>   -    return (AE_OK);
>> +    return_ACPI_STATUS (AE_OK);
>>   }
>>     @@ -481,6 +484,7 @@ AcpiDsResolvePackageElement (
>>       ACPI_GENERIC_STATE      ScopeInfo;
>>       ACPI_OPERAND_OBJECT     *Element = *ElementPtr;
>>       ACPI_NAMESPACE_NODE     *ResolvedNode;
>> +    ACPI_NAMESPACE_NODE     *OriginalNode;
>>       char                    *ExternalPath = NULL;
>>       ACPI_OBJECT_TYPE        Type;
>>   @@ -576,6 +580,7 @@ AcpiDsResolvePackageElement (
>>        * will remain as named references. This behavior is not described
>>        * in the ACPI spec, but it appears to be an oversight.
>>        */
>> +    OriginalNode = ResolvedNode;
>>       Status = AcpiExResolveNodeToValue (&ResolvedNode, NULL);
>>       if (ACPI_FAILURE (Status))
>>       {
>> @@ -607,26 +612,27 @@ AcpiDsResolvePackageElement (
>>        */
>>       case ACPI_TYPE_DEVICE:
>>       case ACPI_TYPE_THERMAL:
>> -
>> -        /* TBD: This may not be necesssary */
>> -
>> -        AcpiUtAddReference (ResolvedNode->Object);
>> +    case ACPI_TYPE_METHOD:
>>           break;
>>         case ACPI_TYPE_MUTEX:
>> -    case ACPI_TYPE_METHOD:
>>       case ACPI_TYPE_POWER:
>>       case ACPI_TYPE_PROCESSOR:
>>       case ACPI_TYPE_EVENT:
>>       case ACPI_TYPE_REGION:
>>   +        /* AcpiExResolveNodeToValue gave these an extra reference */
>> +
>> +        AcpiUtRemoveReference (OriginalNode->Object);
>>           break;
>>         default:
>>           /*
>>            * For all other types - the node was resolved to an actual
>> -         * operand object with a value, return the object
>> +         * operand object with a value, return the object. Remove
>> +         * a reference on the existing object.
>>            */
>> +        AcpiUtRemoveReference (Element);
>>           *ElementPtr = (ACPI_OPERAND_OBJECT *) ResolvedNode;
>>           break;
>>       }
>> diff --git a/src/acpica/source/components/executer/exdump.c
>> b/src/acpica/source/components/executer/exdump.c
>> index c1069b2c..8730a0eb 100644
>> --- a/src/acpica/source/components/executer/exdump.c
>> +++ b/src/acpica/source/components/executer/exdump.c
>> @@ -747,7 +747,7 @@ AcpiExDumpOperand (
>>       UINT32                  Index;
>>     -    ACPI_FUNCTION_NAME (ExDumpOperand)
>> +    ACPI_FUNCTION_NAME (ExDumpOperand);
>>           /* Check if debug output enabled */
>> @@ -1042,7 +1042,7 @@ AcpiExDumpOperands (
>>       const char              *OpcodeName,
>>       UINT32                  NumOperands)
>>   {
>> -    ACPI_FUNCTION_NAME (ExDumpOperands);
>> +    ACPI_FUNCTION_TRACE (ExDumpOperands);
>>           if (!OpcodeName)
>> @@ -1070,7 +1070,7 @@ AcpiExDumpOperands (
>>         ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
>>           "**** End operand dump for [%s]\n", OpcodeName));
>> -    return;
>> +    return_VOID;
>>   }
>>     diff --git a/src/acpica/source/components/hardware/hwvalid.c
>> b/src/acpica/source/components/hardware/hwvalid.c
>> index 0d41dd13..e2b187e7 100644
>> --- a/src/acpica/source/components/hardware/hwvalid.c
>> +++ b/src/acpica/source/components/hardware/hwvalid.c
>> @@ -245,7 +245,7 @@ AcpiHwValidateIoRequest (
>>       const ACPI_PORT_INFO    *PortInfo;
>>     -    ACPI_FUNCTION_NAME (HwValidateIoRequest);
>> +    ACPI_FUNCTION_TRACE (HwValidateIoRequest);
>>           /* Supported widths are 8/16/32 */
>> @@ -256,14 +256,15 @@ AcpiHwValidateIoRequest (
>>       {
>>           ACPI_ERROR ((AE_INFO,
>>               "Bad BitWidth parameter: %8.8X", BitWidth));
>> -        return (AE_BAD_PARAMETER);
>> +        return_ACPI_STATUS (AE_BAD_PARAMETER);
>>       }
>>         PortInfo = AcpiProtectedPorts;
>>       ByteWidth = ACPI_DIV_8 (BitWidth);
>>       LastAddress = Address + ByteWidth - 1;
>>   -    ACPI_DEBUG_PRINT ((ACPI_DB_IO, "Address %8.8X%8.8X LastAddress
>> %8.8X%8.8X Length %X",
>> +    ACPI_DEBUG_PRINT ((ACPI_DB_IO,
>> +        "Address %8.8X%8.8X LastAddress %8.8X%8.8X Length %X",
>>           ACPI_FORMAT_UINT64 (Address), ACPI_FORMAT_UINT64 (LastAddress),
>>           ByteWidth));
>>   @@ -274,14 +275,14 @@ AcpiHwValidateIoRequest (
>>           ACPI_ERROR ((AE_INFO,
>>               "Illegal I/O port address/length above 64K:
>> %8.8X%8.8X/0x%X",
>>               ACPI_FORMAT_UINT64 (Address), ByteWidth));
>> -        return (AE_LIMIT);
>> +        return_ACPI_STATUS (AE_LIMIT);
>>       }
>>         /* Exit if requested address is not within the protected port
>> table */
>>         if (Address > AcpiProtectedPorts[ACPI_PORT_INFO_ENTRIES - 1].End)
>>       {
>> -        return (AE_OK);
>> +        return_ACPI_STATUS (AE_OK);
>>       }
>>         /* Check request against the list of protected I/O ports */
>> @@ -303,8 +304,8 @@ AcpiHwValidateIoRequest (
>>                 if (AcpiGbl_OsiData >= PortInfo->OsiDependency)
>>               {
>> -                ACPI_DEBUG_PRINT ((ACPI_DB_IO,
>> -                    "Denied AML access to port 0x%8.8X%8.8X/%X (%s
>> 0x%.4X-0x%.4X)",
>> +                ACPI_DEBUG_PRINT ((ACPI_DB_VALUES,
>> +                    "Denied AML access to port 0x%8.8X%8.8X/%X (%s
>> 0x%.4X-0x%.4X)\n",
>>                       ACPI_FORMAT_UINT64 (Address), ByteWidth,
>> PortInfo->Name,
>>                       PortInfo->Start, PortInfo->End));
>>   @@ -320,7 +321,7 @@ AcpiHwValidateIoRequest (
>>           }
>>       }
>>   -    return (AE_OK);
>> +    return_ACPI_STATUS (AE_OK);
>>   }
>>     diff --git a/src/acpica/source/components/namespace/nsxfeval.c
>> b/src/acpica/source/components/namespace/nsxfeval.c
>> index ab3ad598..cb31e131 100644
>> --- a/src/acpica/source/components/namespace/nsxfeval.c
>> +++ b/src/acpica/source/components/namespace/nsxfeval.c
>> @@ -174,11 +174,11 @@ AcpiNsResolveReferences (
>>    *
>>    * PARAMETERS:  Handle              - Object handle (optional)
>>    *              Pathname            - Object pathname (optional)
>> - *              ExternalParams      - List of parameters to pass to
>> method,
>> + *              ExternalParams      - List of parameters to pass to a
>> method,
>>    *                                    terminated by NULL. May be NULL
>>    *                                    if no parameters are being
>> passed.
>> - *              ReturnBuffer        - Where to put method's return
>> value (if
>> - *                                    any). If NULL, no value is
>> returned.
>> + *              ReturnBuffer        - Where to put the object return
>> value (if
>> + *                                    any). Required.
>>    *              ReturnType          - Expected type of return object
>>    *
>>    * RETURN:      Status
>> @@ -218,10 +218,16 @@ AcpiEvaluateObjectTyped (
>>           FreeBufferOnError = TRUE;
>>       }
>>   -    Status = AcpiGetHandle (Handle, Pathname, &TargetHandle);
>> -    if (ACPI_FAILURE (Status))
>> +    /* Get a handle here, in order to build an error message if
>> needed */
>> +
>> +    TargetHandle = Handle;
>> +    if (Pathname)
>>       {
>> -        return_ACPI_STATUS (Status);
>> +        Status = AcpiGetHandle (Handle, Pathname, &TargetHandle);
>> +        if (ACPI_FAILURE (Status))
>> +        {
>> +            return_ACPI_STATUS (Status);
>> +        }
>>       }
>>         FullPathname = AcpiNsGetExternalPathname (TargetHandle);
>> diff --git a/src/acpica/source/components/parser/psutils.c
>> b/src/acpica/source/components/parser/psutils.c
>> index a04b2e50..1b01c4b0 100644
>> --- a/src/acpica/source/components/parser/psutils.c
>> +++ b/src/acpica/source/components/parser/psutils.c
>> @@ -213,7 +213,7 @@ AcpiPsInitOp (
>>       Op->Common.DescriptorType = ACPI_DESC_TYPE_PARSER;
>>       Op->Common.AmlOpcode = Opcode;
>>   -    ACPI_DISASM_ONLY_MEMBERS (strncpy (Op->Common.AmlOpName,
>> +    ACPI_DISASM_ONLY_MEMBERS (AcpiUtSafeStrncpy (Op->Common.AmlOpName,
>>           (AcpiPsGetOpcodeInfo (Opcode))->Name,
>>           sizeof (Op->Common.AmlOpName)));
>>   }
>> @@ -293,7 +293,7 @@ AcpiPsAllocOp (
>>               AcpiGbl_CurrentScope = Op;
>>           }
>>   -        if (Gbl_CaptureComments)
>> +        if (AcpiGbl_CaptureComments)
>>           {
>>               ASL_CV_TRANSFER_COMMENTS (Op);
>>           }
>> diff --git a/src/acpica/source/components/utilities/utdebug.c
>> b/src/acpica/source/components/utilities/utdebug.c
>> index dd80f241..177b141b 100644
>> --- a/src/acpica/source/components/utilities/utdebug.c
>> +++ b/src/acpica/source/components/utilities/utdebug.c
>> @@ -290,7 +290,9 @@ AcpiDebugPrint (
>>   {
>>       ACPI_THREAD_ID          ThreadId;
>>       va_list                 args;
>> -
>> +#ifdef ACPI_APPLICATION
>> +    int                     FillCount;
>> +#endif
>>         /* Check if debug output enabled */
>>   @@ -334,10 +336,21 @@ AcpiDebugPrint (
>>           AcpiOsPrintf ("[%u] ", (UINT32) ThreadId);
>>       }
>>   -    AcpiOsPrintf ("[%02ld] ", AcpiGbl_NestingLevel);
>> -#endif
>> +    FillCount = 48 - AcpiGbl_NestingLevel -
>> +        strlen (AcpiUtTrimFunctionName (FunctionName));
>> +    if (FillCount < 0)
>> +    {
>> +        FillCount = 0;
>> +    }
>>   +    AcpiOsPrintf ("[%02ld] %*s",
>> +        AcpiGbl_NestingLevel, AcpiGbl_NestingLevel + 1, " ");
>> +    AcpiOsPrintf ("%s%*s: ",
>> +        AcpiUtTrimFunctionName (FunctionName), FillCount, " ");
>> +
>> +#else
>>       AcpiOsPrintf ("%-22.22s: ", AcpiUtTrimFunctionName (FunctionName));
>> +#endif
>>         va_start (args, Format);
>>       AcpiOsVprintf (Format, args);
>> diff --git a/src/acpica/source/components/utilities/utnonansi.c
>> b/src/acpica/source/components/utilities/utnonansi.c
>> index f9551d05..f1404e59 100644
>> --- a/src/acpica/source/components/utilities/utnonansi.c
>> +++ b/src/acpica/source/components/utilities/utnonansi.c
>> @@ -344,4 +344,17 @@ AcpiUtSafeStrncat (
>>       strncat (Dest, Source, MaxTransferLength);
>>       return (FALSE);
>>   }
>> +
>> +void
>> +AcpiUtSafeStrncpy (
>> +    char                    *Dest,
>> +    char                    *Source,
>> +    ACPI_SIZE               DestSize)
>> +{
>> +    /* Always terminate destination string */
>> +
>> +    strncpy (Dest, Source, DestSize);
>> +    Dest[DestSize - 1] = 0;
>> +}
>> +
>>   #endif
>> diff --git a/src/acpica/source/components/utilities/utosi.c
>> b/src/acpica/source/components/utilities/utosi.c
>> index d8f299ed..ee2890fb 100644
>> --- a/src/acpica/source/components/utilities/utosi.c
>> +++ b/src/acpica/source/components/utilities/utosi.c
>> @@ -214,6 +214,8 @@ static ACPI_INTERFACE_INFO   
>> AcpiDefaultSupportedInterfaces[] =
>>       {"Windows 2012",        NULL, 0, ACPI_OSI_WIN_8},            /*
>> Windows 8 and Server 2012 - Added 08/2012 */
>>       {"Windows 2013",        NULL, 0, ACPI_OSI_WIN_8},            /*
>> Windows 8.1 and Server 2012 R2 - Added 01/2014 */
>>       {"Windows 2015",        NULL, 0, ACPI_OSI_WIN_10},           /*
>> Windows 10 - Added 03/2015 */
>> +    {"Windows 2016",        NULL, 0, ACPI_OSI_WIN_10_RS1},       /*
>> Windows 10 version 1607 - Added 12/2017 */
>> +    {"Windows 2017",        NULL, 0, ACPI_OSI_WIN_10_RS2},       /*
>> Windows 10 version 1703 - Added 12/2017 */
>>         /* Feature Group Strings */
>>   diff --git a/src/acpica/source/components/utilities/uttrack.c
>> b/src/acpica/source/components/utilities/uttrack.c
>> index e74ff066..a9b5e058 100644
>> --- a/src/acpica/source/components/utilities/uttrack.c
>> +++ b/src/acpica/source/components/utilities/uttrack.c
>> @@ -557,8 +557,7 @@ AcpiUtTrackAllocation (
>>       Allocation->Component = Component;
>>       Allocation->Line = Line;
>>   -    strncpy (Allocation->Module, Module, ACPI_MAX_MODULE_NAME);
>> -    Allocation->Module[ACPI_MAX_MODULE_NAME-1] = 0;
>> +    AcpiUtSafeStrncpy (Allocation->Module, (char *) Module,
>> ACPI_MAX_MODULE_NAME);
>>         if (!Element)
>>       {
>> diff --git a/src/acpica/source/include/acexcep.h
>> b/src/acpica/source/include/acexcep.h
>> index 21db48dc..16d3698b 100644
>> --- a/src/acpica/source/include/acexcep.h
>> +++ b/src/acpica/source/include/acexcep.h
>> @@ -241,8 +241,9 @@ typedef struct acpi_exception_info
>>   #define AE_HEX_OVERFLOW                 EXCEP_ENV (0x0020)
>>   #define AE_DECIMAL_OVERFLOW             EXCEP_ENV (0x0021)
>>   #define AE_OCTAL_OVERFLOW               EXCEP_ENV (0x0022)
>> +#define AE_END_OF_TABLE                 EXCEP_ENV (0x0023)
>>   -#define AE_CODE_ENV_MAX                 0x0022
>> +#define AE_CODE_ENV_MAX                 0x0023
>>       /*
>> @@ -379,7 +380,8 @@ static const ACPI_EXCEPTION_INFO   
>> AcpiGbl_ExceptionNames_Env[] =
>>       EXCEP_TXT ("AE_NUMERIC_OVERFLOW",           "Overflow during
>> string-to-integer conversion"),
>>       EXCEP_TXT ("AE_HEX_OVERFLOW",               "Overflow during
>> ASCII hex-to-binary conversion"),
>>       EXCEP_TXT ("AE_DECIMAL_OVERFLOW",           "Overflow during
>> ASCII decimal-to-binary conversion"),
>> -    EXCEP_TXT ("AE_OCTAL_OVERFLOW",             "Overflow during
>> ASCII octal-to-binary conversion")
>> +    EXCEP_TXT ("AE_OCTAL_OVERFLOW",             "Overflow during
>> ASCII octal-to-binary conversion"),
>> +    EXCEP_TXT ("AE_END_OF_TABLE",               "Reached the end of
>> table")
>>   };
>>     static const ACPI_EXCEPTION_INFO    AcpiGbl_ExceptionNames_Pgm[] =
>> diff --git a/src/acpica/source/include/acglobal.h
>> b/src/acpica/source/include/acglobal.h
>> index 686dcd81..d2958698 100644
>> --- a/src/acpica/source/include/acglobal.h
>> +++ b/src/acpica/source/include/acglobal.h
>> @@ -155,7 +155,7 @@
>>    
>> /*****************************************************************************
>>
>>    *
>> - * Globals related to the ACPI tables
>> + * Globals related to the incoming ACPI tables
>>    *
>>   
>> ****************************************************************************/
>>
>>   @@ -197,7 +197,7 @@ ACPI_GLOBAL (UINT8,                    
>> AcpiGbl_IntegerNybbleWidth);
>>    
>> /*****************************************************************************
>>
>>    *
>> - * Mutual exclusion within ACPICA subsystem
>> + * Mutual exclusion within the ACPICA subsystem
>>    *
>>   
>> ****************************************************************************/
>>
>>   @@ -278,7 +278,7 @@ ACPI_GLOBAL (UINT8,                    
>> AcpiGbl_NextOwnerIdOffset);
>>     ACPI_INIT_GLOBAL (BOOLEAN,             
>> AcpiGbl_NamespaceInitialized, FALSE);
>>   -/* Misc */
>> +/* Miscellaneous */
>>     ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalMode);
>>   ACPI_GLOBAL (UINT32,                    AcpiGbl_NsLookupCount);
>> @@ -301,11 +301,9 @@ extern const char                      
>> AcpiGbl_LowerHexDigits[];
>>   extern const char                       AcpiGbl_UpperHexDigits[];
>>   extern const ACPI_OPCODE_INFO          
>> AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
>>   -
>> -#ifdef ACPI_DBG_TRACK_ALLOCATIONS
>> -
>>   /* Lists for tracking memory allocations (debug only) */
>>   +#ifdef ACPI_DBG_TRACK_ALLOCATIONS
>>   ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_GlobalList);
>>   ACPI_GLOBAL (ACPI_MEMORY_LIST *,        AcpiGbl_NsNodeList);
>>   ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DisplayFinalMemStats);
>> @@ -315,7 +313,7 @@ ACPI_GLOBAL (BOOLEAN,                  
>> AcpiGbl_DisableMemTracking);
>>    
>> /*****************************************************************************
>>
>>    *
>> - * Namespace globals
>> + * ACPI Namespace
>>    *
>>   
>> ****************************************************************************/
>>
>>   @@ -330,7 +328,6 @@ ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,    
>> AcpiGbl_RootNode);
>>   ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_FadtGpeDevice);
>>   ACPI_GLOBAL (ACPI_OPERAND_OBJECT *,     AcpiGbl_ModuleCodeList);
>>   -
>>   extern const UINT8                      AcpiGbl_NsProperties
>> [ACPI_NUM_NS_TYPES];
>>   extern const ACPI_PREDEFINED_NAMES      AcpiGbl_PreDefinedNames
>> [NUM_PREDEFINED_NAMES];
>>   @@ -347,15 +344,20 @@ ACPI_INIT_GLOBAL (UINT32,              
>> AcpiGbl_NestingLevel, 0);
>>    
>> /*****************************************************************************
>>
>>    *
>> - * Interpreter globals
>> + * Interpreter/Parser globals
>>    *
>>   
>> ****************************************************************************/
>>
>>   -ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
>> -
>>   /* Control method single step flag */
>>     ACPI_GLOBAL (UINT8,                     AcpiGbl_CmSingleStep);
>> +ACPI_GLOBAL (ACPI_THREAD_STATE *,       AcpiGbl_CurrentWalkList);
>> +ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT,   *AcpiGbl_CurrentScope, NULL);
>> +
>> +/* ASL/ASL+ converter */
>> +
>> +ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_CaptureComments, FALSE);
>> +ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_LastListHead, NULL);
>>      
>> /*****************************************************************************
>>
>> @@ -365,7 +367,6 @@ ACPI_GLOBAL (UINT8,                    
>> AcpiGbl_CmSingleStep);
>>   
>> ****************************************************************************/
>>
>>     extern ACPI_BIT_REGISTER_INFO          
>> AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG];
>> -
>>   ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeA);
>>   ACPI_GLOBAL (UINT8,                     AcpiGbl_SleepTypeB);
>>   @@ -377,18 +378,16 @@ ACPI_GLOBAL (UINT8,                    
>> AcpiGbl_SleepTypeB);
>>   
>> ****************************************************************************/
>>
>>     #if (!ACPI_REDUCED_HARDWARE)
>> -
>>   ACPI_GLOBAL (UINT8,                     AcpiGbl_AllGpesInitialized);
>>   ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *,     AcpiGbl_GpeXruptListHead);
>>   ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *,    
>> AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]);
>>   ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER,    AcpiGbl_GlobalEventHandler);
>>   ACPI_GLOBAL (void *,                   
>> AcpiGbl_GlobalEventHandlerContext);
>>   ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER, 
>> AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]);
>> -
>>   extern ACPI_FIXED_EVENT_INFO           
>> AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS];
>> -
>>   #endif /* !ACPI_REDUCED_HARDWARE */
>>   +
>>  
>> /*****************************************************************************
>>
>>    *
>>    * Debug support
>> @@ -402,7 +401,7 @@ ACPI_GLOBAL (UINT32,                   
>> AcpiGpeCount);
>>   ACPI_GLOBAL (UINT32,                    AcpiSciCount);
>>   ACPI_GLOBAL (UINT32,                   
>> AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]);
>>   -/* Support for dynamic control method tracing mechanism */
>> +/* Dynamic control method tracing mechanism */
>>     ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLevel);
>>   ACPI_GLOBAL (UINT32,                    AcpiGbl_OriginalDbgLayer);
>> @@ -410,12 +409,13 @@ ACPI_GLOBAL (UINT32,                   
>> AcpiGbl_OriginalDbgLayer);
>>    
>> /*****************************************************************************
>>
>>    *
>> - * Debugger and Disassembler globals
>> + * Debugger and Disassembler
>>    *
>>   
>> ****************************************************************************/
>>
>>     ACPI_INIT_GLOBAL (UINT8,                AcpiGbl_DbOutputFlags,
>> ACPI_DB_CONSOLE_OUTPUT);
>>   +
>>   #ifdef ACPI_DISASSEMBLER
>>     /* Do not disassemble buffers to resource descriptors */
>> @@ -427,7 +427,7 @@ ACPI_INIT_GLOBAL (BOOLEAN,             
>> AcpiGbl_ForceAmlDisassembly, FALSE);
>>   ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DmOpt_Verbose, TRUE);
>>   ACPI_INIT_GLOBAL (BOOLEAN,             
>> AcpiGbl_DmEmitExternalOpcodes, FALSE);
>>   ACPI_INIT_GLOBAL (BOOLEAN,             
>> AcpiGbl_DoDisassemblerOptimizations, TRUE);
>> -ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT_LIST,   *AcpiGbl_TempListHead,
>> NULL);
>> +ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT_LIST, *AcpiGbl_TempListHead, NULL);
>>     ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Disasm);
>>   ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DmOpt_Listing);
>> @@ -438,7 +438,6 @@ ACPI_GLOBAL (ACPI_EXTERNAL_FILE *,     
>> AcpiGbl_ExternalFileList);
>>   #endif
>>     #ifdef ACPI_DEBUGGER
>> -
>>   ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_AbortMethod, FALSE);
>>   ACPI_INIT_GLOBAL (ACPI_THREAD_ID,       AcpiGbl_DbThreadId,
>> ACPI_INVALID_THREAD_ID);
>>   @@ -452,7 +451,6 @@ ACPI_GLOBAL (UINT32,                   
>> AcpiGbl_DbConsoleDebugLevel);
>>   ACPI_GLOBAL (ACPI_NAMESPACE_NODE *,     AcpiGbl_DbScopeNode);
>>   ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbTerminateLoop);
>>   ACPI_GLOBAL (BOOLEAN,                   AcpiGbl_DbThreadsTerminated);
>> -
>>   ACPI_GLOBAL (char *,                   
>> AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]);
>>   ACPI_GLOBAL (ACPI_OBJECT_TYPE,         
>> AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]);
>>   @@ -462,81 +460,66 @@ ACPI_GLOBAL (char,                     
>> AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_
>>   ACPI_GLOBAL (char,                     
>> AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]);
>>   ACPI_GLOBAL (char,                     
>> AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]);
>>   -/*
>> - * Statistic globals
>> - */
>> +/* Statistics globals */
>> +
>>   ACPI_GLOBAL (UINT16,                   
>> AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]);
>>   ACPI_GLOBAL (UINT16,                   
>> AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]);
>>   ACPI_GLOBAL (UINT16,                    AcpiGbl_ObjTypeCountMisc);
>>   ACPI_GLOBAL (UINT16,                    AcpiGbl_NodeTypeCountMisc);
>>   ACPI_GLOBAL (UINT32,                    AcpiGbl_NumNodes);
>>   ACPI_GLOBAL (UINT32,                    AcpiGbl_NumObjects);
>> -
>>   #endif /* ACPI_DEBUGGER */
>>     #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
>> -
>> -ACPI_GLOBAL (const char,                *AcpiGbl_PldPanelList[]);
>> -ACPI_GLOBAL (const char,               
>> *AcpiGbl_PldVerticalPositionList[]);
>> -ACPI_GLOBAL (const char,               
>> *AcpiGbl_PldHorizontalPositionList[]);
>> -ACPI_GLOBAL (const char,                *AcpiGbl_PldShapeList[]);
>> -
>> +ACPI_GLOBAL (const char,               *AcpiGbl_PldPanelList[]);
>> +ACPI_GLOBAL (const char,              
>> *AcpiGbl_PldVerticalPositionList[]);
>> +ACPI_GLOBAL (const char,              
>> *AcpiGbl_PldHorizontalPositionList[]);
>> +ACPI_GLOBAL (const char,               *AcpiGbl_PldShapeList[]);
>>   ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DisasmFlag, FALSE);
>> -
>>   #endif
>>   -/*
>> - * Meant for the -ca option.
>> - */
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentInlineComment,     NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentEndNodeComment,    NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentOpenBraceComment,  NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentCloseBraceComment, NULL);
>>   -ACPI_INIT_GLOBAL (char*,   AcpiGbl_RootFilename, NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentFilename, NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentParentFilename, NULL);
>> -ACPI_INIT_GLOBAL (char*,   AcpiGbl_CurrentIncludeFilename, NULL);
>> +/*****************************************************************************
>>
>> + *
>> + * ACPICA application-specific globals
>> + *
>> +
>> ****************************************************************************/
>>
>> +
>> +/* ASL-to-ASL+ conversion utility (implemented within the iASL
>> compiler) */
>>   -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_LastListHead, NULL);
>> +#ifdef ACPI_ASL_COMPILER
>> +ACPI_INIT_GLOBAL (char *,               AcpiGbl_CurrentInlineComment,
>> NULL);
>> +ACPI_INIT_GLOBAL (char *,              
>> AcpiGbl_CurrentEndNodeComment, NULL);
>> +ACPI_INIT_GLOBAL (char *,              
>> AcpiGbl_CurrentOpenBraceComment, NULL);
>> +ACPI_INIT_GLOBAL (char *,              
>> AcpiGbl_CurrentCloseBraceComment, NULL);
>> +
>> +ACPI_INIT_GLOBAL (char *,               AcpiGbl_RootFilename, NULL);
>> +ACPI_INIT_GLOBAL (char *,               AcpiGbl_CurrentFilename, NULL);
>> +ACPI_INIT_GLOBAL (char *,              
>> AcpiGbl_CurrentParentFilename, NULL);
>> +ACPI_INIT_GLOBAL (char *,              
>> AcpiGbl_CurrentIncludeFilename, NULL);
>>     ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,  
>> *AcpiGbl_DefBlkCommentListHead, NULL);
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,  
>> *AcpiGbl_DefBlkCommentListTail, NULL);
>> -
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_RegCommentListHead,
>> NULL);
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_RegCommentListTail,
>> NULL);
>> -
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_IncCommentListHead,
>> NULL);
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,   *AcpiGbl_IncCommentListTail,
>> NULL);
>> -
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,  
>> *AcpiGbl_EndBlkCommentListHead, NULL);
>>   ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE,  
>> *AcpiGbl_EndBlkCommentListTail, NULL);
>>   -ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE,  
>> *AcpiGbl_CommentAddrListHead, NULL);
>> -
>> -ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT,   *AcpiGbl_CurrentScope,     NULL);
>> -
>> +ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE,
>> *AcpiGbl_CommentAddrListHead, NULL);
>>   ACPI_INIT_GLOBAL (ACPI_FILE_NODE,      *AcpiGbl_FileTreeRoot, NULL);
>>     ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_RegCommentCache);
>>   ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_CommentAddrCache);
>>   ACPI_GLOBAL (ACPI_CACHE_T *,            AcpiGbl_FileCache);
>>   -ACPI_INIT_GLOBAL (BOOLEAN, Gbl_CaptureComments, FALSE);
>> -
>> -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugAslConversion, FALSE);
>> -ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_ConvDebugFile, NULL);
>> -
>> -ACPI_GLOBAL (char, AcpiGbl_TableSig[4]);
>> -
>> -/*****************************************************************************
>>
>> - *
>> - * Application globals
>> - *
>> -
>> ****************************************************************************/
>>
>> +ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DebugAslConversion,
>> FALSE);
>> +ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_ConvDebugFile, NULL);
>> +ACPI_GLOBAL (char,                      AcpiGbl_TableSig[4]);
>> +#endif
>>     #ifdef ACPI_APPLICATION
>> -
>>   ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_DebugFile, NULL);
>>   ACPI_INIT_GLOBAL (ACPI_FILE,            AcpiGbl_OutputFile, NULL);
>>   ACPI_INIT_GLOBAL (BOOLEAN,              AcpiGbl_DebugTimeout, FALSE);
>> @@ -545,18 +528,6 @@ ACPI_INIT_GLOBAL (BOOLEAN,             
>> AcpiGbl_DebugTimeout, FALSE);
>>     ACPI_GLOBAL (ACPI_SPINLOCK,             AcpiGbl_PrintLock);     /*
>> For print buffer */
>>   ACPI_GLOBAL (char,                      AcpiGbl_PrintBuffer[1024]);
>> -
>>   #endif /* ACPI_APPLICATION */
>>   -
>> -/*****************************************************************************
>>
>> - *
>> - * Info/help support
>> - *
>> -
>> ****************************************************************************/
>>
>> -
>> -extern const AH_PREDEFINED_NAME         AslPredefinedInfo[];
>> -extern const AH_DEVICE_ID               AslDeviceIds[];
>> -
>> -
>>   #endif /* __ACGLOBAL_H__ */
>> diff --git a/src/acpica/source/include/acpixf.h
>> b/src/acpica/source/include/acpixf.h
>> index 3af2a137..ee857191 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                 0x20171110
>> +#define ACPI_CA_VERSION                 0x20171214
>>     #include "acconfig.h"
>>   #include "actypes.h"
>> diff --git a/src/acpica/source/include/actypes.h
>> b/src/acpica/source/include/actypes.h
>> index 4cc6d4fd..2d71de51 100644
>> --- a/src/acpica/source/include/actypes.h
>> +++ b/src/acpica/source/include/actypes.h
>> @@ -1509,6 +1509,8 @@ typedef enum
>>   #define ACPI_OSI_WIN_7                  0x0B
>>   #define ACPI_OSI_WIN_8                  0x0C
>>   #define ACPI_OSI_WIN_10                 0x0D
>> +#define ACPI_OSI_WIN_10_RS1             0x0E
>> +#define ACPI_OSI_WIN_10_RS2             0x0F
>>       /* Definitions of getopt */
>> diff --git a/src/acpica/source/include/acutils.h
>> b/src/acpica/source/include/acutils.h
>> index ff9f72db..708c0896 100644
>> --- a/src/acpica/source/include/acutils.h
>> +++ b/src/acpica/source/include/acutils.h
>> @@ -1059,6 +1059,12 @@ AcpiUtSafeStrcpy (
>>       ACPI_SIZE               DestSize,
>>       char                    *Source);
>>   +void
>> +AcpiUtSafeStrncpy (
>> +    char                    *Dest,
>> +    char                    *Source,
>> +    ACPI_SIZE               DestSize);
>> +
>>   BOOLEAN
>>   AcpiUtSafeStrcat (
>>       char                    *Dest,
>> diff --git a/src/acpica/source/os_specific/service_layers/osgendbg.c
>> b/src/acpica/source/os_specific/service_layers/osgendbg.c
>> index 504874bf..581cee33 100644
>> --- a/src/acpica/source/os_specific/service_layers/osgendbg.c
>> +++ b/src/acpica/source/os_specific/service_layers/osgendbg.c
>> @@ -1,6 +1,6 @@
>>  
>> /******************************************************************************
>>
>>    *
>> - * Module Name: osgendbg - Generic debugger command singalling
>> + * Module Name: osgendbg - Generic debugger command signalling
>>    *
>>   
>> *****************************************************************************/
>>
>>   @@ -169,6 +169,7 @@ static ACPI_MUTEX           AcpiGbl_DbCommandReady;
>>   static ACPI_MUTEX           AcpiGbl_DbCommandComplete;
>>   static BOOLEAN              AcpiGbl_DbCommandSignalsInitialized =
>> FALSE;
>>   +
>>  
>> /******************************************************************************
>>
>>    *
>>    * FUNCTION:    AcpiDbRunRemoteDebugger
>> @@ -213,7 +214,7 @@ AcpiDbRunRemoteDebugger (
>>                       Ptr++;
>>                   }
>>   -                strncpy (AcpiGbl_DbLineBuf, Cmd,
>> ACPI_DB_LINE_BUFFER_SIZE);
>> +                AcpiUtSafeStrncpy (AcpiGbl_DbLineBuf, Cmd,
>> ACPI_DB_LINE_BUFFER_SIZE);
>>                   Ptr++;
>>                   Cmd = Ptr;
>>               }
>> diff --git a/src/acpica/source/tools/acpiexec/aehandlers.c
>> b/src/acpica/source/tools/acpiexec/aehandlers.c
>> index b2854195..1ed341d9 100644
>> --- a/src/acpica/source/tools/acpiexec/aehandlers.c
>> +++ b/src/acpica/source/tools/acpiexec/aehandlers.c
>> @@ -526,10 +526,12 @@ AeAttachedDataHandler (
>>   {
>>       ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR
>> (ACPI_NAMESPACE_NODE, Data);
>>   +    ACPI_FUNCTION_NAME (AeAttachedDataHandler1);
>>   -    AcpiOsPrintf (AE_PREFIX
>> -        "Received an attached data deletion (1) on %4.4s\n",
>> -        Node->Name.Ascii);
>> +
>> +    ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
>> +         "Received an attached data deletion at handler 1 on %4.4s\n",
>> +        Node->Name.Ascii));
>>   }
>>     @@ -549,10 +551,12 @@ AeAttachedDataHandler2 (
>>   {
>>       ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR
>> (ACPI_NAMESPACE_NODE, Data);
>>   +    ACPI_FUNCTION_NAME (AeAttachedDataHandler2);
>>   -    AcpiOsPrintf (AE_PREFIX
>> -        "Received an attached data deletion (2) on %4.4s\n",
>> -        Node->Name.Ascii);
>> +
>> +    ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
>> +         "Received an attached data deletion at handler 2 on %4.4s\n",
>> +        Node->Name.Ascii));
>>   }
>>    
> 
> 




More information about the fwts-devel mailing list