Import ACPICA 20171214.
This commit is contained in:
parent
e692a0ddd0
commit
9ff5d7eeed
40
changes.txt
40
changes.txt
@ -1,3 +1,43 @@
|
||||
----------------------------------------
|
||||
14 December 2017. Summary of changes for version 20171214:
|
||||
|
||||
|
||||
1) ACPICA kernel-resident subsystem:
|
||||
|
||||
Fixed a regression in the external (public) AcpiEvaluateObjectTyped
|
||||
interface where the optional "pathname" argument had inadvertently become
|
||||
a required argument returning an error if omitted (NULL pointer
|
||||
argument).
|
||||
|
||||
Fixed two possible memory leaks related to the recently developed "late
|
||||
resolution" of reference objects within ASL Package Object definitions.
|
||||
|
||||
Added two recently defined _OSI strings: "Windows 2016" and "Windows
|
||||
2017". Mario Limonciello.
|
||||
|
||||
Implemented and deployed a safer version of the C library function
|
||||
strncpy: AcpiUtSafeStrncpy. The intent is to at least prevent the
|
||||
creation of unterminated strings as a possible result of a standard
|
||||
strncpy.
|
||||
|
||||
Cleaned up and restructured the global variable file (acglobal.h). There
|
||||
are many changes, but no functional changes.
|
||||
|
||||
|
||||
2) iASL Compiler/Disassembler and Tools:
|
||||
|
||||
iASL Table Compiler: Fixed a problem with the DBG2 ACPI table where the
|
||||
optional OemData field at the end of the table was incorrectly required
|
||||
for proper compilation. It is now correctly an optional field.
|
||||
|
||||
ASLTS: The entire suite was converted from standard ASL to the ASL+
|
||||
language, using the ASL-to-ASL+ converter which is integrated into the
|
||||
iASL compiler. A binary compare of all output files has verified the
|
||||
correctness of the conversion.
|
||||
|
||||
iASL: Fixed the source code build for platforms where "char" is unsigned.
|
||||
This affected the iASL lexer only. Jung-uk Kim.
|
||||
|
||||
----------------------------------------
|
||||
10 November 2017. Summary of changes for version 20171110:
|
||||
|
||||
|
@ -113,6 +113,7 @@ OBJECTS = \
|
||||
$(OBJDIR)/utmath.o\
|
||||
$(OBJDIR)/utmisc.o\
|
||||
$(OBJDIR)/utmutex.o\
|
||||
$(OBJDIR)/utnonansi.o\
|
||||
$(OBJDIR)/utobject.o\
|
||||
$(OBJDIR)/utosi.o\
|
||||
$(OBJDIR)/utownerid.o\
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -1654,7 +1654,6 @@ AcpiDmDumpTable (
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case ACPI_DMT_FADTPM:
|
||||
|
||||
/* FADT Preferred PM Profile names */
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -3734,7 +3734,6 @@ AcpiDmDumpS3pt (
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: AcpiDmDumpSdev
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -192,7 +192,7 @@ CvDbgPrint (
|
||||
va_list Args;
|
||||
|
||||
|
||||
if (!Gbl_CaptureComments || !AcpiGbl_DebugAslConversion)
|
||||
if (!AcpiGbl_CaptureComments || !AcpiGbl_DebugAslConversion)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ AslDoOptions (
|
||||
Gbl_IntegerOptimizationFlag = FALSE;
|
||||
Gbl_ReferenceOptimizationFlag = FALSE;
|
||||
Gbl_OptimizeTrivialParseNodes = FALSE;
|
||||
Gbl_CaptureComments = TRUE;
|
||||
AcpiGbl_CaptureComments = TRUE;
|
||||
AcpiGbl_DoDisassemblerOptimizations = FALSE;
|
||||
AcpiGbl_DebugAslConversion = TRUE;
|
||||
AcpiGbl_DmEmitExternalOpcodes = TRUE;
|
||||
@ -391,7 +391,7 @@ AslDoOptions (
|
||||
Gbl_IntegerOptimizationFlag = FALSE;
|
||||
Gbl_ReferenceOptimizationFlag = FALSE;
|
||||
Gbl_OptimizeTrivialParseNodes = FALSE;
|
||||
Gbl_CaptureComments = TRUE;
|
||||
AcpiGbl_CaptureComments = TRUE;
|
||||
AcpiGbl_DoDisassemblerOptimizations = FALSE;
|
||||
AcpiGbl_DmEmitExternalOpcodes = TRUE;
|
||||
Gbl_DoExternalsInPlace = TRUE;
|
||||
@ -416,25 +416,11 @@ AslDoOptions (
|
||||
{
|
||||
case '^':
|
||||
|
||||
/* Get the required argument */
|
||||
|
||||
if (AcpiGetoptArgument (argc, argv))
|
||||
{
|
||||
return (-1);
|
||||
}
|
||||
|
||||
Gbl_DoCompile = FALSE;
|
||||
break;
|
||||
|
||||
case 'a':
|
||||
|
||||
/* Get the required argument */
|
||||
|
||||
if (AcpiGetoptArgument (argc, argv))
|
||||
{
|
||||
return (-1);
|
||||
}
|
||||
|
||||
Gbl_DoCompile = FALSE;
|
||||
Gbl_DisassembleAll = TRUE;
|
||||
break;
|
||||
@ -796,8 +782,8 @@ AslDoOptions (
|
||||
Gbl_IntegerOptimizationFlag = FALSE;
|
||||
Gbl_ReferenceOptimizationFlag = FALSE;
|
||||
Gbl_OptimizeTrivialParseNodes = FALSE;
|
||||
Gbl_CaptureComments = TRUE;
|
||||
Gbl_DoExternalsInPlace = TRUE;
|
||||
AcpiGbl_CaptureComments = TRUE;
|
||||
return (0);
|
||||
|
||||
case 'r': /* Override revision found in table header */
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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 */
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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[] =
|
||||
|
@ -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
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_LastListHead, NULL);
|
||||
/* ASL-to-ASL+ conversion utility (implemented within the iASL compiler) */
|
||||
|
||||
#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__ */
|
||||
|
@ -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"
|
||||
|
@ -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 */
|
||||
|
@ -1059,6 +1059,12 @@ AcpiUtSafeStrcpy (
|
||||
ACPI_SIZE DestSize,
|
||||
char *Source);
|
||||
|
||||
void
|
||||
AcpiUtSafeStrncpy (
|
||||
char *Dest,
|
||||
char *Source,
|
||||
ACPI_SIZE DestSize);
|
||||
|
||||
BOOLEAN
|
||||
AcpiUtSafeStrcat (
|
||||
char *Dest,
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
@ -533,13 +533,12 @@ AeDoOptions (
|
||||
{
|
||||
case '^': /* -v: (Version): signon already emitted, just exit */
|
||||
|
||||
(void) AcpiOsTerminate ();
|
||||
return (1);
|
||||
exit (0);
|
||||
|
||||
case 'd':
|
||||
|
||||
printf (ACPI_COMMON_BUILD_TIME);
|
||||
return (1);
|
||||
exit (0);
|
||||
|
||||
case 'i':
|
||||
|
||||
|
@ -198,6 +198,8 @@
|
||||
|
||||
ACPI_GLOBAL (char, Gbl_Buffer[AH_BUFFER_LENGTH]);
|
||||
ACPI_GLOBAL (char, Gbl_LineBuffer[AH_LINE_BUFFER_LENGTH]);
|
||||
extern const AH_PREDEFINED_NAME AslPredefinedInfo[];
|
||||
extern const AH_DEVICE_ID AslDeviceIds[];
|
||||
|
||||
|
||||
#define AH_DISPLAY_EXCEPTION(Status, Name) \
|
||||
|
@ -311,7 +311,7 @@ AhFindPredefinedNames (
|
||||
}
|
||||
|
||||
Name[0] = '_';
|
||||
strncpy (&Name[1], NamePrefix, 7);
|
||||
AcpiUtSafeStrncpy (&Name[1], NamePrefix, 7);
|
||||
|
||||
Length = strlen (Name);
|
||||
if (Length > ACPI_NAME_SIZE)
|
||||
|
@ -204,8 +204,7 @@ AxExtractTables (
|
||||
|
||||
if (Signature)
|
||||
{
|
||||
strncpy (UpperSignature, Signature, 4);
|
||||
UpperSignature[4] = 0;
|
||||
AcpiUtSafeStrncpy (UpperSignature, Signature, ACPI_NAME_SIZE);
|
||||
AcpiUtStrupr (UpperSignature);
|
||||
|
||||
/* Are there enough instances of the table to continue? */
|
||||
|
Loading…
Reference in New Issue
Block a user