Import ACPICA 20121018.
This commit is contained in:
parent
ebef5c959a
commit
31aa864e8c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor-sys/acpica/dist/; revision=241746 svn path=/vendor-sys/acpica/20121018/; revision=241747; tag=vendor/acpica/20121018
4086
changes.txt
4086
changes.txt
File diff suppressed because it is too large
Load Diff
@ -100,7 +100,7 @@ AdGenerateFilename (
|
||||
|
||||
FilenameBuf[i] = 0;
|
||||
strcat (FilenameBuf, ACPI_TABLE_FILE_SUFFIX);
|
||||
return FilenameBuf;
|
||||
return (FilenameBuf);
|
||||
}
|
||||
|
||||
|
||||
@ -183,7 +183,7 @@ AdWriteTable (
|
||||
* RETURN: New filename containing the original base + the new suffix
|
||||
*
|
||||
* DESCRIPTION: Generate a new filename from the ASL source filename and a new
|
||||
* extension. Used to create the *.LST, *.TXT, etc. files.
|
||||
* extension. Used to create the *.LST, *.TXT, etc. files.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -223,7 +223,7 @@ FlGenerateFilename (
|
||||
strcat (NewFilename, Suffix);
|
||||
}
|
||||
|
||||
return NewFilename;
|
||||
return (NewFilename);
|
||||
}
|
||||
|
||||
|
||||
@ -332,5 +332,3 @@ FlSplitInputPathname (
|
||||
*OutFilename = Filename;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -296,7 +296,7 @@ AdAmlDisassemble (
|
||||
Status = AcpiDbGetTableFromFile (Filename, &Table);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -311,14 +311,13 @@ AdAmlDisassemble (
|
||||
/* Next external file */
|
||||
|
||||
ExternalFileList = ExternalFileList->Next;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
Status = AcpiDbGetTableFromFile (ExternalFilename, &ExternalTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
/* Load external table for symbol resolution */
|
||||
@ -330,7 +329,7 @@ AdAmlDisassemble (
|
||||
{
|
||||
AcpiOsPrintf ("Could not parse external ACPI tables, %s\n",
|
||||
AcpiFormatException (Status));
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -361,12 +360,12 @@ AdAmlDisassemble (
|
||||
{
|
||||
AcpiOsPrintf ("Could not get ACPI tables, %s\n",
|
||||
AcpiFormatException (Status));
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
if (!AcpiGbl_DbOpt_disasm)
|
||||
{
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
/* Obtained the local tables, just disassemble the DSDT */
|
||||
@ -376,7 +375,7 @@ AdAmlDisassemble (
|
||||
{
|
||||
AcpiOsPrintf ("Could not get DSDT, %s\n",
|
||||
AcpiFormatException (Status));
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("\nDisassembly of DSDT\n");
|
||||
@ -531,7 +530,14 @@ AdAmlDisassemble (
|
||||
|
||||
if (AcpiGbl_DbOpt_disasm)
|
||||
{
|
||||
/* This is the real disassembly */
|
||||
|
||||
AdDisplayTables (Filename, Table);
|
||||
|
||||
/* Dump hex table if requested (-vt) */
|
||||
|
||||
AcpiDmDumpDataTable (Table);
|
||||
|
||||
fprintf (stderr, "Disassembly completed\n");
|
||||
fprintf (stderr, "ASL Output: %s - %u bytes\n",
|
||||
DisasmFilename, AdGetFileSize (File));
|
||||
@ -720,7 +726,7 @@ AdDisplayTables (
|
||||
|
||||
if (!AcpiGbl_ParseOpRoot)
|
||||
{
|
||||
return AE_NOT_EXIST;
|
||||
return (AE_NOT_EXIST);
|
||||
}
|
||||
|
||||
if (!AcpiGbl_DbOpt_verbose)
|
||||
@ -733,15 +739,15 @@ AdDisplayTables (
|
||||
if (AcpiGbl_DbOpt_verbose)
|
||||
{
|
||||
AcpiOsPrintf ("\n\nTable Header:\n");
|
||||
AcpiUtDumpBuffer ((UINT8 *) Table, sizeof (ACPI_TABLE_HEADER),
|
||||
AcpiUtDebugDumpBuffer ((UINT8 *) Table, sizeof (ACPI_TABLE_HEADER),
|
||||
DB_BYTE_DISPLAY, ACPI_UINT32_MAX);
|
||||
|
||||
AcpiOsPrintf ("Table Body (Length 0x%X)\n", Table->Length);
|
||||
AcpiUtDumpBuffer (((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER)), Table->Length,
|
||||
DB_BYTE_DISPLAY, ACPI_UINT32_MAX);
|
||||
AcpiUtDebugDumpBuffer (((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER)),
|
||||
Table->Length, DB_BYTE_DISPLAY, ACPI_UINT32_MAX);
|
||||
}
|
||||
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
@ -808,8 +814,8 @@ AdDeferredParse (
|
||||
|
||||
/*
|
||||
* We need to update all of the Aml offsets, since the parser thought
|
||||
* that the method began at offset zero. In reality, it began somewhere
|
||||
* within the ACPI table, at the BaseAmlOffset. Walk the entire tree that
|
||||
* that the method began at offset zero. In reality, it began somewhere
|
||||
* within the ACPI table, at the BaseAmlOffset. Walk the entire tree that
|
||||
* was just created and update the AmlOffset in each Op
|
||||
*/
|
||||
BaseAmlOffset = (Op->Common.Value.Arg)->Common.AmlOffset + 1;
|
||||
@ -914,7 +920,7 @@ AdParseDeferredOps (
|
||||
Status = AdDeferredParse (Op, Op->Named.Data, Op->Named.Length);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return_ACPI_STATUS (Status);
|
||||
return (Status);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -942,7 +948,7 @@ AdParseDeferredOps (
|
||||
}
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
|
||||
@ -979,7 +985,7 @@ AdGetLocalTables (
|
||||
if (!NewTable)
|
||||
{
|
||||
fprintf (stderr, "Could not obtain RSDT\n");
|
||||
return AE_NO_ACPI_TABLES;
|
||||
return (AE_NO_ACPI_TABLES);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -999,7 +1005,7 @@ AdGetLocalTables (
|
||||
/*
|
||||
* Determine the number of tables pointed to by the RSDT/XSDT.
|
||||
* This is defined by the ACPI Specification to be the number of
|
||||
* pointers contained within the RSDT/XSDT. The size of the pointers
|
||||
* pointers contained within the RSDT/XSDT. The size of the pointers
|
||||
* is architecture-dependent.
|
||||
*/
|
||||
NumTables = (NewTable->Length - sizeof (ACPI_TABLE_HEADER)) / PointerSize;
|
||||
@ -1036,13 +1042,13 @@ AdGetLocalTables (
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
fprintf (stderr, "Could not store DSDT\n");
|
||||
return AE_NO_ACPI_TABLES;
|
||||
return (AE_NO_ACPI_TABLES);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf (stderr, "Could not obtain DSDT\n");
|
||||
return AE_NO_ACPI_TABLES;
|
||||
return (AE_NO_ACPI_TABLES);
|
||||
}
|
||||
|
||||
#if 0
|
||||
@ -1061,7 +1067,7 @@ AdGetLocalTables (
|
||||
} while (NewTable);
|
||||
#endif
|
||||
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
@ -1096,7 +1102,7 @@ AdParseTable (
|
||||
|
||||
if (!Table)
|
||||
{
|
||||
return AE_NOT_EXIST;
|
||||
return (AE_NOT_EXIST);
|
||||
}
|
||||
|
||||
/* Pass 1: Parse everything except control method bodies */
|
||||
@ -1111,7 +1117,7 @@ AdParseTable (
|
||||
AcpiGbl_ParseOpRoot = AcpiPsCreateScopeOp ();
|
||||
if (!AcpiGbl_ParseOpRoot)
|
||||
{
|
||||
return AE_NO_MEMORY;
|
||||
return (AE_NO_MEMORY);
|
||||
}
|
||||
|
||||
/* Create and initialize a new walk state */
|
||||
@ -1136,7 +1142,7 @@ AdParseTable (
|
||||
Status = AcpiPsParseAml (WalkState);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
|
||||
/* If LoadTable is FALSE, we are parsing the last loaded table */
|
||||
@ -1151,19 +1157,19 @@ AdParseTable (
|
||||
Table->Length, ACPI_TABLE_ORIGIN_ALLOCATED, &TableIndex);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
Status = AcpiTbAllocateOwnerId (TableIndex);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
if (OwnerId)
|
||||
{
|
||||
Status = AcpiTbGetOwnerId (TableIndex, OwnerId);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return Status;
|
||||
return (Status);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1180,7 +1186,7 @@ AdParseTable (
|
||||
|
||||
if (External)
|
||||
{
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
/* Pass 3: Parse control methods and link their parse trees into the main parse tree */
|
||||
@ -1192,7 +1198,5 @@ AdParseTable (
|
||||
AcpiDmFindResources (AcpiGbl_ParseOpRoot);
|
||||
|
||||
fprintf (stderr, "Parsing completed\n");
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -654,8 +654,8 @@ AcpiDmLoadDescendingOp (
|
||||
|
||||
while (AcpiGbl_PreDefinedNames[PreDefineIndex].Name)
|
||||
{
|
||||
if (!ACPI_STRNCMP (Node->Name.Ascii,
|
||||
AcpiGbl_PreDefinedNames[PreDefineIndex].Name, 4))
|
||||
if (ACPI_COMPARE_NAME (Node->Name.Ascii,
|
||||
AcpiGbl_PreDefinedNames[PreDefineIndex].Name))
|
||||
{
|
||||
PreDefined = TRUE;
|
||||
break;
|
||||
@ -787,7 +787,7 @@ AcpiDmXrefDescendingOp (
|
||||
}
|
||||
|
||||
/*
|
||||
* Lookup the name in the namespace. Name must exist at this point, or it
|
||||
* Lookup the name in the namespace. Name must exist at this point, or it
|
||||
* is an invalid reference.
|
||||
*
|
||||
* The namespace is also used as a lookup table for references to resource
|
||||
@ -1018,5 +1018,3 @@ AcpiDmInspectPossibleArgs (
|
||||
|
||||
return (Last);
|
||||
}
|
||||
|
||||
|
||||
|
@ -687,4 +687,3 @@ AcpiDmEmitExternals (
|
||||
|
||||
AcpiOsPrintf ("\n");
|
||||
}
|
||||
|
||||
|
@ -1050,4 +1050,3 @@ AcpiDmAddResourceToNamespace (
|
||||
Node->Length = Length;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
@ -415,6 +415,18 @@ AcpiDmDumpDataTable (
|
||||
|
||||
if (AcpiUtIsAmlTable (Table))
|
||||
{
|
||||
if (Gbl_VerboseTemplates)
|
||||
{
|
||||
/* Dump the raw table data */
|
||||
|
||||
Length = Table->Length;
|
||||
|
||||
AcpiOsPrintf ("\n/*\n%s: Length %d (0x%X)\n\n",
|
||||
ACPI_RAW_TABLE_DATA_HEADER, Length, Length);
|
||||
AcpiUtDumpBuffer (ACPI_CAST_PTR (UINT8, Table),
|
||||
Length, DB_BYTE_DISPLAY, 0);
|
||||
AcpiOsPrintf (" */\n");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -484,7 +496,8 @@ AcpiDmDumpDataTable (
|
||||
|
||||
AcpiOsPrintf ("\n%s: Length %d (0x%X)\n\n",
|
||||
ACPI_RAW_TABLE_DATA_HEADER, Length, Length);
|
||||
AcpiUtDumpBuffer2 (ACPI_CAST_PTR (UINT8, Table), Length, DB_BYTE_DISPLAY);
|
||||
AcpiUtDumpBuffer (ACPI_CAST_PTR (UINT8, Table),
|
||||
Length, DB_BYTE_DISPLAY, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1611,8 +1611,8 @@ AcpiDmDumpMpst (
|
||||
ACPI_MPST_DATA_HDR *SubTable1;
|
||||
ACPI_MPST_POWER_DATA *SubTable2;
|
||||
UINT16 SubtableCount;
|
||||
UINT8 PowerStateCount;
|
||||
UINT8 ComponentCount;
|
||||
UINT32 PowerStateCount;
|
||||
UINT32 ComponentCount;
|
||||
|
||||
|
||||
/* Main table */
|
||||
|
@ -1518,10 +1518,10 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[] =
|
||||
{
|
||||
{ACPI_DMT_UINT16, ACPI_MPST_OFFSET (Reserved1), "Reserved", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST_OFFSET (ChannelId), "Channel ID", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST_OFFSET (Reserved2), "Reserved", 0},
|
||||
{ACPI_DMT_UINT24, ACPI_MPST_OFFSET (Reserved1[0]), "Reserved", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_MPST_OFFSET (PowerNodeCount), "Power Node Count", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_MPST_OFFSET (Reserved2), "Reserved", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1538,12 +1538,11 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[] =
|
||||
|
||||
{ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (Reserved1), "Reserved", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_MPST0_OFFSET (NodeId), "Node ID", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (Length), "Length", DT_LENGTH},
|
||||
{ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (Length), "Length", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeAddress), "Range Address", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_MPST0_OFFSET (RangeLength), "Range Length", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (NumPowerStates), "Num Power States", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST0_OFFSET (NumPhysicalComponents), "Num Physical Components", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_MPST0_OFFSET (Reserved2), "Reserved", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPowerStates), "Num Power States", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_MPST0_OFFSET (NumPhysicalComponents), "Num Physical Components", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1569,6 +1568,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[] =
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[] =
|
||||
{
|
||||
{ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (CharacteristicsCount), "Characteristics Count", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_MPST1_OFFSET (Reserved), "Reserved", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1576,7 +1576,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (Revision), "Revision", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (StructureId), "Structure ID", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_MPST2_OFFSET (Flags), "Flags (decoded below)", DT_FLAG},
|
||||
{ACPI_DMT_FLAG0, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Memory Preserved", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_MPST2_FLAG_OFFSET (Flags,0), "Auto Entry", 0},
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: getopt
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslcodegen - AML code generation
|
||||
@ -89,7 +88,7 @@ CgWriteNode (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Generate AML code. Currently generates the listing file
|
||||
* DESCRIPTION: Generate AML code. Currently generates the listing file
|
||||
* simultaneously.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -446,7 +445,7 @@ CgWriteTableHeader (
|
||||
|
||||
/* Compiler ID */
|
||||
|
||||
strncpy (TableHeader.AslCompilerId, ASL_CREATOR_ID, 4);
|
||||
ACPI_MOVE_NAME (TableHeader.AslCompilerId, ASL_CREATOR_ID);
|
||||
|
||||
/* Compiler version */
|
||||
|
||||
@ -589,5 +588,3 @@ CgWriteNode (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslcompile - top level compile module
|
||||
@ -480,7 +479,7 @@ CmDoCompile (
|
||||
{
|
||||
UtEndEvent (Event);
|
||||
CmCleanupAndExit ();
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
UtEndEvent (Event);
|
||||
@ -548,7 +547,7 @@ CmDoCompile (
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
AePrintErrorLog (ASL_FILE_STDERR);
|
||||
return -1;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* Interpret and generate all compile-time constants */
|
||||
@ -589,7 +588,7 @@ CmDoCompile (
|
||||
UtDisplaySummary (ASL_FILE_STDOUT);
|
||||
}
|
||||
UtEndEvent (FullCompile);
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -621,7 +620,7 @@ CmDoCompile (
|
||||
UtEndEvent (AslGbl_NamespaceEvent);
|
||||
|
||||
/*
|
||||
* Semantic analysis. This can happen only after the
|
||||
* Semantic analysis. This can happen only after the
|
||||
* namespace has been loaded and cross-referenced.
|
||||
*
|
||||
* part one - check control methods
|
||||
@ -682,7 +681,7 @@ CmDoCompile (
|
||||
|
||||
UtEndEvent (FullCompile);
|
||||
CmCleanupAndExit ();
|
||||
return 0;
|
||||
return (0);
|
||||
|
||||
ErrorExit:
|
||||
UtEndEvent (FullCompile);
|
||||
@ -905,5 +904,3 @@ CmCleanupAndExit (
|
||||
FlDeleteFile (ASL_FILE_SOURCE_OUTPUT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslcompiler.h - common include file for iASL
|
||||
@ -1128,4 +1127,3 @@ DtCreateTemplates (
|
||||
char *Signature);
|
||||
|
||||
#endif /* __ASLCOMPILER_H */
|
||||
|
||||
|
@ -3509,7 +3509,7 @@ OptionalXferSize
|
||||
int
|
||||
AslCompilerwrap(void)
|
||||
{
|
||||
return 1;
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*! [End] no source code translation !*/
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asldefine.h - Common defines for the iASL compiler
|
||||
@ -174,4 +173,3 @@
|
||||
RsCreateResourceField (Op, Name, ByteOffset, 0, 64);
|
||||
|
||||
#endif /* ASLDEFINE.H */
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslerror - Error handling and statistics
|
||||
@ -95,7 +94,7 @@ AeClearErrorLog (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Add a new error node to the error log. The error log is
|
||||
* DESCRIPTION: Add a new error node to the error log. The error log is
|
||||
* ordered by the "logical" line number (cumulative line number
|
||||
* including all include files.)
|
||||
*
|
||||
@ -783,5 +782,5 @@ AslCompilererror (
|
||||
Gbl_CurrentColumn, Gbl_Files[ASL_FILE_INPUT].Filename,
|
||||
ACPI_CAST_PTR (char, CompilerMessage));
|
||||
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslfiles - file I/O suppoert
|
||||
@ -63,7 +62,6 @@ FlParseInputPathname (
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: AslAbort
|
||||
@ -72,7 +70,7 @@ FlParseInputPathname (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Dump the error log and abort the compiler. Used for serious
|
||||
* DESCRIPTION: Dump the error log and abort the compiler. Used for serious
|
||||
* I/O errors
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -199,7 +197,7 @@ FlGetFileSize (
|
||||
* Buffer - Where to place the data
|
||||
* Length - Amount to read
|
||||
*
|
||||
* RETURN: Status. AE_ERROR indicates EOF.
|
||||
* RETURN: Status. AE_ERROR indicates EOF.
|
||||
*
|
||||
* DESCRIPTION: Read data from an open file.
|
||||
* NOTE: Aborts compiler on any error.
|
||||
@ -347,7 +345,7 @@ FlSeekFile (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Close an open file. Aborts compiler on error
|
||||
* DESCRIPTION: Close an open file. Aborts compiler on error
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -806,7 +804,7 @@ FlOpenInputFile (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Create the output filename (*.AML) and open the file. The file
|
||||
* DESCRIPTION: Create the output filename (*.AML) and open the file. The file
|
||||
* is created in the same directory as the parent input file.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1147,5 +1145,3 @@ FlParseInputPathname (
|
||||
return (AE_OK);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslfold - Constant folding
|
||||
@ -334,7 +333,7 @@ OpcAmlConstantWalk (
|
||||
WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL);
|
||||
if (!WalkState)
|
||||
{
|
||||
return AE_NO_MEMORY;
|
||||
return (AE_NO_MEMORY);
|
||||
}
|
||||
|
||||
WalkState->NextOp = NULL;
|
||||
|
@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslglobal.h - Global variable definitions
|
||||
@ -49,7 +47,7 @@
|
||||
|
||||
|
||||
/*
|
||||
* Global variables. Defined in aslmain.c only, externed in all other files
|
||||
* Global variables. Defined in aslmain.c only, externed in all other files
|
||||
*/
|
||||
|
||||
#undef ASL_EXTERN
|
||||
@ -254,4 +252,3 @@ ASL_EXTERN char StringBuffer2[ASL_MSG_BUFFER_SIZE];
|
||||
|
||||
|
||||
#endif /* __ASLGLOBAL_H */
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asllength - Tree walk to determine package and opcode lengths
|
||||
@ -80,7 +79,7 @@ LnAdjustLengthToRoot (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Walk callback to initialize (and re-initialize) the node
|
||||
* subtree length(s) to zero. The Subtree lengths are bubbled
|
||||
* subtree length(s) to zero. The Subtree lengths are bubbled
|
||||
* up to the root node in order to get a total AML length.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -112,7 +111,7 @@ LnInitLengthsWalk (
|
||||
* them all into the parent subtree length.
|
||||
*
|
||||
* Note: The SubtreeLength represents the total AML length of all child nodes
|
||||
* in all subtrees under a given node. Therefore, once this walk is
|
||||
* in all subtrees under a given node. Therefore, once this walk is
|
||||
* complete, the Root Node subtree length is the AML length of the entire
|
||||
* tree (and thus, the entire ACPI table)
|
||||
*
|
||||
@ -426,7 +425,7 @@ CgGenerateAmlLengths (
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Change the Subtree length of the given node, and bubble the
|
||||
* change all the way up to the root node. This allows for
|
||||
* change all the way up to the root node. This allows for
|
||||
* last second changes to a package length (for example, if the
|
||||
* package length encoding gets shorter or longer.)
|
||||
*
|
||||
@ -454,5 +453,3 @@ LnAdjustLengthToRoot (
|
||||
Gbl_TableLength -= LengthDelta;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asllisting - Listing file generation
|
||||
@ -340,7 +339,7 @@ LsAmlListingWalk (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Generate a listing file. This can be one of the several types
|
||||
* DESCRIPTION: Generate a listing file. This can be one of the several types
|
||||
* of "listings" supported.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -421,7 +420,7 @@ LsDoListings (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Push a listing node on the listing/include file stack. This
|
||||
* DESCRIPTION: Push a listing node on the listing/include file stack. This
|
||||
* stack enables tracking of include files (infinitely nested)
|
||||
* and resumption of the listing of the parent file when the
|
||||
* include file is finished.
|
||||
@ -479,7 +478,7 @@ LsPopNode (
|
||||
{
|
||||
AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL, NULL,
|
||||
"Could not pop empty listing stack");
|
||||
return Gbl_ListingNode;
|
||||
return (Gbl_ListingNode);
|
||||
}
|
||||
|
||||
Gbl_ListingNode = Lnode->Next;
|
||||
@ -501,8 +500,8 @@ LsPopNode (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Check if there is an exception for this line, and if there is,
|
||||
* put it in the listing immediately. Handles multiple errors
|
||||
* per line. Gbl_NextError points to the next error in the
|
||||
* put it in the listing immediately. Handles multiple errors
|
||||
* per line. Gbl_NextError points to the next error in the
|
||||
* sorted (by line #) list of compile errors/warnings.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -545,7 +544,7 @@ LsCheckException (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Flush out the current contents of the 16-byte hex AML code
|
||||
* buffer. Usually called at the termination of a single line
|
||||
* buffer. Usually called at the termination of a single line
|
||||
* of source code or when the buffer is full.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -653,7 +652,7 @@ LsFlushListingBuffer (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Write the contents of the AML buffer to the listing file via
|
||||
* the listing buffer. The listing buffer is flushed every 16
|
||||
* the listing buffer. The listing buffer is flushed every 16
|
||||
* AML bytes.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -807,7 +806,7 @@ LsWriteOneSourceLine (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Cleanup routine for the listing file. Flush the hex AML
|
||||
* DESCRIPTION: Cleanup routine for the listing file. Flush the hex AML
|
||||
* listing buffer, and flush out any remaining lines in the
|
||||
* source input file.
|
||||
*
|
||||
@ -868,7 +867,7 @@ LsFinishSourceListing (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Read then write source lines to the listing file until we have
|
||||
* reached the specified logical (cumulative) line number. This
|
||||
* reached the specified logical (cumulative) line number. This
|
||||
* automatically echos out comment blocks and other non-AML
|
||||
* generating text until we get to the actual AML-generating line
|
||||
* of ASL code specified by the logical line number.
|
||||
@ -937,7 +936,7 @@ LsWriteSourceLines (
|
||||
*
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Write "a node" to the listing file. This means to
|
||||
* DESCRIPTION: Write "a node" to the listing file. This means to
|
||||
* 1) Write out all of the source text associated with the node
|
||||
* 2) Write out all of the AML bytes associated with the node
|
||||
* 3) Write any compiler exceptions associated with the node
|
||||
@ -1289,7 +1288,7 @@ LsDoHexOutput (
|
||||
*
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* output file, but formatted into hex/ascii bytes suitable for
|
||||
* inclusion into a C source file.
|
||||
*
|
||||
@ -1377,7 +1376,7 @@ LsDoHexOutputC (
|
||||
*
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* output file, but formatted into hex/ascii bytes suitable for
|
||||
* inclusion into a C source file.
|
||||
*
|
||||
@ -1465,7 +1464,7 @@ LsDoHexOutputAsl (
|
||||
*
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
||||
* output file, but formatted into hex/ascii bytes suitable for
|
||||
* inclusion into a ASM source file.
|
||||
*
|
||||
@ -1538,5 +1537,3 @@ LsDoHexOutputAsm (
|
||||
|
||||
FlPrintFile (ASL_FILE_HEX_OUTPUT, "\n");
|
||||
}
|
||||
|
||||
|
||||
|
@ -113,7 +113,7 @@ LdLoadNamespace (
|
||||
WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL);
|
||||
if (!WalkState)
|
||||
{
|
||||
return AE_NO_MEMORY;
|
||||
return (AE_NO_MEMORY);
|
||||
}
|
||||
|
||||
/* Walk the entire parse tree, first pass */
|
||||
@ -129,7 +129,7 @@ LdLoadNamespace (
|
||||
/* Dump the namespace if debug is enabled */
|
||||
|
||||
AcpiNsDumpTables (ACPI_NS_ALL, ACPI_UINT32_MAX);
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
@ -894,5 +894,3 @@ LdCommonNamespaceEnd (
|
||||
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -423,7 +423,7 @@ LsDoOnePathname (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Walk the namespace an display information about each node
|
||||
* in the tree. Information is written to the optional
|
||||
* in the tree. Information is written to the optional
|
||||
* namespace output file.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -691,8 +691,8 @@ LkFindUnreferencedObjects (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Perform a cross reference check of the parse tree against the
|
||||
* namespace. Every named referenced within the parse tree
|
||||
* should be get resolved with a namespace lookup. If not, the
|
||||
* namespace. Every named referenced within the parse tree
|
||||
* should be get resolved with a namespace lookup. If not, the
|
||||
* original reference in the ASL code is invalid -- i.e., refers
|
||||
* to a non-existent object.
|
||||
*
|
||||
@ -718,14 +718,14 @@ LkCrossReferenceNamespace (
|
||||
WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL);
|
||||
if (!WalkState)
|
||||
{
|
||||
return AE_NO_MEMORY;
|
||||
return (AE_NO_MEMORY);
|
||||
}
|
||||
|
||||
/* Walk the entire parse tree */
|
||||
|
||||
TrWalkParseTree (RootNode, ASL_WALK_VISIT_TWICE, LkNamespaceLocateBegin,
|
||||
LkNamespaceLocateEnd, WalkState);
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
@ -759,7 +759,7 @@ LkCheckFieldRange (
|
||||
|
||||
|
||||
/*
|
||||
* Check each field unit against the region size. The entire
|
||||
* Check each field unit against the region size. The entire
|
||||
* field unit (start offset plus length) must fit within the
|
||||
* region.
|
||||
*/
|
||||
@ -775,7 +775,7 @@ LkCheckFieldRange (
|
||||
|
||||
/*
|
||||
* Now check that the field plus AccessWidth doesn't go beyond
|
||||
* the end-of-region. Assumes AccessBitWidth is a power of 2
|
||||
* the end-of-region. Assumes AccessBitWidth is a power of 2
|
||||
*/
|
||||
FieldEndBitOffset = ACPI_ROUND_UP (FieldEndBitOffset, AccessBitWidth);
|
||||
|
||||
@ -795,13 +795,13 @@ LkCheckFieldRange (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Descending callback used during cross-reference. For named
|
||||
* DESCRIPTION: Descending callback used during cross-reference. For named
|
||||
* object references, attempt to locate the name in the
|
||||
* namespace.
|
||||
*
|
||||
* NOTE: ASL references to named fields within resource descriptors are
|
||||
* resolved to integer values here. Therefore, this step is an
|
||||
* important part of the code generation. We don't know that the
|
||||
* resolved to integer values here. Therefore, this step is an
|
||||
* important part of the code generation. We don't know that the
|
||||
* name refers to a resource descriptor until now.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -835,7 +835,7 @@ LkNamespaceLocateBegin (
|
||||
/*
|
||||
* If this node is the actual declaration of a name
|
||||
* [such as the XXXX name in "Method (XXXX)"],
|
||||
* we are not interested in it here. We only care about names that are
|
||||
* we are not interested in it here. We only care about names that are
|
||||
* references to other objects within the namespace and the parent objects
|
||||
* of name declarations
|
||||
*/
|
||||
@ -921,7 +921,7 @@ LkNamespaceLocateBegin (
|
||||
"Type=%s\n", AcpiUtGetTypeName (ObjectType)));
|
||||
|
||||
/*
|
||||
* Lookup the name in the namespace. Name must exist at this point, or it
|
||||
* Lookup the name in the namespace. Name must exist at this point, or it
|
||||
* is an invalid reference.
|
||||
*
|
||||
* The namespace is also used as a lookup table for references to resource
|
||||
@ -1226,9 +1226,9 @@ LkNamespaceLocateBegin (
|
||||
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_BANKFIELD)))
|
||||
{
|
||||
/*
|
||||
* Offset checking for fields. If the parent operation region has a
|
||||
* Offset checking for fields. If the parent operation region has a
|
||||
* constant length (known at compile time), we can check fields
|
||||
* defined in that region against the region length. This will catch
|
||||
* defined in that region against the region length. This will catch
|
||||
* fields and field units that cannot possibly fit within the region.
|
||||
*
|
||||
* Note: Index fields do not directly reference an operation region,
|
||||
@ -1238,7 +1238,7 @@ LkNamespaceLocateBegin (
|
||||
{
|
||||
/*
|
||||
* This is the first child of the field node, which is
|
||||
* the name of the region. Get the parse node for the
|
||||
* the name of the region. Get the parse node for the
|
||||
* region -- which contains the length of the region.
|
||||
*/
|
||||
OwningOp = Node->Op;
|
||||
@ -1315,7 +1315,7 @@ LkNamespaceLocateBegin (
|
||||
else
|
||||
{
|
||||
/*
|
||||
* This is one element of the field list. Check to make sure
|
||||
* This is one element of the field list. Check to make sure
|
||||
* that it does not go beyond the end of the parent operation region.
|
||||
*
|
||||
* In the code below:
|
||||
@ -1348,7 +1348,7 @@ LkNamespaceLocateBegin (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Ascending callback used during cross reference. We only
|
||||
* DESCRIPTION: Ascending callback used during cross reference. We only
|
||||
* need to worry about scope management here.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1397,5 +1397,3 @@ LkNamespaceLocateEnd (
|
||||
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslmain - compiler main and utilities
|
||||
@ -124,6 +123,7 @@ Options (
|
||||
printf ("\nGlobal:\n");
|
||||
ACPI_OPTION ("-@ <file>", "Specify command file");
|
||||
ACPI_OPTION ("-I <dir>", "Specify additional include directory");
|
||||
ACPI_OPTION ("-T <sig>|ALL|*", "Create table template file for ACPI <Sig>");
|
||||
ACPI_OPTION ("-v", "Display compiler version");
|
||||
|
||||
printf ("\nPreprocessor:\n");
|
||||
@ -142,10 +142,10 @@ Options (
|
||||
ACPI_OPTION ("-w1 -w2 -w3", "Set warning reporting level");
|
||||
ACPI_OPTION ("-we", "Report warnings as errors");
|
||||
|
||||
printf ("\nAML Output Files:\n");
|
||||
ACPI_OPTION ("-sa -sc", "Create AML in assembler or C source file (*.asm or *.c)");
|
||||
printf ("\nAML and Data Output Files:\n");
|
||||
ACPI_OPTION ("-sa -sc", "Create assembler or C source file (*.asm or *.c)");
|
||||
ACPI_OPTION ("-ia -ic", "Create assembler or C include file (*.inc or *.h)");
|
||||
ACPI_OPTION ("-ta -tc -ts", "Create AML in assembler, C, or ASL hex table (*.hex)");
|
||||
ACPI_OPTION ("-ta -tc -ts", "Create assembler, C, or ASL hex table (*.hex)");
|
||||
|
||||
printf ("\nAML Code Generation:\n");
|
||||
ACPI_OPTION ("-oa", "Disable all optimizations (compatibility mode)");
|
||||
@ -162,7 +162,6 @@ Options (
|
||||
|
||||
printf ("\nACPI Data Tables:\n");
|
||||
ACPI_OPTION ("-G", "Compile custom table containing generic operators");
|
||||
ACPI_OPTION ("-T <sig>|ALL|*", "Create table template file(s) for <Sig>");
|
||||
ACPI_OPTION ("-vt", "Create verbose templates (full disassembly)");
|
||||
|
||||
printf ("\nAML Disassembler:\n");
|
||||
@ -174,6 +173,7 @@ Options (
|
||||
ACPI_OPTION ("-e [f1,f2]", "Include ACPI table(s) for external symbol resolution");
|
||||
ACPI_OPTION ("-2", "Emit ACPI 2.0 compatible ASL code");
|
||||
ACPI_OPTION ("-g", "Get ACPI tables and write to files (*.dat)");
|
||||
ACPI_OPTION ("-vt", "Dump binary table data in hex format within output file");
|
||||
|
||||
printf ("\nHelp:\n");
|
||||
ACPI_OPTION ("-h", "This message");
|
||||
@ -211,7 +211,7 @@ FilenameHelp (
|
||||
|
||||
printf ("\nAML output filename generation:\n");
|
||||
printf (" Output filenames are generated by appending an extension to a common\n");
|
||||
printf (" filename prefix. The filename prefix is obtained via one of the\n");
|
||||
printf (" filename prefix. The filename prefix is obtained via one of the\n");
|
||||
printf (" following methods (in priority order):\n");
|
||||
printf (" 1) The -p option specifies the prefix\n");
|
||||
printf (" 2) The prefix of the AMLFileName in the ASL Definition Block\n");
|
||||
@ -389,7 +389,7 @@ AslDoResponseFile (
|
||||
{
|
||||
printf ("Could not open command file %s, %s\n",
|
||||
Filename, strerror (errno));
|
||||
return -1;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* Must save the current GetOpt globals */
|
||||
@ -1070,5 +1070,3 @@ main (
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslmap - parser to AML opcode mapping table
|
||||
@ -100,7 +99,7 @@ AslMapNamedOpcodeToDataType (
|
||||
*
|
||||
* DATA STRUCTURE: AslKeywordMapping
|
||||
*
|
||||
* DESCRIPTION: Maps the ParseOpcode to the actual AML opcode. The parse
|
||||
* DESCRIPTION: Maps the ParseOpcode to the actual AML opcode. The parse
|
||||
* opcodes are generated from Bison, and this table must
|
||||
* track any additions to them.
|
||||
*
|
||||
@ -451,5 +450,3 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] =
|
||||
/*! [End] no source code translation !*/
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslmessages.h - Compiler error/warning messages
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslopcode - AML opcode generation
|
||||
@ -188,10 +187,10 @@ OpcGetIntegerWidth (
|
||||
*
|
||||
* PARAMETERS: Op - A parse tree node
|
||||
*
|
||||
* RETURN: Integer width, in bytes. Also sets the node AML opcode to the
|
||||
* RETURN: Integer width, in bytes. Also sets the node AML opcode to the
|
||||
* optimal integer AML prefix opcode.
|
||||
*
|
||||
* DESCRIPTION: Determine the optimal AML encoding of an integer. All leading
|
||||
* DESCRIPTION: Determine the optimal AML encoding of an integer. All leading
|
||||
* zeros can be truncated to squeeze the integer into the
|
||||
* minimal number of AML bytes.
|
||||
*
|
||||
@ -211,7 +210,7 @@ OpcSetOptimalIntegerSize (
|
||||
Op->Asl.Parent->Asl.Parent &&
|
||||
(Op->Asl.Parent->Asl.Parent->Asl.ParseOpcode == PARSEOP_DEFINITIONBLOCK))
|
||||
{
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -231,14 +230,14 @@ OpcSetOptimalIntegerSize (
|
||||
Op->Asl.AmlOpcode = AML_ZERO_OP;
|
||||
AslError (ASL_OPTIMIZATION, ASL_MSG_INTEGER_OPTIMIZATION,
|
||||
Op, "Zero");
|
||||
return 1;
|
||||
return (1);
|
||||
|
||||
case 1:
|
||||
|
||||
Op->Asl.AmlOpcode = AML_ONE_OP;
|
||||
AslError (ASL_OPTIMIZATION, ASL_MSG_INTEGER_OPTIMIZATION,
|
||||
Op, "One");
|
||||
return 1;
|
||||
return (1);
|
||||
|
||||
case ACPI_UINT32_MAX:
|
||||
|
||||
@ -249,7 +248,7 @@ OpcSetOptimalIntegerSize (
|
||||
Op->Asl.AmlOpcode = AML_ONES_OP;
|
||||
AslError (ASL_OPTIMIZATION, ASL_MSG_INTEGER_OPTIMIZATION,
|
||||
Op, "Ones");
|
||||
return 1;
|
||||
return (1);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -262,7 +261,7 @@ OpcSetOptimalIntegerSize (
|
||||
Op->Asl.AmlOpcode = AML_ONES_OP;
|
||||
AslError (ASL_OPTIMIZATION, ASL_MSG_INTEGER_OPTIMIZATION,
|
||||
Op, "Ones");
|
||||
return 1;
|
||||
return (1);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -276,17 +275,17 @@ OpcSetOptimalIntegerSize (
|
||||
if (Op->Asl.Value.Integer <= ACPI_UINT8_MAX)
|
||||
{
|
||||
Op->Asl.AmlOpcode = AML_BYTE_OP;
|
||||
return 1;
|
||||
return (1);
|
||||
}
|
||||
if (Op->Asl.Value.Integer <= ACPI_UINT16_MAX)
|
||||
{
|
||||
Op->Asl.AmlOpcode = AML_WORD_OP;
|
||||
return 2;
|
||||
return (2);
|
||||
}
|
||||
if (Op->Asl.Value.Integer <= ACPI_UINT32_MAX)
|
||||
{
|
||||
Op->Asl.AmlOpcode = AML_DWORD_OP;
|
||||
return 4;
|
||||
return (4);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -299,12 +298,12 @@ OpcSetOptimalIntegerSize (
|
||||
{
|
||||
/* Truncate the integer to 32-bit */
|
||||
Op->Asl.AmlOpcode = AML_DWORD_OP;
|
||||
return 4;
|
||||
return (4);
|
||||
}
|
||||
}
|
||||
|
||||
Op->Asl.AmlOpcode = AML_QWORD_OP;
|
||||
return 8;
|
||||
return (8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -459,7 +458,7 @@ OpcDoConnection (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Implement the UNICODE ASL "macro". Convert the input string
|
||||
* to a unicode buffer. There is no Unicode AML opcode.
|
||||
* to a unicode buffer. There is no Unicode AML opcode.
|
||||
*
|
||||
* Note: The Unicode string is 16 bits per character, no leading signature,
|
||||
* with a 16-bit terminating NULL.
|
||||
@ -535,19 +534,19 @@ OpcDoUnicode (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Convert a string EISA ID to numeric representation. See the
|
||||
* Pnp BIOS Specification for details. Here is an excerpt:
|
||||
* DESCRIPTION: Convert a string EISA ID to numeric representation. See the
|
||||
* Pnp BIOS Specification for details. Here is an excerpt:
|
||||
*
|
||||
* A seven character ASCII representation of the product
|
||||
* identifier compressed into a 32-bit identifier. The seven
|
||||
* identifier compressed into a 32-bit identifier. The seven
|
||||
* character ID consists of a three character manufacturer code,
|
||||
* a three character hexadecimal product identifier, and a one
|
||||
* character hexadecimal revision number. The manufacturer code
|
||||
* character hexadecimal revision number. The manufacturer code
|
||||
* is a 3 uppercase character code that is compressed into 3 5-bit
|
||||
* values as follows:
|
||||
* 1) Find hex ASCII value for each letter
|
||||
* 2) Subtract 40h from each ASCII value
|
||||
* 3) Retain 5 least signficant bits for each letter by
|
||||
* 3) Retain 5 least significant bits for each letter by
|
||||
* discarding upper 3 bits because they are always 0.
|
||||
* 4) Compressed code = concatenate 0 and the 3 5-bit values
|
||||
*
|
||||
@ -726,7 +725,7 @@ OpcDoUuId (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Generate the AML opcode associated with the node and its
|
||||
* parse (lex/flex) keyword opcode. Essentially implements
|
||||
* parse (lex/flex) keyword opcode. Essentially implements
|
||||
* a mapping between the parse opcodes and the actual AML opcodes.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -810,5 +809,3 @@ OpcGenerateAmlOpcode (
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asloperands - AML operand processing
|
||||
@ -263,7 +262,7 @@ OpnDoFieldCommon (
|
||||
UpdateRule = (UINT8) Next->Asl.Value.Integer;
|
||||
|
||||
/*
|
||||
* Generate the flags byte. The various fields are already
|
||||
* Generate the flags byte. The various fields are already
|
||||
* in the right bit position via translation from the
|
||||
* keywords by the parser.
|
||||
*/
|
||||
@ -326,7 +325,7 @@ OpnDoFieldCommon (
|
||||
{
|
||||
/*
|
||||
* Offset is redundant; we don't need to output an
|
||||
* offset opcode. Just set these nodes to default
|
||||
* offset opcode. Just set these nodes to default
|
||||
*/
|
||||
Next->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG;
|
||||
PkgLengthNode->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG;
|
||||
@ -502,7 +501,7 @@ OpnDoBankField (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Tries to get the length of the region. Can only do this at
|
||||
* DESCRIPTION: Tries to get the length of the region. Can only do this at
|
||||
* compile time if the length is a constant.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -549,7 +548,7 @@ OpnDoRegion (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Construct the AML operands for the BUFFER ASL keyword. We
|
||||
* DESCRIPTION: Construct the AML operands for the BUFFER ASL keyword. We
|
||||
* build a single raw byte buffer from the initialization nodes,
|
||||
* each parse node contains a buffer byte.
|
||||
*
|
||||
@ -615,7 +614,7 @@ OpnDoBuffer (
|
||||
case PARSEOP_STRING_LITERAL:
|
||||
|
||||
/*
|
||||
* Only one initializer, the string. Buffer must be big enough to hold
|
||||
* Only one initializer, the string. Buffer must be big enough to hold
|
||||
* the string plus the null termination byte
|
||||
*/
|
||||
BufferLength = strlen (InitializerOp->Asl.Value.String) + 1;
|
||||
@ -682,7 +681,7 @@ OpnDoBuffer (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Construct the AML operands for the PACKAGE ASL keyword. NOTE:
|
||||
* DESCRIPTION: Construct the AML operands for the PACKAGE ASL keyword. NOTE:
|
||||
* can only be called after constants have been folded, to ensure
|
||||
* that the PackageLength operand has been fully reduced.
|
||||
*
|
||||
@ -898,7 +897,7 @@ OpnDoDefinitionBlock (
|
||||
|
||||
|
||||
/*
|
||||
* These nodes get stuffed into the table header. They are special
|
||||
* These nodes get stuffed into the table header. They are special
|
||||
* cased when the table is written to the output file.
|
||||
*
|
||||
* Mark all of these nodes as non-usable so they won't get output
|
||||
@ -998,7 +997,7 @@ OpnDoDefinitionBlock (
|
||||
* PARAMETERS: Op - Get an argument for this op
|
||||
* Argn - Nth argument to get
|
||||
*
|
||||
* RETURN: The argument (as an Op object). NULL if argument does not exist
|
||||
* RETURN: The argument (as an Op object). NULL if argument does not exist
|
||||
*
|
||||
* DESCRIPTION: Get the specified op's argument (peer)
|
||||
*
|
||||
@ -1111,7 +1110,7 @@ OpnAttachNameToNode (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Prepare nodes to be output as AML data and operands. The more
|
||||
* DESCRIPTION: Prepare nodes to be output as AML data and operands. The more
|
||||
* complex AML opcodes require processing of the child nodes
|
||||
* (arguments/operands).
|
||||
*
|
||||
@ -1184,5 +1183,3 @@ OpnGenerateAmlOperands (
|
||||
|
||||
OpnAttachNameToNode (Op);
|
||||
}
|
||||
|
||||
|
||||
|
@ -127,9 +127,9 @@ OptSearchToRoot (
|
||||
|
||||
|
||||
/*
|
||||
* Check if search-to-root can be utilized. Use the last NameSeg of
|
||||
* Check if search-to-root can be utilized. Use the last NameSeg of
|
||||
* the NamePath and 1) See if can be found and 2) If found, make
|
||||
* sure that it is the same node that we want. If there is another
|
||||
* sure that it is the same node that we want. If there is another
|
||||
* name in the search path before the one we want, the nodes will
|
||||
* not match, and we cannot use this optimization.
|
||||
*/
|
||||
@ -149,7 +149,7 @@ OptSearchToRoot (
|
||||
|
||||
/*
|
||||
* We found the name, but we must check to make sure that the node
|
||||
* matches. Otherwise, there is another identical name in the search
|
||||
* matches. Otherwise, there is another identical name in the search
|
||||
* path that precludes the use of this optimization.
|
||||
*/
|
||||
if (Node != TargetNode)
|
||||
@ -233,7 +233,7 @@ OptBuildShortestPath (
|
||||
|
||||
/*
|
||||
* Determine the maximum number of NameSegs that the Target and Current paths
|
||||
* can possibly have in common. (To optimize, we have to have at least 1)
|
||||
* can possibly have in common. (To optimize, we have to have at least 1)
|
||||
*
|
||||
* Note: The external NamePath string lengths are always a multiple of 5
|
||||
* (ACPI_NAME_SIZE + separator)
|
||||
@ -254,12 +254,11 @@ OptBuildShortestPath (
|
||||
{
|
||||
/* Compare two single NameSegs */
|
||||
|
||||
if (ACPI_STRNCMP (
|
||||
&((char *) TargetPath->Pointer)[(NumCommonSegments *
|
||||
ACPI_PATH_SEGMENT_LENGTH) + 1],
|
||||
&((char *) CurrentPath->Pointer)[(NumCommonSegments *
|
||||
ACPI_PATH_SEGMENT_LENGTH) + 1],
|
||||
ACPI_NAME_SIZE))
|
||||
if (!ACPI_COMPARE_NAME (
|
||||
&((char *) TargetPath->Pointer)[
|
||||
(NumCommonSegments * ACPI_PATH_SEGMENT_LENGTH) + 1],
|
||||
&((char *) CurrentPath->Pointer)[
|
||||
(NumCommonSegments * ACPI_PATH_SEGMENT_LENGTH) + 1]))
|
||||
{
|
||||
/* Mismatch */
|
||||
|
||||
@ -371,7 +370,7 @@ OptBuildShortestPath (
|
||||
|
||||
/*
|
||||
* Check to make sure that the optimization finds the node we are
|
||||
* looking for. This is simply a sanity check on the new
|
||||
* looking for. This is simply a sanity check on the new
|
||||
* path that has been created.
|
||||
*/
|
||||
Status = AcpiNsLookup (&ScopeInfo, NewPath,
|
||||
@ -453,7 +452,7 @@ OptOptimizeNameDeclaration (
|
||||
{
|
||||
/*
|
||||
* The current scope is the root, and the namepath has a root prefix
|
||||
* that is therefore extraneous. Remove it.
|
||||
* that is therefore extraneous. Remove it.
|
||||
*/
|
||||
*NewPath = &AmlNameString[1];
|
||||
|
||||
@ -470,7 +469,7 @@ OptOptimizeNameDeclaration (
|
||||
|
||||
/*
|
||||
* Check to make sure that the optimization finds the node we are
|
||||
* looking for. This is simply a sanity check on the new
|
||||
* looking for. This is simply a sanity check on the new
|
||||
* path that has been created.
|
||||
*
|
||||
* We know that we are at the root, so NULL is used for the scope.
|
||||
@ -533,7 +532,7 @@ OptOptimizeNameDeclaration (
|
||||
* AmlNameString - Unoptimized namepath
|
||||
* TargetNode - Node to which AmlNameString refers
|
||||
*
|
||||
* RETURN: None. If path is optimized, the Op is updated with new path
|
||||
* RETURN: None. If path is optimized, the Op is updated with new path
|
||||
*
|
||||
* DESCRIPTION: Optimize a Named Declaration or Reference to the minimal length.
|
||||
* Must take into account both the current location in the
|
||||
@ -608,7 +607,7 @@ OptOptimizeNamePath (
|
||||
|
||||
/*
|
||||
* We need to obtain the node that represents the current scope -- where
|
||||
* we are right now in the namespace. We will compare this path
|
||||
* we are right now in the namespace. We will compare this path
|
||||
* against the Namepath, looking for commonality.
|
||||
*/
|
||||
CurrentNode = AcpiGbl_RootNode;
|
||||
@ -741,7 +740,7 @@ OptOptimizeNamePath (
|
||||
|
||||
/*
|
||||
* Success from above indicates that the NamePath was successfully
|
||||
* optimized. We need to update the parse op with the new name
|
||||
* optimized. We need to update the parse op with the new name
|
||||
*/
|
||||
if (ACPI_SUCCESS (Status))
|
||||
{
|
||||
@ -803,4 +802,3 @@ OptOptimizeNamePath (
|
||||
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS, "\n"));
|
||||
return_VOID;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslresource - Resource template/descriptor utilities
|
||||
@ -398,7 +397,7 @@ RsGetStringDataLength (
|
||||
InitializerOp = ASL_GET_PEER_NODE (InitializerOp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@ -449,7 +448,7 @@ RsAllocateResourceNode (
|
||||
* RETURN: None, sets fields within the input node
|
||||
*
|
||||
* DESCRIPTION: Utility function to generate a named bit field within a
|
||||
* resource descriptor. Mark a node as 1) a field in a resource
|
||||
* resource descriptor. Mark a node as 1) a field in a resource
|
||||
* descriptor, and 2) set the value to be a BIT offset
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -484,8 +483,8 @@ RsCreateResourceField (
|
||||
* RETURN: Sets bits within the *Flags output byte.
|
||||
*
|
||||
* DESCRIPTION: Set a bit in a cumulative flags word from an initialization
|
||||
* node. Will use a default value if the node is DEFAULT, meaning
|
||||
* that no value was specified in the ASL. Used to merge multiple
|
||||
* node. Will use a default value if the node is DEFAULT, meaning
|
||||
* that no value was specified in the ASL. Used to merge multiple
|
||||
* keywords into a single flags byte.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -929,7 +928,7 @@ RsLinkDescriptorChain (
|
||||
|
||||
if (!Rnode)
|
||||
{
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Point the previous node to the new node */
|
||||
@ -949,7 +948,7 @@ RsLinkDescriptorChain (
|
||||
/* Previous node becomes the last node in the chain */
|
||||
|
||||
*PreviousRnode = LastRnode;
|
||||
return CurrentByteOffset;
|
||||
return (CurrentByteOffset);
|
||||
}
|
||||
|
||||
|
||||
@ -959,7 +958,7 @@ RsLinkDescriptorChain (
|
||||
*
|
||||
* PARAMETERS: Op - Parent of a resource template list
|
||||
*
|
||||
* RETURN: None. Sets input node to point to a list of AML code
|
||||
* RETURN: None. Sets input node to point to a list of AML code
|
||||
*
|
||||
* DESCRIPTION: Merge a list of resource descriptors into a single AML buffer,
|
||||
* in preparation for output to the AML output file.
|
||||
@ -1016,7 +1015,7 @@ RsDoResourceTemplate (
|
||||
|
||||
/*
|
||||
* Update current byte offset to indicate the number of bytes from the
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* must keep track of the offset of not only each descriptor, but each
|
||||
* element (field) within each descriptor as well.
|
||||
*/
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype1 - Miscellaneous small resource descriptors
|
||||
@ -498,7 +497,7 @@ RsDoStartDependentDescriptor (
|
||||
|
||||
/*
|
||||
* Update current byte offset to indicate the number of bytes from the
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* must keep track of the offset of not only each descriptor, but each
|
||||
* element (field) within each descriptor as well.
|
||||
*/
|
||||
@ -563,7 +562,7 @@ RsDoStartDependentNoPriDescriptor (
|
||||
|
||||
/*
|
||||
* Update current byte offset to indicate the number of bytes from the
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* start of the buffer. Buffer can include multiple descriptors, we
|
||||
* must keep track of the offset of not only each descriptor, but each
|
||||
* element (field) within each descriptor as well.
|
||||
*/
|
||||
@ -650,4 +649,3 @@ RsDoVendorSmallDescriptor (
|
||||
Descriptor->VendorSmall.DescriptorType |= (UINT8) i;
|
||||
return (Rnode);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype1i - Small I/O-related resource descriptors
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype2d - Large DWord address resource descriptors
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype2e - Large Extended address resource descriptors
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype2q - Large QWord address resource descriptors
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslrestype2w - Large Word address resource descriptors
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslstartup - Compiler startup routines, called from main
|
||||
@ -231,8 +230,12 @@ AslDetectSourceFileType (
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
printf ("Non-ascii input file - %s\n", Info->Filename);
|
||||
Type = ASL_INPUT_TYPE_BINARY;
|
||||
goto Cleanup;
|
||||
|
||||
if (!Gbl_IgnoreErrors)
|
||||
{
|
||||
Type = ASL_INPUT_TYPE_BINARY;
|
||||
goto Cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslstubs - Stubs used to link to Aml interpreter
|
||||
@ -62,7 +61,7 @@ ACPI_PHYSICAL_ADDRESS
|
||||
AeLocalGetRootPointer (
|
||||
void)
|
||||
{
|
||||
return 0;
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslsupport.l - Flex/lex scanner C support routines.
|
||||
@ -167,8 +166,8 @@ ResetAndExit:
|
||||
* RETURN: 0 if a node was popped, -1 otherwise
|
||||
*
|
||||
* DESCRIPTION: Pop the top of the input file stack and point the parser to
|
||||
* the saved parse buffer contained in the fnode. Also, set the
|
||||
* global line counters to the saved values. This function is
|
||||
* the saved parse buffer contained in the fnode. Also, set the
|
||||
* global line counters to the saved values. This function is
|
||||
* called when an include file reaches EOF.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -223,7 +222,7 @@ AslPopInputFileStack (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Push the InputFile onto the file stack, and point the parser
|
||||
* to this file. Called when an include file is successfully
|
||||
* to this file. Called when an include file is successfully
|
||||
* opened.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -325,7 +324,7 @@ AslInsertLineBuffer (
|
||||
|
||||
Gbl_InputByteCount++;
|
||||
|
||||
/* Handle tabs. Convert to spaces */
|
||||
/* Handle tabs. Convert to spaces */
|
||||
|
||||
if (SourceChar == '\t')
|
||||
{
|
||||
@ -580,7 +579,7 @@ DoCharacter:
|
||||
{
|
||||
case '\\':
|
||||
/*
|
||||
* Special handling for backslash-escape sequence. We will
|
||||
* Special handling for backslash-escape sequence. We will
|
||||
* toss the backslash and translate the escape char(s).
|
||||
*/
|
||||
State = ASL_ESCAPE_SEQUENCE;
|
||||
@ -669,7 +668,7 @@ DoCharacter:
|
||||
(i > 2))
|
||||
{
|
||||
/*
|
||||
* Reached end of the constant. Convert the assembled ASCII
|
||||
* Reached end of the constant. Convert the assembled ASCII
|
||||
* string and resume processing of the next character
|
||||
*/
|
||||
ConvertBuffer[i] = 0;
|
||||
@ -714,7 +713,7 @@ DoCharacter:
|
||||
(i > 1))
|
||||
{
|
||||
/*
|
||||
* Reached end of the constant. Convert the assembled ASCII
|
||||
* Reached end of the constant. Convert the assembled ASCII
|
||||
* string and resume processing of the next character
|
||||
*/
|
||||
ConvertBuffer[i] = 0;
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asltransform - Parse tree transforms
|
||||
@ -100,7 +99,7 @@ TrDoSwitch (
|
||||
*
|
||||
* RETURN: A pointer to name (allocated here).
|
||||
*
|
||||
* DESCRIPTION: Generate an ACPI name of the form _T_x. These names are
|
||||
* DESCRIPTION: Generate an ACPI name of the form _T_x. These names are
|
||||
* reserved for use by the ASL compiler. (_T_0 through _T_Z)
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -281,7 +280,7 @@ TrAmlTransformWalk (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Prepare nodes to be output as AML data and operands. The more
|
||||
* DESCRIPTION: Prepare nodes to be output as AML data and operands. The more
|
||||
* complex AML opcodes require processing of the child nodes
|
||||
* (arguments/operands).
|
||||
*
|
||||
@ -332,7 +331,7 @@ TrTransformSubtree (
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Find the end of the definition block and set a global to this
|
||||
* node. It is used by the compiler to insert compiler-generated
|
||||
* node. It is used by the compiler to insert compiler-generated
|
||||
* names at the root level of the namespace.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -376,7 +375,7 @@ TrDoDefinitionBlock (
|
||||
* RETURN: None
|
||||
*
|
||||
*
|
||||
* DESCRIPTION: Translate ASL SWITCH statement to if/else pairs. There is
|
||||
* DESCRIPTION: Translate ASL SWITCH statement to if/else pairs. There is
|
||||
* no actual AML opcode for SWITCH -- it must be simulated.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -574,7 +573,7 @@ TrDoSwitch (
|
||||
else
|
||||
{
|
||||
/*
|
||||
* The IF is a child of previous IF/ELSE. It
|
||||
* The IF is a child of previous IF/ELSE. It
|
||||
* is therefore without peer.
|
||||
*/
|
||||
CurrentParentNode->Asl.Child = Conditional;
|
||||
@ -737,7 +736,7 @@ TrDoSwitch (
|
||||
/*
|
||||
* Transform the Switch() into a While(One)-Break node.
|
||||
* And create a Store() node which will be used to save the
|
||||
* Switch() value. The store is of the form: Store (Value, _T_x)
|
||||
* Switch() value. The store is of the form: Store (Value, _T_x)
|
||||
* where _T_x is the temp variable.
|
||||
*/
|
||||
TrAmlInitNode (StartNode, PARSEOP_WHILE);
|
||||
@ -778,5 +777,3 @@ TrDoSwitch (
|
||||
BreakOp->Asl.Parent = StartNode;
|
||||
TrAmlInsertPeer (Conditional, BreakOp);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asltree - parse tree management
|
||||
@ -121,7 +120,7 @@ TrAllocateNode (
|
||||
Op->Asl.Column = Gbl_CurrentColumn;
|
||||
|
||||
UtSetParseOpName (Op);
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -171,7 +170,7 @@ TrUpdateNode (
|
||||
|
||||
if (!Op)
|
||||
{
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT,
|
||||
@ -234,7 +233,7 @@ TrUpdateNode (
|
||||
break;
|
||||
}
|
||||
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -336,7 +335,7 @@ TrSetNodeFlags (
|
||||
|
||||
if (!Op)
|
||||
{
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
Op->Asl.CompileFlags |= Flags;
|
||||
@ -370,7 +369,7 @@ TrSetNodeAmlLength (
|
||||
|
||||
if (!Op)
|
||||
{
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
Op->Asl.AmlLength = Length;
|
||||
@ -434,7 +433,7 @@ TrCreateLeafNode (
|
||||
"\nCreateLeafNode Ln/Col %u/%u NewNode %p Op %s\n\n",
|
||||
Op->Asl.LineNumber, Op->Asl.Column, Op, UtGetOpName(ParseOpcode));
|
||||
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -580,7 +579,7 @@ TrCreateValuedLeafNode (
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "\n\n");
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -702,7 +701,7 @@ TrCreateNode (
|
||||
va_end(ap);
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "\n\n");
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -776,7 +775,7 @@ TrLinkChildren (
|
||||
{
|
||||
AslError (ASL_WARNING, ASL_MSG_COMPILER_INTERNAL, Child,
|
||||
"Child node list invalid");
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "%p, ", Child);
|
||||
@ -825,7 +824,7 @@ TrLinkChildren (
|
||||
va_end(ap);
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "\n\n");
|
||||
return Op;
|
||||
return (Op);
|
||||
}
|
||||
|
||||
|
||||
@ -859,19 +858,19 @@ TrLinkPeerNode (
|
||||
if ((!Op1) && (!Op2))
|
||||
{
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "\nTwo Null nodes!\n");
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
/* If one of the nodes is null, just return the non-null node */
|
||||
|
||||
if (!Op2)
|
||||
{
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
if (!Op1)
|
||||
{
|
||||
return Op2;
|
||||
return (Op2);
|
||||
}
|
||||
|
||||
if (Op1 == Op2)
|
||||
@ -881,7 +880,7 @@ TrLinkPeerNode (
|
||||
Op1);
|
||||
AslError (ASL_WARNING, ASL_MSG_COMPILER_INTERNAL, Op1,
|
||||
"Linking node to itself");
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
Op1->Asl.Parent = Op2->Asl.Parent;
|
||||
@ -898,7 +897,7 @@ TrLinkPeerNode (
|
||||
}
|
||||
|
||||
Next->Asl.Next = Op2;
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
|
||||
@ -994,7 +993,7 @@ TrLinkChildNode (
|
||||
|
||||
if (!Op1 || !Op2)
|
||||
{
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
Op1->Asl.Child = Op2;
|
||||
@ -1008,7 +1007,7 @@ TrLinkChildNode (
|
||||
Next = Next->Asl.Next;
|
||||
}
|
||||
|
||||
return Op1;
|
||||
return (Op1);
|
||||
}
|
||||
|
||||
|
||||
@ -1236,5 +1235,3 @@ TrWalkParseTree (
|
||||
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: asltypes.h - compiler data types and struct definitions
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslutils -- compiler utilities
|
||||
@ -54,7 +53,6 @@
|
||||
ACPI_MODULE_NAME ("aslutils")
|
||||
|
||||
|
||||
|
||||
/* Local prototypes */
|
||||
|
||||
static void
|
||||
@ -569,7 +567,7 @@ UtCheckIntegerRange (
|
||||
|
||||
if (!Op)
|
||||
{
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if ((Op->Asl.Value.Integer < LowValue) ||
|
||||
@ -833,12 +831,12 @@ UtAttachNameseg (
|
||||
Name++;
|
||||
}
|
||||
|
||||
/* Remaing string should be one single nameseg */
|
||||
/* Remaining string should be one single nameseg */
|
||||
|
||||
UtPadNameWithUnderscores (Name, PaddedNameSeg);
|
||||
}
|
||||
|
||||
strncpy (Op->Asl.NameSeg, PaddedNameSeg, 4);
|
||||
ACPI_MOVE_NAME (Op->Asl.NameSeg, PaddedNameSeg);
|
||||
}
|
||||
|
||||
|
||||
|
@ -566,7 +566,7 @@ AnMethodAnalysisWalkEnd (
|
||||
/*
|
||||
* If there is a peer node after the return statement, then this
|
||||
* node is unreachable code -- i.e., it won't be executed because of
|
||||
* the preceeding Return() statement.
|
||||
* the preceding Return() statement.
|
||||
*/
|
||||
if (Op->Asl.Next)
|
||||
{
|
||||
|
@ -109,7 +109,7 @@ DtDoCompile (
|
||||
|
||||
if (Gbl_PreprocessOnly)
|
||||
{
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -577,7 +577,7 @@ DtGetNextLine (
|
||||
break;
|
||||
|
||||
default: /* Not a comment */
|
||||
i++; /* Save the preceeding slash */
|
||||
i++; /* Save the preceding slash */
|
||||
if (i >= Gbl_LineBufferSize)
|
||||
{
|
||||
UtExpandLineBuffers ();
|
||||
@ -1008,7 +1008,7 @@ DtWriteTableToListing (
|
||||
|
||||
AcpiOsPrintf ("\n%s: Length %d (0x%X)\n\n",
|
||||
ACPI_RAW_TABLE_DATA_HEADER, Gbl_TableLength, Gbl_TableLength);
|
||||
AcpiUtDumpBuffer2 (Buffer, Gbl_TableLength, DB_BYTE_DISPLAY);
|
||||
AcpiUtDumpBuffer (Buffer, Gbl_TableLength, DB_BYTE_DISPLAY, 0);
|
||||
|
||||
AcpiOsRedirectOutput (stdout);
|
||||
}
|
||||
|
@ -872,7 +872,7 @@ DtCompileHest (
|
||||
}
|
||||
}
|
||||
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
@ -1184,8 +1184,8 @@ DtCompileMpst (
|
||||
ACPI_MPST_POWER_NODE *MpstPowerNode;
|
||||
ACPI_MPST_DATA_HDR *MpstDataHeader;
|
||||
UINT16 SubtableCount;
|
||||
UINT8 PowerStateCount;
|
||||
UINT8 ComponentCount;
|
||||
UINT32 PowerStateCount;
|
||||
UINT32 ComponentCount;
|
||||
|
||||
|
||||
/* Main table */
|
||||
|
@ -539,20 +539,29 @@ const unsigned char TemplateMchi[] =
|
||||
|
||||
const unsigned char TemplateMpst[] =
|
||||
{
|
||||
0x4D,0x50,0x53,0x54,0x6E,0x00,0x00,0x00, /* 00000000 "MPSTn..." */
|
||||
0x01,0x98,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
|
||||
0x4D,0x50,0x53,0x54,0xB6,0x00,0x00,0x00, /* 00000000 "MPST...." */
|
||||
0x01,0x77,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 ".wINTEL " */
|
||||
0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */
|
||||
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
|
||||
0x04,0x08,0x11,0x20,0x00,0x00,0x00,0x00, /* 00000020 "... ...." */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */
|
||||
0x13,0x09,0x12,0x20,0x00,0x00,0x00,0x00, /* 00000020 "... ...." */
|
||||
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */
|
||||
0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00, /* 00000040 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
|
||||
0x01,0x00,0x41,0x00,0x00,0x00,0x00,0x00, /* 00000050 "..A....." */
|
||||
0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000040 "........" */
|
||||
0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
|
||||
0x00,0x00,0x01,0x00,0x02,0x00,0x00,0x00, /* 00000050 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000058 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00 /* 00000068 "......" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000068 "........" */
|
||||
0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000070 "........" */
|
||||
0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00, /* 00000078 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000088 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000090 "........" */
|
||||
0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00 /* 000000B0 "......" */
|
||||
};
|
||||
|
||||
const unsigned char TemplateMsct[] =
|
||||
|
88
source/compiler/new_table.txt
Normal file
88
source/compiler/new_table.txt
Normal file
@ -0,0 +1,88 @@
|
||||
How to add a new ACPI table to ACPICA and the iASL compiler.
|
||||
------------------------------------------------------------
|
||||
|
||||
There are four main tasks that are needed to provide support for a
|
||||
new ACPI table:
|
||||
1) Create a full definition of the table and any subtables
|
||||
in the ACPICA headers.
|
||||
2) Add disassembler support for the new table
|
||||
3) Add iASL table compiler support for the new table
|
||||
4) Create a default template for the new table for iASL -T
|
||||
option.
|
||||
|
||||
Notes for each of these tasks provided below.
|
||||
|
||||
|
||||
1) Header Support
|
||||
-----------------
|
||||
|
||||
New tables should be added to the appropriate header:
|
||||
actbl2.h: Used for new tables that are not defined in the ACPI spec.
|
||||
actbl3.h: Used for new tables that are defined in the ACPI spec.
|
||||
|
||||
Use ACPI_TABLE_HEADER for the common ACPI table header.
|
||||
Subtables should be defined separately from the main table.
|
||||
Don't add placeholder fields for subtables and other multiple data items.
|
||||
(Don't use xxxxx[1] for a field that can have multiple items.)
|
||||
The disassembler and data table compiler depends on this.
|
||||
For tables not defined in the ACPI spec, add a comment to indicate where
|
||||
the table came from.
|
||||
Use other table definitions for additional guidance.
|
||||
|
||||
|
||||
2) iASL Disassembler Support
|
||||
----------------------------
|
||||
|
||||
Add definition of the table (and subtables) in common/dmtbinfo.c
|
||||
Add table access macro(s) of the form ACPI_xxxx_OFFSET
|
||||
Add ACPI_DMT_TERMINATOR at the end of every table/subtable definition
|
||||
|
||||
Add externals for the table/subtable definitions in acdisasm.h
|
||||
Add an entry for the new table in the AcpiDmTableData in common/dmtable.c
|
||||
|
||||
If there are no subtables, add the AcpiDmTableInfoXXXX name to the
|
||||
AcpiDmTableData and it will automatically be disassembled.
|
||||
|
||||
If there are subtables, a dump routine must be written:
|
||||
Add an AcpiDmDumpXXXX function to dmtbdump.c -- note, code for another
|
||||
similar table can often be ported for the new table.
|
||||
Add an external for this function to acdisasm.h
|
||||
Add this function to the AcpiDmTableData entry for the new ACPI table
|
||||
|
||||
Debug/Test: Either find an existing example of the new ACPI table, or
|
||||
create one using the "generic ACPI table support" included in the
|
||||
iASL data table compiler. Use the -G option to force a
|
||||
generic compile. It is often best to create the table from scratch,
|
||||
since this clearly exposes the dependencies (lengths, offsets, etc.)
|
||||
that the Table Compiler support will need to generate.
|
||||
|
||||
|
||||
3) iASL Table Compiler Support
|
||||
------------------------------
|
||||
|
||||
Simple tables do not require a compile routine. The definition of the
|
||||
table in common/dmtbinfo.c (created in step 2 above) will suffice.
|
||||
|
||||
Complex tables with subtables will require a compile routine with a name
|
||||
of the form DtCompileXXXX.
|
||||
Add a DtCompileXXXX function to the dttable.c module.
|
||||
Add an external for this function in dtcompiler.h
|
||||
Add this function to the AcpiDmTableData entry for the new ACPI table
|
||||
in common/dmtable.c
|
||||
|
||||
|
||||
4) Template Support (-T iASL option)
|
||||
------------------------------------
|
||||
|
||||
Create an example of the new ACPI table. This example should create
|
||||
multiple subtables (if supported), and multiple instances of any
|
||||
variable length data.
|
||||
|
||||
Compile the example file with the -sc option. This will create a C
|
||||
array that contains the table contents.
|
||||
|
||||
Add this array to the dttemplate.h file. Name the array TemplateXXXX.
|
||||
Add this array name to the AcpiDmTableData entry for the new ACPI table
|
||||
|
||||
Debug/Test: Create the template file. Compile the file. Disassemble the file.
|
||||
Compile the disassembly file.
|
@ -413,8 +413,8 @@ PrPushInputFileStack (
|
||||
* RETURN: 0 if a node was popped, -1 otherwise
|
||||
*
|
||||
* DESCRIPTION: Pop the top of the input file stack and point the parser to
|
||||
* the saved parse buffer contained in the fnode. Also, set the
|
||||
* global line counters to the saved values. This function is
|
||||
* the saved parse buffer contained in the fnode. Also, set the
|
||||
* global line counters to the saved values. This function is
|
||||
* called when an include file reaches EOF.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
@ -1,33 +1,96 @@
|
||||
/*
|
||||
* Miscellaneous instructions for building and using the iASL compiler.
|
||||
*/
|
||||
|
||||
Instructions for integrating iASL compiler into MS VC++ environment.
|
||||
1) Generating iASL from source
|
||||
------------------------------
|
||||
|
||||
1a) Integration as a custom tool
|
||||
-------------------------------
|
||||
Generation of the ASL compiler from source code requires these items:
|
||||
|
||||
1) The ACPICA source code tree.
|
||||
2) An ANSI C compiler.
|
||||
3) The Flex (or Lex) lexical analyzer generator.
|
||||
4) The Bison (or Yacc) parser generator.
|
||||
|
||||
There are three major ACPICA source code components that are required to
|
||||
generate the compiler (Basically, the entire ACPICA source tree should
|
||||
be installed):
|
||||
|
||||
1) The ASL compiler source.
|
||||
2) The ACPICA Core Subsystem source. In particular, the Namespace
|
||||
Manager component is used to create an internal ACPI namespace
|
||||
and symbol table, and the AML Interpreter is used to evaluate
|
||||
constant expressions.
|
||||
3) The "common" source directory that is used for all ACPI components.
|
||||
|
||||
On Linux/Unix systems, the following commands will build the compiler:
|
||||
|
||||
cd acpica (or cd acpica/generate/unix)
|
||||
make clean
|
||||
make iasl
|
||||
|
||||
On Windows, the Visual Studio 2008 project file appears in this directory:
|
||||
|
||||
generate/msvc9/AcpiComponents.sln
|
||||
|
||||
|
||||
|
||||
1a) Notes for Windows GNU Flex and GNU Bison
|
||||
--------------------------------------------
|
||||
|
||||
The Windows versions of GNU Flex/Bison must be installed, and they must
|
||||
be installed in a directory that contains no embedded spaces in the
|
||||
pathname. They cannot be installed in the default "c:\Program Files"
|
||||
directory. This is a bug in Bison. The default Windows project file for
|
||||
iASL assumes that these tools are installed at this location:
|
||||
|
||||
c:\GnuWin32
|
||||
|
||||
Once the tools are installed, ensure that this path is added to the
|
||||
default system $PATH environment variable:
|
||||
|
||||
c:\GnuWin32\bin
|
||||
|
||||
At this point, you will need to reboot Windows to make system aware of
|
||||
the updated $PATH.
|
||||
|
||||
iASL has been generated with these versions of Flex/Bison for Windows:
|
||||
|
||||
Flex for Windows: V2.5.4
|
||||
Bison for Windows: V2.4.1
|
||||
|
||||
Flex is available at: http://gnuwin32.sourceforge.net/packages/flex.htm
|
||||
Bison is available at: http://gnuwin32.sourceforge.net/packages/bison.htm
|
||||
|
||||
|
||||
|
||||
2) Integration as a custom tool for Visual Studio
|
||||
-------------------------------------------------
|
||||
|
||||
This procedure adds the iASL compiler as a custom tool that can be used
|
||||
to compile ASL source files. The output is sent to the VC output
|
||||
to compile ASL source files. The output is sent to the VC output
|
||||
window.
|
||||
|
||||
a) Select Tools->Customize.
|
||||
|
||||
b) Select the "Tools" tab.
|
||||
|
||||
c) Scroll down to the bottom of the "Menu Contents" window. There you
|
||||
will see an empty rectangle. Click in the rectangle to enter a
|
||||
c) Scroll down to the bottom of the "Menu Contents" window. There you
|
||||
will see an empty rectangle. Click in the rectangle to enter a
|
||||
name for this tool.
|
||||
|
||||
d) Type "iASL Compiler" in the box and hit enter. You can now edit
|
||||
d) Type "iASL Compiler" in the box and hit enter. You can now edit
|
||||
the other fields for this new custom tool.
|
||||
|
||||
e) Enter the following into the fields:
|
||||
|
||||
Command: C:\Acpi\iasl.exe
|
||||
Arguments: -e "$(FilePath)"
|
||||
Arguments: -vi "$(FilePath)"
|
||||
Initial Directory "$(FileDir)"
|
||||
Use Output Window <Check this option>
|
||||
|
||||
"Command" must be the path to wherever you copied the compiler.
|
||||
"-e" instructs the compiler to produce messages appropriate for VC.
|
||||
"-vi" instructs the compiler to produce messages appropriate for VC.
|
||||
Quotes around FilePath and FileDir enable spaces in filenames.
|
||||
|
||||
f) Select "Close".
|
||||
@ -35,12 +98,13 @@ f) Select "Close".
|
||||
These steps will add the compiler to the tools menu as a custom tool.
|
||||
By enabling "Use Output Window", you can click on error messages in
|
||||
the output window and the source file and source line will be
|
||||
automatically displayed by VC. Also, you can use F4 to step through
|
||||
automatically displayed by VC. Also, you can use F4 to step through
|
||||
the messages and the corresponding source line(s).
|
||||
|
||||
|
||||
1b) Integration into a project build
|
||||
------------------------------------
|
||||
|
||||
3) Integrating iASL into a Visual Studio ASL project build
|
||||
----------------------------------------------------------
|
||||
|
||||
This procedure creates a project that compiles ASL files to AML.
|
||||
|
||||
@ -50,63 +114,7 @@ b) For all ASL files in the project, specify a custom build (under
|
||||
Project/Settings/CustomBuild with the following settings (or similar):
|
||||
|
||||
Commands:
|
||||
c:\acpi\libraries\iasl.exe -vs -vi "$(InputPath)"
|
||||
c:\acpi\libraries\iasl.exe -vs -vi "$(InputPath)"
|
||||
|
||||
Output:
|
||||
$(InputDir)\$(InputPath).aml
|
||||
|
||||
|
||||
|
||||
2) Compiler Generation From Source
|
||||
-------------------------------
|
||||
|
||||
Generation of the ASL compiler from source code requires these items:
|
||||
|
||||
|
||||
2a) Required Tools
|
||||
--------------
|
||||
|
||||
1) The Flex (or Lex) lexical analyzer generator.
|
||||
2) The Bison (or Yacc) parser generator.
|
||||
3) An ANSI C compiler.
|
||||
|
||||
|
||||
Windows GNU Flex and GNU Bison Notes:
|
||||
|
||||
GNU Flex/Bison must be installed in a directory that has no embedded
|
||||
spaces in the name. They cannot be installed in the default
|
||||
c:\"Program Files" directory. This is a bug in Bison. The default
|
||||
Windows project file for iASL assumes that these tools are
|
||||
installed at c:\GnuWin32.
|
||||
|
||||
When installed, ensure that c:\GnuWin32\bin is added to the default
|
||||
system $PATH environment variable.
|
||||
|
||||
iASL has been generated with these versions on Windows:
|
||||
|
||||
Flex for Windows: V2.5.4
|
||||
Bison for Windows: V2.4.1
|
||||
|
||||
|
||||
Flex is available at: http://gnuwin32.sourceforge.net/packages/flex.htm
|
||||
Bison is available at: http://gnuwin32.sourceforge.net/packages/bison.htm
|
||||
|
||||
|
||||
2b) Required Source Code
|
||||
--------------------
|
||||
|
||||
There are three major source code components that are required to
|
||||
generate the compiler:
|
||||
|
||||
1) The ASL compiler source.
|
||||
2) The ACPICA Core Subsystem source. In particular, the Namespace Manager
|
||||
component is used to create an internal ACPI namespace and symbol table,
|
||||
and the AML Interpreter is used to evaluate constant expressions.
|
||||
3) The Common source for all ACPI components.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$(InputDir)\$(InputPath).aml
|
||||
|
@ -91,7 +91,7 @@ AcpiDbDeviceResources (
|
||||
*
|
||||
* RETURN: Pointer to a NS node
|
||||
*
|
||||
* DESCRIPTION: Convert a string to a valid NS pointer. Handles numeric or
|
||||
* DESCRIPTION: Convert a string to a valid NS pointer. Handles numeric or
|
||||
* alpha strings.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -194,13 +194,13 @@ AcpiDbSleep (
|
||||
goto ErrorExit;
|
||||
}
|
||||
|
||||
return (Status);
|
||||
return_ACPI_STATUS (Status);
|
||||
|
||||
|
||||
ErrorExit:
|
||||
|
||||
ACPI_EXCEPTION ((AE_INFO, Status, "During sleep test"));
|
||||
return (Status);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
@ -240,7 +240,7 @@ AcpiDbDisplayLocks (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Display information about loaded tables. Current
|
||||
* DESCRIPTION: Display information about loaded tables. Current
|
||||
* implementation displays all loaded tables.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -382,7 +382,7 @@ AcpiDbUnloadAcpiTable (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Send an ACPI notification. The value specified is sent to the
|
||||
* DESCRIPTION: Send an ACPI notification. The value specified is sent to the
|
||||
* named object as an ACPI notify.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -577,7 +577,7 @@ AcpiDbDisplayTemplate (
|
||||
|
||||
DumpBuffer:
|
||||
AcpiOsPrintf ("\nRaw data buffer:\n");
|
||||
AcpiUtDumpBuffer ((UINT8 *) Node->Object->Buffer.Pointer,
|
||||
AcpiUtDebugDumpBuffer ((UINT8 *) Node->Object->Buffer.Pointer,
|
||||
Node->Object->Buffer.Length,
|
||||
DB_BYTE_DISPLAY, ACPI_UINT32_MAX);
|
||||
|
||||
|
@ -176,7 +176,7 @@ AcpiDbDumpParserDescriptor (
|
||||
*
|
||||
* FUNCTION: AcpiDbDecodeAndDisplayObject
|
||||
*
|
||||
* PARAMETERS: Target - String with object to be displayed. Names
|
||||
* PARAMETERS: Target - String with object to be displayed. Names
|
||||
* and hex pointers are supported.
|
||||
* OutputType - Byte, Word, Dword, or Qword (B|W|D|Q)
|
||||
*
|
||||
@ -270,7 +270,7 @@ AcpiDbDecodeAndDisplayObject (
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiUtDumpBuffer (ObjPtr, sizeof (ACPI_OPERAND_OBJECT), Display,
|
||||
AcpiUtDebugDumpBuffer (ObjPtr, sizeof (ACPI_OPERAND_OBJECT), Display,
|
||||
ACPI_UINT32_MAX);
|
||||
AcpiExDumpObjectDescriptor (ObjPtr, 1);
|
||||
break;
|
||||
@ -287,7 +287,7 @@ AcpiDbDecodeAndDisplayObject (
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiUtDumpBuffer (ObjPtr, sizeof (ACPI_PARSE_OBJECT), Display,
|
||||
AcpiUtDebugDumpBuffer (ObjPtr, sizeof (ACPI_PARSE_OBJECT), Display,
|
||||
ACPI_UINT32_MAX);
|
||||
AcpiDbDumpParserDescriptor ((ACPI_PARSE_OBJECT *) ObjPtr);
|
||||
break;
|
||||
@ -305,7 +305,7 @@ AcpiDbDecodeAndDisplayObject (
|
||||
|
||||
/* Just dump some memory */
|
||||
|
||||
AcpiUtDumpBuffer (ObjPtr, Size, Display, ACPI_UINT32_MAX);
|
||||
AcpiUtDebugDumpBuffer (ObjPtr, Size, Display, ACPI_UINT32_MAX);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -342,7 +342,7 @@ AcpiDbDecodeAndDisplayObject (
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiUtDumpBuffer ((void *) Node, sizeof (ACPI_NAMESPACE_NODE),
|
||||
AcpiUtDebugDumpBuffer ((void *) Node, sizeof (ACPI_NAMESPACE_NODE),
|
||||
Display, ACPI_UINT32_MAX);
|
||||
AcpiExDumpNamespaceNode (Node, 1);
|
||||
|
||||
@ -357,7 +357,7 @@ AcpiDbDecodeAndDisplayObject (
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiUtDumpBuffer ((void *) ObjDesc, sizeof (ACPI_OPERAND_OBJECT),
|
||||
AcpiUtDebugDumpBuffer ((void *) ObjDesc, sizeof (ACPI_OPERAND_OBJECT),
|
||||
Display, ACPI_UINT32_MAX);
|
||||
AcpiExDumpObjectDescriptor (ObjDesc, 1);
|
||||
}
|
||||
@ -643,7 +643,7 @@ AcpiDbDisplayCallingTree (
|
||||
*
|
||||
* FUNCTION: AcpiDbDisplayObjectType
|
||||
*
|
||||
* PARAMETERS: ObjectArg - User entered NS node handle
|
||||
* PARAMETERS: Name - User entered NS node handle or name
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
@ -653,17 +653,21 @@ AcpiDbDisplayCallingTree (
|
||||
|
||||
void
|
||||
AcpiDbDisplayObjectType (
|
||||
char *ObjectArg)
|
||||
char *Name)
|
||||
{
|
||||
ACPI_HANDLE Handle;
|
||||
ACPI_NAMESPACE_NODE *Node;
|
||||
ACPI_DEVICE_INFO *Info;
|
||||
ACPI_STATUS Status;
|
||||
UINT32 i;
|
||||
|
||||
|
||||
Handle = ACPI_TO_POINTER (ACPI_STRTOUL (ObjectArg, NULL, 16));
|
||||
Node = AcpiDbConvertToNode (Name);
|
||||
if (!Node)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Status = AcpiGetObjectInfo (Handle, &Info);
|
||||
Status = AcpiGetObjectInfo (ACPI_CAST_PTR (ACPI_HANDLE, Node), &Info);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
AcpiOsPrintf ("Could not get object info, %s\n",
|
||||
@ -671,18 +675,25 @@ AcpiDbDisplayObjectType (
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("ADR: %8.8X%8.8X, STA: %8.8X, Flags: %X\n",
|
||||
ACPI_FORMAT_UINT64 (Info->Address),
|
||||
Info->CurrentStatus, Info->Flags);
|
||||
|
||||
AcpiOsPrintf ("S1D-%2.2X S2D-%2.2X S3D-%2.2X S4D-%2.2X\n",
|
||||
Info->HighestDstates[0], Info->HighestDstates[1],
|
||||
Info->HighestDstates[2], Info->HighestDstates[3]);
|
||||
|
||||
AcpiOsPrintf ("S0W-%2.2X S1W-%2.2X S2W-%2.2X S3W-%2.2X S4W-%2.2X\n",
|
||||
Info->LowestDstates[0], Info->LowestDstates[1],
|
||||
Info->LowestDstates[2], Info->LowestDstates[3],
|
||||
Info->LowestDstates[4]);
|
||||
if (Info->Valid & ACPI_VALID_ADR)
|
||||
{
|
||||
AcpiOsPrintf ("ADR: %8.8X%8.8X, STA: %8.8X, Flags: %X\n",
|
||||
ACPI_FORMAT_UINT64 (Info->Address),
|
||||
Info->CurrentStatus, Info->Flags);
|
||||
}
|
||||
if (Info->Valid & ACPI_VALID_SXDS)
|
||||
{
|
||||
AcpiOsPrintf ("S1D-%2.2X S2D-%2.2X S3D-%2.2X S4D-%2.2X\n",
|
||||
Info->HighestDstates[0], Info->HighestDstates[1],
|
||||
Info->HighestDstates[2], Info->HighestDstates[3]);
|
||||
}
|
||||
if (Info->Valid & ACPI_VALID_SXWS)
|
||||
{
|
||||
AcpiOsPrintf ("S0W-%2.2X S1W-%2.2X S2W-%2.2X S3W-%2.2X S4W-%2.2X\n",
|
||||
Info->LowestDstates[0], Info->LowestDstates[1],
|
||||
Info->LowestDstates[2], Info->LowestDstates[3],
|
||||
Info->LowestDstates[4]);
|
||||
}
|
||||
|
||||
if (Info->Valid & ACPI_VALID_HID)
|
||||
{
|
||||
@ -692,6 +703,10 @@ AcpiDbDisplayObjectType (
|
||||
{
|
||||
AcpiOsPrintf ("UID: %s\n", Info->UniqueId.String);
|
||||
}
|
||||
if (Info->Valid & ACPI_VALID_SUB)
|
||||
{
|
||||
AcpiOsPrintf ("SUB: %s\n", Info->SubsystemId.String);
|
||||
}
|
||||
if (Info->Valid & ACPI_VALID_CID)
|
||||
{
|
||||
for (i = 0; i < Info->CompatibleIdList.Count; i++)
|
||||
|
@ -674,7 +674,7 @@ AcpiDbGetOutstandingAllocations (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Execute a control method. Name is relative to the current
|
||||
* DESCRIPTION: Execute a control method. Name is relative to the current
|
||||
* scope.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -862,8 +862,8 @@ AcpiDbDumpPldBuffer (
|
||||
{
|
||||
AcpiOsPrintf ("Converted _PLD buffer does not compare. New:\n");
|
||||
|
||||
AcpiUtDumpBuffer2 (NewBuffer,
|
||||
BufferDesc->Buffer.Length, DB_BYTE_DISPLAY);
|
||||
AcpiUtDumpBuffer (NewBuffer,
|
||||
BufferDesc->Buffer.Length, DB_BYTE_DISPLAY, 0);
|
||||
}
|
||||
|
||||
/* First 32-bit dword */
|
||||
@ -924,7 +924,7 @@ AcpiDbDumpPldBuffer (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Execute a control method. Name is relative to the current
|
||||
* DESCRIPTION: Execute a control method. Name is relative to the current
|
||||
* scope.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1058,7 +1058,7 @@ AcpiDbExecute (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* simply dispatches it.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1329,5 +1329,3 @@ AcpiDbCreateExecutionThreads (
|
||||
}
|
||||
|
||||
#endif /* ACPI_DEBUGGER */
|
||||
|
||||
|
||||
|
@ -328,9 +328,9 @@ AcpiDbReadTable (
|
||||
#ifdef ACPI_OBSOLETE_CODE
|
||||
/* We only support a limited number of table types */
|
||||
|
||||
if (ACPI_STRNCMP ((char *) TableHeader.Signature, DSDT_SIG, 4) &&
|
||||
ACPI_STRNCMP ((char *) TableHeader.Signature, PSDT_SIG, 4) &&
|
||||
ACPI_STRNCMP ((char *) TableHeader.Signature, SSDT_SIG, 4))
|
||||
if (!ACPI_COMPARE_NAME ((char *) TableHeader.Signature, ACPI_SIG_DSDT) &&
|
||||
!ACPI_COMPARE_NAME ((char *) TableHeader.Signature, ACPI_SIG_PSDT) &&
|
||||
!ACPI_COMPARE_NAME ((char *) TableHeader.Signature, ACPI_SIG_SSDT))
|
||||
{
|
||||
AcpiOsPrintf ("Table signature [%4.4s] is invalid or not supported\n",
|
||||
(char *) TableHeader.Signature);
|
||||
@ -588,4 +588,3 @@ AcpiDbGetTableFromFile (
|
||||
}
|
||||
|
||||
#endif /* ACPI_DEBUGGER */
|
||||
|
||||
|
@ -217,4 +217,3 @@ AcpiDbGetFromHistory (
|
||||
}
|
||||
|
||||
#endif /* ACPI_DEBUGGER */
|
||||
|
||||
|
@ -457,7 +457,7 @@ AcpiDbDisplayHelp (
|
||||
*
|
||||
* RETURN: Pointer to the start of the next token.
|
||||
*
|
||||
* DESCRIPTION: Command line parsing. Get the next token on the command line
|
||||
* DESCRIPTION: Command line parsing. Get the next token on the command line
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -610,7 +610,7 @@ AcpiDbGetNextToken (
|
||||
*
|
||||
* RETURN: Count of arguments to the command
|
||||
*
|
||||
* DESCRIPTION: Get the next command line from the user. Gets entire line
|
||||
* DESCRIPTION: Get the next command line from the user. Gets entire line
|
||||
* up to the next newline
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1083,7 +1083,7 @@ AcpiDbCommandDispatch (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* simply dispatches it.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1126,7 +1126,7 @@ AcpiDbExecuteThread (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* DESCRIPTION: Debugger execute thread. Waits for a command line, then
|
||||
* simply dispatches it.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1152,7 +1152,7 @@ AcpiDbSingleThread (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Command line execution for the AML debugger. Commands are
|
||||
* DESCRIPTION: Command line execution for the AML debugger. Commands are
|
||||
* matched and dispatched here.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -1231,4 +1231,3 @@ AcpiDbUserCommands (
|
||||
}
|
||||
|
||||
#endif /* ACPI_DEBUGGER */
|
||||
|
||||
|
@ -208,7 +208,7 @@ AcpiDbSetScope (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Dump entire namespace or a subtree. Each node is displayed
|
||||
* DESCRIPTION: Dump entire namespace or a subtree. Each node is displayed
|
||||
* with type and other information.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -305,7 +305,7 @@ AcpiDbDumpNamespaceByOwner (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Find a particular name/names within the namespace. Wildcards
|
||||
* DESCRIPTION: Find a particular name/names within the namespace. Wildcards
|
||||
* are supported -- '?' matches any character.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
@ -314,7 +314,7 @@ AcpiDbClassifyOneObject (
|
||||
AcpiGbl_NodeTypeCount [Type]++;
|
||||
}
|
||||
|
||||
return AE_OK;
|
||||
return (AE_OK);
|
||||
|
||||
|
||||
#ifdef ACPI_FUTURE_IMPLEMENTATION
|
||||
|
@ -117,7 +117,7 @@ AcpiDbMatchArgument (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Set the current destination for debugger output. Also sets
|
||||
* DESCRIPTION: Set the current destination for debugger output. Also sets
|
||||
* the debug output level accordingly.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -204,7 +204,7 @@ AcpiDbDumpExternalObject (
|
||||
{
|
||||
AcpiOsPrintf ("\n");
|
||||
}
|
||||
AcpiUtDumpBuffer (ACPI_CAST_PTR (UINT8, ObjDesc->Buffer.Pointer),
|
||||
AcpiUtDebugDumpBuffer (ACPI_CAST_PTR (UINT8, ObjDesc->Buffer.Pointer),
|
||||
ObjDesc->Buffer.Length, DB_BYTE_DISPLAY, _COMPONENT);
|
||||
}
|
||||
else
|
||||
@ -316,7 +316,7 @@ AcpiDbPrepNamestring (
|
||||
*
|
||||
* DESCRIPTION: Lookup a name in the ACPI namespace
|
||||
*
|
||||
* Note: Currently begins search from the root. Could be enhanced to use
|
||||
* Note: Currently begins search from the root. Could be enhanced to use
|
||||
* the current prefix (scope) node as the search beginning point.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -407,7 +407,7 @@ AcpiDbUint32ToHexString (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Second pass parse of the ACPI tables. We need to wait until
|
||||
* DESCRIPTION: Second pass parse of the ACPI tables. We need to wait until
|
||||
* second pass to parse the control methods
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -513,11 +513,9 @@ AcpiDbDumpBuffer (
|
||||
AcpiOsPrintf ("\nLocation %X:\n", Address);
|
||||
|
||||
AcpiDbgLevel |= ACPI_LV_TABLES;
|
||||
AcpiUtDumpBuffer (ACPI_TO_POINTER (Address), 64, DB_BYTE_DISPLAY,
|
||||
AcpiUtDebugDumpBuffer (ACPI_TO_POINTER (Address), 64, DB_BYTE_DISPLAY,
|
||||
ACPI_UINT32_MAX);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ACPI_DEBUGGER */
|
||||
|
||||
|
||||
|
@ -231,7 +231,7 @@ AcpiDbSingleStep (
|
||||
switch (OpcodeClass)
|
||||
{
|
||||
case AML_CLASS_UNKNOWN:
|
||||
case AML_CLASS_ARGUMENT: /* constants, literals, etc. do nothing */
|
||||
case AML_CLASS_ARGUMENT: /* constants, literals, etc. do nothing */
|
||||
return (AE_OK);
|
||||
|
||||
default:
|
||||
|
@ -421,7 +421,7 @@ AcpiDmIsPldBuffer (
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#define ACPI_PLD_OUTPUT "%*.s/* %18s : %-6.2X */\n", ACPI_MUL_4 (Level), " "
|
||||
#define ACPI_PLD_OUTPUT08 "%*.s/* %18s : %-6.2X */\n", ACPI_MUL_4 (Level), " "
|
||||
#define ACPI_PLD_OUTPUT16 "%*.s/* %18s : %-6.4X */\n", ACPI_MUL_4 (Level), " "
|
||||
#define ACPI_PLD_OUTPUT24 "%*.s/* %18s : %-6.6X */\n", ACPI_MUL_4 (Level), " "
|
||||
|
||||
@ -452,8 +452,8 @@ AcpiDmPldBuffer (
|
||||
|
||||
/* First 32-bit dword */
|
||||
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Revision", PldInfo->Revision);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "IgnoreColor", PldInfo->IgnoreColor);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Revision", PldInfo->Revision);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "IgnoreColor", PldInfo->IgnoreColor);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT24,"Color", PldInfo->Color);
|
||||
|
||||
/* Second 32-bit dword */
|
||||
@ -463,27 +463,27 @@ AcpiDmPldBuffer (
|
||||
|
||||
/* Third 32-bit dword */
|
||||
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "UserVisible", PldInfo->UserVisible);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Dock", PldInfo->Dock);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Lid", PldInfo->Lid);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Panel", PldInfo->Panel);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "VerticalPosition", PldInfo->VerticalPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "HorizontalPosition", PldInfo->HorizontalPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Shape", PldInfo->Shape);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupOrientation", PldInfo->GroupOrientation);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupToken", PldInfo->GroupToken);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupPosition", PldInfo->GroupPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Bay", PldInfo->Bay);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "UserVisible", PldInfo->UserVisible);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Dock", PldInfo->Dock);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Lid", PldInfo->Lid);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Panel", PldInfo->Panel);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "VerticalPosition", PldInfo->VerticalPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "HorizontalPosition", PldInfo->HorizontalPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Shape", PldInfo->Shape);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "GroupOrientation", PldInfo->GroupOrientation);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "GroupToken", PldInfo->GroupToken);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "GroupPosition", PldInfo->GroupPosition);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Bay", PldInfo->Bay);
|
||||
|
||||
/* Fourth 32-bit dword */
|
||||
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Ejectable", PldInfo->Ejectable);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "OspmEjectRequired", PldInfo->OspmEjectRequired);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "CabinetNumber", PldInfo->CabinetNumber);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "CardCageNumber", PldInfo->CardCageNumber);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Reference", PldInfo->Reference);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Rotation", PldInfo->Rotation);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT, "Order", PldInfo->Order);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Ejectable", PldInfo->Ejectable);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "OspmEjectRequired", PldInfo->OspmEjectRequired);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "CabinetNumber", PldInfo->CabinetNumber);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "CardCageNumber", PldInfo->CardCageNumber);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Reference", PldInfo->Reference);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Rotation", PldInfo->Rotation);
|
||||
AcpiOsPrintf (ACPI_PLD_OUTPUT08, "Order", PldInfo->Order);
|
||||
|
||||
/* Fifth 32-bit dword */
|
||||
|
||||
@ -505,7 +505,7 @@ AcpiDmPldBuffer (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Dump Unicode string as a standard ASCII string. (Remove
|
||||
* DESCRIPTION: Dump Unicode string as a standard ASCII string. (Remove
|
||||
* the extra zero bytes).
|
||||
*
|
||||
******************************************************************************/
|
||||
|
@ -128,7 +128,7 @@ AcpiDmDumpName (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Diplay the pathname associated with a named object. Two
|
||||
* DESCRIPTION: Diplay the pathname associated with a named object. Two
|
||||
* versions. One searches the parse tree (for parser-only
|
||||
* applications suchas AcpiDump), and the other searches the
|
||||
* ACPI namespace (the parse tree is probably deleted)
|
||||
@ -166,7 +166,7 @@ AcpiPsDisplayObjectPathname (
|
||||
{
|
||||
/*
|
||||
* We can't get the pathname since the object
|
||||
* is not in the namespace. This can happen during single
|
||||
* is not in the namespace. This can happen during single
|
||||
* stepping where a dynamic named object is *about* to be created.
|
||||
*/
|
||||
AcpiOsPrintf (" [Path not found]");
|
||||
@ -437,9 +437,9 @@ AcpiDmValidateName (
|
||||
if (!TargetOp)
|
||||
{
|
||||
/*
|
||||
* Didn't find the name in the parse tree. This may be
|
||||
* Didn't find the name in the parse tree. This may be
|
||||
* a problem, or it may simply be one of the predefined names
|
||||
* (such as _OS_). Rather than worry about looking up all
|
||||
* (such as _OS_). Rather than worry about looking up all
|
||||
* the predefined names, just display the name as given
|
||||
*/
|
||||
AcpiOsPrintf (
|
||||
@ -449,5 +449,3 @@ AcpiDmValidateName (
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -181,7 +181,7 @@ AcpiDmDumpMethodInfo (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Short display of an internal object. Numbers/Strings/Buffers.
|
||||
* DESCRIPTION: Short display of an internal object. Numbers/Strings/Buffers.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -585,5 +585,3 @@ AcpiDmDisplayArguments (
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -46,7 +46,6 @@
|
||||
#include "acparser.h"
|
||||
#include "amlcode.h"
|
||||
#include "acdisasm.h"
|
||||
#include "acnamesp.h"
|
||||
|
||||
#ifdef ACPI_DISASSEMBLER
|
||||
|
||||
@ -633,7 +632,7 @@ AcpiDmDisassembleOneOp (
|
||||
case AML_BUFFER_OP:
|
||||
|
||||
/*
|
||||
* Determine the type of buffer. We can have one of the following:
|
||||
* Determine the type of buffer. We can have one of the following:
|
||||
*
|
||||
* 1) ResourceTemplate containing Resource Descriptors.
|
||||
* 2) Unicode String buffer
|
||||
|
@ -371,7 +371,7 @@ AcpiDmResourceTemplate (
|
||||
* RETURN: Status. AE_OK if valid template
|
||||
*
|
||||
* DESCRIPTION: Walk a byte list to determine if it consists of a valid set
|
||||
* of resource descriptors. Nothing is output.
|
||||
* of resource descriptors. Nothing is output.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -697,4 +697,3 @@ AcpiDmSerialBusDescriptor (
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -355,4 +355,3 @@ AcpiDmVendorSmallDescriptor (
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -252,7 +252,7 @@ AcpiDmCommaIfListMember (
|
||||
|
||||
if (!Op->Common.Next)
|
||||
{
|
||||
return FALSE;
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
if (AcpiDmListType (Op->Common.Parent) & BLOCK_COMMA_LIST)
|
||||
@ -264,20 +264,20 @@ AcpiDmCommaIfListMember (
|
||||
{
|
||||
/*
|
||||
* To handle the Divide() case where there are two optional
|
||||
* targets, look ahead one more op. If null, this null target
|
||||
* is the one and only target -- no comma needed. Otherwise,
|
||||
* targets, look ahead one more op. If null, this null target
|
||||
* is the one and only target -- no comma needed. Otherwise,
|
||||
* we need a comma to prepare for the next target.
|
||||
*/
|
||||
if (!Op->Common.Next->Common.Next)
|
||||
{
|
||||
return FALSE;
|
||||
return (FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Op->Common.DisasmFlags & ACPI_PARSEOP_PARAMLIST) &&
|
||||
(!(Op->Common.Next->Common.DisasmFlags & ACPI_PARSEOP_PARAMLIST)))
|
||||
{
|
||||
return FALSE;
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
AcpiOsPrintf (", ");
|
||||
|
@ -98,7 +98,7 @@ AcpiDmBlockType (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Disassemble parser object and its children. This is the
|
||||
* DESCRIPTION: Disassemble parser object and its children. This is the
|
||||
* main entry point of the disassembler.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -773,7 +773,7 @@ AcpiDmDescendingOp (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Second visitation of a parse object, during ascent of parse
|
||||
* tree. Close out any parameter lists and complete the opcode.
|
||||
* tree. Close out any parameter lists and complete the opcode.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -290,7 +290,7 @@ AcpiDsExecEndControlOp (
|
||||
|
||||
/*
|
||||
* Get the return value and save as the last result
|
||||
* value. This is the only place where WalkState->ReturnDesc
|
||||
* value. This is the only place where WalkState->ReturnDesc
|
||||
* is set to anything other than zero!
|
||||
*/
|
||||
WalkState->ReturnDesc = WalkState->Operands[0];
|
||||
|
@ -305,7 +305,7 @@ AcpiDsCreateBufferField (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Process all named fields in a field declaration. Names are
|
||||
* DESCRIPTION: Process all named fields in a field declaration. Names are
|
||||
* entered into the namespace.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -828,5 +828,3 @@ AcpiDsCreateIndexField (
|
||||
Status = AcpiDsGetFieldNames (&Info, WalkState, Arg->Common.Next);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -73,7 +73,7 @@ AcpiDsInitOneObject (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Callback from AcpiWalkNamespace. Invoked for every object
|
||||
* DESCRIPTION: Callback from AcpiWalkNamespace. Invoked for every object
|
||||
* within the namespace.
|
||||
*
|
||||
* Currently, the only objects that require initialization are:
|
||||
@ -234,5 +234,3 @@ AcpiDsInitializeObjects (
|
||||
|
||||
return_ACPI_STATUS (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -183,7 +183,7 @@ AcpiDsCreateMethodMutex (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Prepare a method for execution. Parses the method if necessary,
|
||||
* DESCRIPTION: Prepare a method for execution. Parses the method if necessary,
|
||||
* increments the thread count, and waits at the method semaphore
|
||||
* for clearance to execute.
|
||||
*
|
||||
@ -480,7 +480,7 @@ AcpiDsCallControlMethod (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Restart a method that was preempted by another (nested) method
|
||||
* invocation. Handle the return value (if any) from the callee.
|
||||
* invocation. Handle the return value (if any) from the callee.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -570,7 +570,7 @@ AcpiDsRestartControlMethod (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Terminate a control method. Delete everything that the method
|
||||
* DESCRIPTION: Terminate a control method. Delete everything that the method
|
||||
* created, delete all locals and arguments, and delete the parse
|
||||
* tree if requested.
|
||||
*
|
||||
@ -722,5 +722,3 @@ AcpiDsTerminateControlMethod (
|
||||
|
||||
return_VOID;
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,7 +86,7 @@ AcpiDsMethodDataGetType (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Initialize the data structures that hold the method's arguments
|
||||
* and locals. The data struct is an array of namespace nodes for
|
||||
* and locals. The data struct is an array of namespace nodes for
|
||||
* each - this allows RefOf and DeRefOf to work properly for these
|
||||
* special data types.
|
||||
*
|
||||
@ -143,7 +143,7 @@ AcpiDsMethodDataInit (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Delete method locals and arguments. Arguments are only
|
||||
* DESCRIPTION: Delete method locals and arguments. Arguments are only
|
||||
* deleted if this method was called from another method.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -202,7 +202,7 @@ AcpiDsMethodDataDeleteAll (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Initialize arguments for a method. The parameter list is a list
|
||||
* DESCRIPTION: Initialize arguments for a method. The parameter list is a list
|
||||
* of ACPI operand objects, either null terminated or whose length
|
||||
* is defined by MaxParamCount.
|
||||
*
|
||||
@ -443,7 +443,7 @@ AcpiDsMethodDataGetValue (
|
||||
* This means that either 1) The expected argument was
|
||||
* not passed to the method, or 2) A local variable
|
||||
* was referenced by the method (via the ASL)
|
||||
* before it was initialized. Either case is an error.
|
||||
* before it was initialized. Either case is an error.
|
||||
*/
|
||||
|
||||
/* If slack enabled, init the LocalX/ArgX to an Integer of value zero */
|
||||
@ -508,7 +508,7 @@ AcpiDsMethodDataGetValue (
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Delete the entry at Opcode:Index. Inserts
|
||||
* DESCRIPTION: Delete the entry at Opcode:Index. Inserts
|
||||
* a null into the stack slot after the object is deleted.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -573,7 +573,7 @@ AcpiDsMethodDataDeleteValue (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Store a value in an Arg or Local. The ObjDesc is installed
|
||||
* DESCRIPTION: Store a value in an Arg or Local. The ObjDesc is installed
|
||||
* as the new value for the Arg or Local and the reference count
|
||||
* for ObjDesc is incremented.
|
||||
*
|
||||
@ -621,7 +621,7 @@ AcpiDsStoreObjectToLocal (
|
||||
|
||||
/*
|
||||
* If the reference count on the object is more than one, we must
|
||||
* take a copy of the object before we store. A reference count
|
||||
* take a copy of the object before we store. A reference count
|
||||
* of exactly 1 means that the object was just created during the
|
||||
* evaluation of an expression, and we can safely use it since it
|
||||
* is not used anywhere else.
|
||||
@ -768,5 +768,3 @@ AcpiDsMethodDataGetType (
|
||||
return_VALUE (Object->Type);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -296,7 +296,7 @@ AcpiDsBuildInternalBufferObj (
|
||||
|
||||
/*
|
||||
* Second arg is the buffer data (optional) ByteList can be either
|
||||
* individual bytes or a string initializer. In either case, a
|
||||
* individual bytes or a string initializer. In either case, a
|
||||
* ByteList appears in the AML.
|
||||
*/
|
||||
Arg = Op->Common.Value.Arg; /* skip first arg */
|
||||
@ -590,7 +590,7 @@ AcpiDsCreateNode (
|
||||
|
||||
/*
|
||||
* Because of the execution pass through the non-control-method
|
||||
* parts of the table, we can arrive here twice. Only init
|
||||
* parts of the table, we can arrive here twice. Only init
|
||||
* the named object node the first time through
|
||||
*/
|
||||
if (AcpiNsGetAttachedObject (Node))
|
||||
@ -643,7 +643,7 @@ AcpiDsCreateNode (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Initialize a namespace object from a parser Op and its
|
||||
* associated arguments. The namespace object is a more compact
|
||||
* associated arguments. The namespace object is a more compact
|
||||
* representation of the Op and its arguments.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -863,5 +863,3 @@ AcpiDsInitObjectFromOp (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -806,4 +806,3 @@ AcpiDsEvalBankFieldOperands (
|
||||
AcpiUtRemoveReference (OperandDesc);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
*
|
||||
* RETURN: None.
|
||||
*
|
||||
* DESCRIPTION: Clear and remove a reference on an implicit return value. Used
|
||||
* DESCRIPTION: Clear and remove a reference on an implicit return value. Used
|
||||
* to delete "stale" return values (if enabled, the return value
|
||||
* from every operator is saved at least momentarily, in case the
|
||||
* parent method exits.)
|
||||
@ -117,7 +117,7 @@ AcpiDsClearImplicitReturn (
|
||||
*
|
||||
* DESCRIPTION: Implements the optional "implicit return". We save the result
|
||||
* of every ASL operator and control method invocation in case the
|
||||
* parent method exit. Before storing a new return value, we
|
||||
* parent method exit. Before storing a new return value, we
|
||||
* delete the previous return value.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -220,7 +220,7 @@ AcpiDsIsResultUsed (
|
||||
*
|
||||
* If there is no parent, or the parent is a ScopeOp, we are executing
|
||||
* at the method level. An executing method typically has no parent,
|
||||
* since each method is parsed separately. A method invoked externally
|
||||
* since each method is parsed separately. A method invoked externally
|
||||
* via ExecuteControlMethod has a ScopeOp as the parent.
|
||||
*/
|
||||
if ((!Op->Common.Parent) ||
|
||||
@ -245,7 +245,7 @@ AcpiDsIsResultUsed (
|
||||
}
|
||||
|
||||
/*
|
||||
* Decide what to do with the result based on the parent. If
|
||||
* Decide what to do with the result based on the parent. If
|
||||
* the parent opcode will not use the result, delete the object.
|
||||
* Otherwise leave it as is, it will be deleted when it is used
|
||||
* as an operand later.
|
||||
@ -290,7 +290,7 @@ AcpiDsIsResultUsed (
|
||||
|
||||
/*
|
||||
* These opcodes allow TermArg(s) as operands and therefore
|
||||
* the operands can be method calls. The result is used.
|
||||
* the operands can be method calls. The result is used.
|
||||
*/
|
||||
goto ResultUsed;
|
||||
|
||||
@ -307,7 +307,7 @@ AcpiDsIsResultUsed (
|
||||
{
|
||||
/*
|
||||
* These opcodes allow TermArg(s) as operands and therefore
|
||||
* the operands can be method calls. The result is used.
|
||||
* the operands can be method calls. The result is used.
|
||||
*/
|
||||
goto ResultUsed;
|
||||
}
|
||||
@ -354,9 +354,9 @@ AcpiDsIsResultUsed (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Used after interpretation of an opcode. If there is an internal
|
||||
* DESCRIPTION: Used after interpretation of an opcode. If there is an internal
|
||||
* result descriptor, check if the parent opcode will actually use
|
||||
* this result. If not, delete the result now so that it will
|
||||
* this result. If not, delete the result now so that it will
|
||||
* not become orphaned.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -408,7 +408,7 @@ AcpiDsDeleteResultIfNotUsed (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Resolve all operands to their values. Used to prepare
|
||||
* DESCRIPTION: Resolve all operands to their values. Used to prepare
|
||||
* arguments to a control method invocation (a call from one
|
||||
* method to another.)
|
||||
*
|
||||
@ -427,7 +427,7 @@ AcpiDsResolveOperands (
|
||||
|
||||
/*
|
||||
* Attempt to resolve each of the valid operands
|
||||
* Method arguments are passed by reference, not by value. This means
|
||||
* Method arguments are passed by reference, not by value. This means
|
||||
* that the actual objects are passed, not copies of the objects.
|
||||
*/
|
||||
for (i = 0; i < WalkState->NumOperands; i++)
|
||||
@ -494,7 +494,7 @@ AcpiDsClearOperands (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Translate a parse tree object that is an argument to an AML
|
||||
* opcode to the equivalent interpreter object. This may include
|
||||
* opcode to the equivalent interpreter object. This may include
|
||||
* looking up a name or entering a new name into the internal
|
||||
* namespace.
|
||||
*
|
||||
@ -540,11 +540,11 @@ AcpiDsCreateOperand (
|
||||
/* All prefixes have been handled, and the name is in NameString */
|
||||
|
||||
/*
|
||||
* Special handling for BufferField declarations. This is a deferred
|
||||
* Special handling for BufferField declarations. This is a deferred
|
||||
* opcode that unfortunately defines the field name as the last
|
||||
* parameter instead of the first. We get here when we are performing
|
||||
* parameter instead of the first. We get here when we are performing
|
||||
* the deferred execution, so the actual name of the field is already
|
||||
* in the namespace. We don't want to attempt to look it up again
|
||||
* in the namespace. We don't want to attempt to look it up again
|
||||
* because we may be executing in a different scope than where the
|
||||
* actual opcode exists.
|
||||
*/
|
||||
@ -651,8 +651,8 @@ AcpiDsCreateOperand (
|
||||
/*
|
||||
* If the name is null, this means that this is an
|
||||
* optional result parameter that was not specified
|
||||
* in the original ASL. Create a Zero Constant for a
|
||||
* placeholder. (Store to a constant is a Noop.)
|
||||
* in the original ASL. Create a Zero Constant for a
|
||||
* placeholder. (Store to a constant is a Noop.)
|
||||
*/
|
||||
Opcode = AML_ZERO_OP; /* Has no arguments! */
|
||||
|
||||
|
@ -223,7 +223,7 @@ AcpiDsGetPredicateValue (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Descending callback used during the execution of control
|
||||
* methods. This is where most operators and operands are
|
||||
* methods. This is where most operators and operands are
|
||||
* dispatched to the interpreter.
|
||||
*
|
||||
****************************************************************************/
|
||||
@ -325,7 +325,7 @@ AcpiDsExecBeginOp (
|
||||
{
|
||||
/*
|
||||
* Found a named object declaration during method execution;
|
||||
* we must enter this object into the namespace. The created
|
||||
* we must enter this object into the namespace. The created
|
||||
* object is temporary and will be deleted upon completion of
|
||||
* the execution of this method.
|
||||
*
|
||||
@ -381,7 +381,7 @@ AcpiDsExecBeginOp (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Ascending callback used during the execution of control
|
||||
* methods. The only thing we really need to do here is to
|
||||
* methods. The only thing we really need to do here is to
|
||||
* notice the beginning of IF, ELSE, and WHILE blocks.
|
||||
*
|
||||
****************************************************************************/
|
||||
@ -469,7 +469,7 @@ AcpiDsExecEndOp (
|
||||
{
|
||||
/*
|
||||
* Dispatch the request to the appropriate interpreter handler
|
||||
* routine. There is one routine per opcode "type" based upon the
|
||||
* routine. There is one routine per opcode "type" based upon the
|
||||
* number of opcode arguments and return type.
|
||||
*/
|
||||
Status = AcpiGbl_OpTypeDispatch[OpType] (WalkState);
|
||||
@ -793,5 +793,3 @@ AcpiDsExecEndOp (
|
||||
WalkState->NumOperands = 0;
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -266,7 +266,7 @@ AcpiDsLoad2BeginOp (
|
||||
"Scope operator [%4.4s] (Cannot override)",
|
||||
AcpiUtGetTypeName (Node->Type), AcpiUtGetNodeName (Node)));
|
||||
|
||||
return (AE_AML_OPERAND_TYPE);
|
||||
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -625,7 +625,7 @@ AcpiDsLoad2EndOp (
|
||||
RegionSpace, WalkState);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
AcpiExExitInterpreter ();
|
||||
@ -758,4 +758,3 @@ AcpiDsLoad2EndOp (
|
||||
WalkState->NumOperands = 0;
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
@ -235,5 +235,3 @@ AcpiDsScopeStackPop (
|
||||
AcpiUtDeleteGenericState (ScopeInfo);
|
||||
return_ACPI_STATUS (AE_OK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -385,7 +385,7 @@ AcpiDsObjStackPush (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Pop this walk's object stack. Objects on the stack are NOT
|
||||
* DESCRIPTION: Pop this walk's object stack. Objects on the stack are NOT
|
||||
* deleted by this routine.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -549,7 +549,7 @@ AcpiDsPushWalkState (
|
||||
* RETURN: A WalkState object popped from the thread's stack
|
||||
*
|
||||
* DESCRIPTION: Remove and return the walkstate object that is at the head of
|
||||
* the walk stack for the given walk list. NULL indicates that
|
||||
* the walk stack for the given walk list. NULL indicates that
|
||||
* the list is empty.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -594,7 +594,7 @@ AcpiDsPopWalkState (
|
||||
*
|
||||
* RETURN: Pointer to the new walk state.
|
||||
*
|
||||
* DESCRIPTION: Allocate and initialize a new walk state. The current walk
|
||||
* DESCRIPTION: Allocate and initialize a new walk state. The current walk
|
||||
* state is set to this new state.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -730,7 +730,7 @@ AcpiDsInitAmlWalk (
|
||||
/*
|
||||
* Setup the current scope.
|
||||
* Find a Named Op that has a namespace node associated with it.
|
||||
* search upwards from this Op. Current scope is the first
|
||||
* search upwards from this Op. Current scope is the first
|
||||
* Op with a namespace node.
|
||||
*/
|
||||
ExtraOp = ParserState->StartOp;
|
||||
@ -790,14 +790,14 @@ AcpiDsDeleteWalkState (
|
||||
|
||||
if (!WalkState)
|
||||
{
|
||||
return;
|
||||
return_VOID;
|
||||
}
|
||||
|
||||
if (WalkState->DescriptorType != ACPI_DESC_TYPE_WALK)
|
||||
{
|
||||
ACPI_ERROR ((AE_INFO, "%p is not a valid walk state",
|
||||
WalkState));
|
||||
return;
|
||||
return_VOID;
|
||||
}
|
||||
|
||||
/* There should not be any open scopes */
|
||||
@ -842,5 +842,3 @@ AcpiDsDeleteWalkState (
|
||||
ACPI_FREE (WalkState);
|
||||
return_VOID;
|
||||
}
|
||||
|
||||
|
||||
|
@ -332,5 +332,3 @@ AcpiEvFixedEventDispatch (
|
||||
}
|
||||
|
||||
#endif /* !ACPI_REDUCED_HARDWARE */
|
||||
|
||||
|
||||
|
@ -389,8 +389,8 @@ AcpiEvIsPciRootBridge (
|
||||
ACPI_NAMESPACE_NODE *Node)
|
||||
{
|
||||
ACPI_STATUS Status;
|
||||
ACPI_DEVICE_ID *Hid;
|
||||
ACPI_DEVICE_ID_LIST *Cid;
|
||||
ACPI_PNP_DEVICE_ID *Hid;
|
||||
ACPI_PNP_DEVICE_ID_LIST *Cid;
|
||||
UINT32 i;
|
||||
BOOLEAN Match;
|
||||
|
||||
@ -729,4 +729,3 @@ AcpiEvInitializeRegion (
|
||||
|
||||
return_ACPI_STATUS (AE_NOT_EXIST);
|
||||
}
|
||||
|
||||
|
@ -774,7 +774,7 @@ AcpiInstallGpeBlock (
|
||||
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
Node = AcpiNsValidateHandle (GpeDevice);
|
||||
@ -867,7 +867,7 @@ AcpiRemoveGpeBlock (
|
||||
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
Node = AcpiNsValidateHandle (GpeDevice);
|
||||
|
@ -310,4 +310,3 @@ AcpiRemoveAddressSpaceHandler (
|
||||
}
|
||||
|
||||
ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler)
|
||||
|
||||
|
@ -222,7 +222,7 @@ AcpiExLoadTableOp (
|
||||
if (Operand[3]->String.Length > 0)
|
||||
{
|
||||
/*
|
||||
* Find the node referenced by the RootPathString. This is the
|
||||
* Find the node referenced by the RootPathString. This is the
|
||||
* location within the namespace where the table will be loaded.
|
||||
*/
|
||||
Status = AcpiNsGetNode (StartNode, Operand[3]->String.Pointer,
|
||||
@ -685,4 +685,3 @@ AcpiExUnloadTable (
|
||||
DdbHandle->Common.Flags &= ~AOPOBJ_DATA_VALID;
|
||||
return_ACPI_STATUS (AE_OK);
|
||||
}
|
||||
|
||||
|
@ -750,5 +750,3 @@ AcpiExConvertToTargetType (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -89,7 +89,7 @@ AcpiExCreateAlias (
|
||||
{
|
||||
/*
|
||||
* Dereference an existing alias so that we don't create a chain
|
||||
* of aliases. With this code, we guarantee that an alias is
|
||||
* of aliases. With this code, we guarantee that an alias is
|
||||
* always exactly one level of indirection away from the
|
||||
* actual aliased name.
|
||||
*/
|
||||
@ -99,7 +99,7 @@ AcpiExCreateAlias (
|
||||
/*
|
||||
* For objects that can never change (i.e., the NS node will
|
||||
* permanently point to the same object), we can simply attach
|
||||
* the object to the new NS node. For other objects (such as
|
||||
* the object to the new NS node. For other objects (such as
|
||||
* Integers, buffers, etc.), we have to point the Alias node
|
||||
* to the original Node.
|
||||
*/
|
||||
@ -147,7 +147,7 @@ AcpiExCreateAlias (
|
||||
|
||||
/*
|
||||
* The new alias assumes the type of the target, and it points
|
||||
* to the same object. The reference count of the object has an
|
||||
* to the same object. The reference count of the object has an
|
||||
* additional reference to prevent deletion out from under either the
|
||||
* target node or the alias Node
|
||||
*/
|
||||
@ -570,5 +570,3 @@ AcpiExCreateMethod (
|
||||
AcpiUtRemoveReference (Operand[1]);
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -162,9 +162,9 @@ AcpiExDoDebugObject (
|
||||
case ACPI_TYPE_BUFFER:
|
||||
|
||||
AcpiOsPrintf ("[0x%.2X]\n", (UINT32) SourceDesc->Buffer.Length);
|
||||
AcpiUtDumpBuffer2 (SourceDesc->Buffer.Pointer,
|
||||
AcpiUtDumpBuffer (SourceDesc->Buffer.Pointer,
|
||||
(SourceDesc->Buffer.Length < 256) ?
|
||||
SourceDesc->Buffer.Length : 256, DB_BYTE_DISPLAY);
|
||||
SourceDesc->Buffer.Length : 256, DB_BYTE_DISPLAY, 0);
|
||||
break;
|
||||
|
||||
case ACPI_TYPE_STRING:
|
||||
@ -205,7 +205,7 @@ AcpiExDoDebugObject (
|
||||
/* Case for DdbHandle */
|
||||
|
||||
AcpiOsPrintf ("Table Index 0x%X\n", SourceDesc->Reference.Value);
|
||||
return;
|
||||
return_VOID;
|
||||
|
||||
default:
|
||||
break;
|
||||
@ -274,5 +274,3 @@ AcpiExDoDebugObject (
|
||||
return_VOID;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -828,7 +828,7 @@ AcpiExDumpOperands (
|
||||
* PARAMETERS: Title - Descriptive text
|
||||
* Value - Value to be displayed
|
||||
*
|
||||
* DESCRIPTION: Object dump output formatting functions. These functions
|
||||
* DESCRIPTION: Object dump output formatting functions. These functions
|
||||
* reduce the number of format strings required and keeps them
|
||||
* all in one place for easy modification.
|
||||
*
|
||||
@ -1015,7 +1015,7 @@ AcpiExDumpPackageObj (
|
||||
AcpiOsPrintf ("[Buffer] Length %.2X = ", ObjDesc->Buffer.Length);
|
||||
if (ObjDesc->Buffer.Length)
|
||||
{
|
||||
AcpiUtDumpBuffer (ACPI_CAST_PTR (UINT8, ObjDesc->Buffer.Pointer),
|
||||
AcpiUtDebugDumpBuffer (ACPI_CAST_PTR (UINT8, ObjDesc->Buffer.Pointer),
|
||||
ObjDesc->Buffer.Length, DB_DWORD_DISPLAY, _COMPONENT);
|
||||
}
|
||||
else
|
||||
@ -1122,4 +1122,3 @@ AcpiExDumpObjectDescriptor (
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Read from a named field. Returns either an Integer or a
|
||||
* DESCRIPTION: Read from a named field. Returns either an Integer or a
|
||||
* Buffer, depending on the size of the field.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -161,7 +161,7 @@ AcpiExReadDataFromField (
|
||||
* Allocate a buffer for the contents of the field.
|
||||
*
|
||||
* If the field is larger than the current integer width, create
|
||||
* a BUFFER to hold it. Otherwise, use an INTEGER. This allows
|
||||
* a BUFFER to hold it. Otherwise, use an INTEGER. This allows
|
||||
* the use of arithmetic operators on the returned value if the
|
||||
* field size is equal or smaller than an Integer.
|
||||
*
|
||||
@ -402,5 +402,3 @@ AcpiExWriteDataToField (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,7 +86,7 @@ AcpiExSetupRegion (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Common processing for AcpiExExtractFromField and
|
||||
* AcpiExInsertIntoField. Initialize the Region if necessary and
|
||||
* AcpiExInsertIntoField. Initialize the Region if necessary and
|
||||
* validate the request.
|
||||
*
|
||||
******************************************************************************/
|
||||
@ -168,7 +168,7 @@ AcpiExSetupRegion (
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Validate the request. The entire request from the byte offset for a
|
||||
* Validate the request. The entire request from the byte offset for a
|
||||
* length of one field datum (access width) must fit within the region.
|
||||
* (Region length is specified in bytes)
|
||||
*/
|
||||
@ -197,7 +197,7 @@ AcpiExSetupRegion (
|
||||
{
|
||||
/*
|
||||
* This is the case where the AccessType (AccWord, etc.) is wider
|
||||
* than the region itself. For example, a region of length one
|
||||
* than the region itself. For example, a region of length one
|
||||
* byte, and a field with Dword access specified.
|
||||
*/
|
||||
ACPI_ERROR ((AE_INFO,
|
||||
@ -339,7 +339,7 @@ AcpiExAccessRegion (
|
||||
*
|
||||
* DESCRIPTION: Check if a value is out of range of the field being written.
|
||||
* Used to check if the values written to Index and Bank registers
|
||||
* are out of range. Normally, the value is simply truncated
|
||||
* are out of range. Normally, the value is simply truncated
|
||||
* to fit the field, but this case is most likely a serious
|
||||
* coding error in the ASL.
|
||||
*
|
||||
@ -392,7 +392,7 @@ AcpiExRegisterOverflow (
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Read or Write a single datum of a field. The FieldType is
|
||||
* DESCRIPTION: Read or Write a single datum of a field. The FieldType is
|
||||
* demultiplexed here to handle the different types of fields
|
||||
* (BufferField, RegionField, IndexField, BankField)
|
||||
*
|
||||
@ -906,7 +906,7 @@ AcpiExInsertIntoField (
|
||||
ObjDesc->CommonField.BitLength);
|
||||
/*
|
||||
* We must have a buffer that is at least as long as the field
|
||||
* we are writing to. This is because individual fields are
|
||||
* we are writing to. This is because individual fields are
|
||||
* indivisible and partial writes are not supported -- as per
|
||||
* the ACPI specification.
|
||||
*/
|
||||
@ -922,7 +922,7 @@ AcpiExInsertIntoField (
|
||||
|
||||
/*
|
||||
* Copy the original data to the new buffer, starting
|
||||
* at Byte zero. All unused (upper) bytes of the
|
||||
* at Byte zero. All unused (upper) bytes of the
|
||||
* buffer will be 0.
|
||||
*/
|
||||
ACPI_MEMCPY ((char *) NewBuffer, (char *) Buffer, BufferLength);
|
||||
@ -1051,5 +1051,3 @@ AcpiExInsertIntoField (
|
||||
}
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
|
||||
@ -278,7 +277,7 @@ AcpiExDoConcatenate (
|
||||
|
||||
|
||||
/*
|
||||
* Convert the second operand if necessary. The first operand
|
||||
* Convert the second operand if necessary. The first operand
|
||||
* determines the type of the second operand, (See the Data Types
|
||||
* section of the ACPI specification.) Both object types are
|
||||
* guaranteed to be either Integer/String/Buffer by the operand
|
||||
@ -630,7 +629,7 @@ AcpiExDoLogicalOp (
|
||||
|
||||
|
||||
/*
|
||||
* Convert the second operand if necessary. The first operand
|
||||
* Convert the second operand if necessary. The first operand
|
||||
* determines the type of the second operand, (See the Data Types
|
||||
* section of the ACPI 3.0+ specification.) Both object types are
|
||||
* guaranteed to be either Integer/String/Buffer by the operand
|
||||
@ -796,5 +795,3 @@ AcpiExDoLogicalOp (
|
||||
*LogicalResult = LocalResult;
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exmutex - ASL Mutex Acquire/Release functions
|
||||
@ -341,7 +340,7 @@ AcpiExReleaseMutexObject (
|
||||
|
||||
if (ObjDesc->Mutex.AcquisitionDepth == 0)
|
||||
{
|
||||
return (AE_NOT_ACQUIRED);
|
||||
return_ACPI_STATUS (AE_NOT_ACQUIRED);
|
||||
}
|
||||
|
||||
/* Match multiple Acquires with multiple Releases */
|
||||
@ -515,7 +514,7 @@ AcpiExReleaseAllMutexes (
|
||||
ACPI_OPERAND_OBJECT *ObjDesc;
|
||||
|
||||
|
||||
ACPI_FUNCTION_ENTRY ();
|
||||
ACPI_FUNCTION_NAME (ExReleaseAllMutexes);
|
||||
|
||||
|
||||
/* Traverse the list of owned mutexes, releasing each one */
|
||||
@ -529,6 +528,9 @@ AcpiExReleaseAllMutexes (
|
||||
ObjDesc->Mutex.Next = NULL;
|
||||
ObjDesc->Mutex.AcquisitionDepth = 0;
|
||||
|
||||
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
|
||||
"Force-releasing held mutex: %p\n", ObjDesc));
|
||||
|
||||
/* Release the mutex, special case for Global Lock */
|
||||
|
||||
if (ObjDesc == AcpiGbl_GlobalLockMutex)
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exnames - interpreter/scanner name load/execute
|
||||
@ -73,7 +72,7 @@ AcpiExNameSegment (
|
||||
* (-1)==root, 0==none
|
||||
* NumNameSegs - count of 4-character name segments
|
||||
*
|
||||
* RETURN: A pointer to the allocated string segment. This segment must
|
||||
* RETURN: A pointer to the allocated string segment. This segment must
|
||||
* be deleted by the caller.
|
||||
*
|
||||
* DESCRIPTION: Allocate a buffer for a name string. Ensure allocated name
|
||||
@ -484,5 +483,3 @@ AcpiExGetNameString (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
|
||||
@ -668,7 +667,7 @@ AcpiExOpcode_1A_0T_1R (
|
||||
}
|
||||
|
||||
/*
|
||||
* Set result to ONES (TRUE) if Value == 0. Note:
|
||||
* Set result to ONES (TRUE) if Value == 0. Note:
|
||||
* ReturnDesc->Integer.Value is initially == 0 (FALSE) from above.
|
||||
*/
|
||||
if (!Operand[0]->Integer.Value)
|
||||
@ -682,7 +681,7 @@ AcpiExOpcode_1A_0T_1R (
|
||||
case AML_INCREMENT_OP: /* Increment (Operand) */
|
||||
|
||||
/*
|
||||
* Create a new integer. Can't just get the base integer and
|
||||
* Create a new integer. Can't just get the base integer and
|
||||
* increment it because it may be an Arg or Field.
|
||||
*/
|
||||
ReturnDesc = AcpiUtCreateInternalObject (ACPI_TYPE_INTEGER);
|
||||
@ -750,7 +749,7 @@ AcpiExOpcode_1A_0T_1R (
|
||||
|
||||
/*
|
||||
* Note: The operand is not resolved at this point because we want to
|
||||
* get the associated object, not its value. For example, we don't
|
||||
* get the associated object, not its value. For example, we don't
|
||||
* want to resolve a FieldUnit to its value, we want the actual
|
||||
* FieldUnit object.
|
||||
*/
|
||||
@ -792,7 +791,7 @@ AcpiExOpcode_1A_0T_1R (
|
||||
|
||||
/*
|
||||
* The type of the base object must be integer, buffer, string, or
|
||||
* package. All others are not supported.
|
||||
* package. All others are not supported.
|
||||
*
|
||||
* NOTE: Integer is not specifically supported by the ACPI spec,
|
||||
* but is supported implicitly via implicit operand conversion.
|
||||
@ -1030,7 +1029,7 @@ AcpiExOpcode_1A_0T_1R (
|
||||
case ACPI_TYPE_PACKAGE:
|
||||
|
||||
/*
|
||||
* Return the referenced element of the package. We must
|
||||
* Return the referenced element of the package. We must
|
||||
* add another reference to the referenced object, however.
|
||||
*/
|
||||
ReturnDesc = *(Operand[0]->Reference.Where);
|
||||
@ -1108,4 +1107,3 @@ AcpiExOpcode_1A_0T_1R (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ AcpiExOpcode_2A_0T_0R (
|
||||
/*
|
||||
* Dispatch the notify to the appropriate handler
|
||||
* NOTE: the request is queued for execution after this method
|
||||
* completes. The notify handlers are NOT invoked synchronously
|
||||
* completes. The notify handlers are NOT invoked synchronously
|
||||
* from this thread -- because handlers may in turn run other
|
||||
* control methods.
|
||||
*/
|
||||
@ -638,5 +638,3 @@ AcpiExOpcode_2A_0T_1R (
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
|
||||
@ -179,7 +178,7 @@ AcpiExOpcode_3A_1T_1R (
|
||||
case AML_MID_OP: /* Mid (Source[0], Index[1], Length[2], Result[3]) */
|
||||
|
||||
/*
|
||||
* Create the return object. The Source operand is guaranteed to be
|
||||
* Create the return object. The Source operand is guaranteed to be
|
||||
* either a String or a Buffer, so just use its type.
|
||||
*/
|
||||
ReturnDesc = AcpiUtCreateInternalObject (
|
||||
@ -300,5 +299,3 @@ AcpiExOpcode_3A_1T_1R (
|
||||
}
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
|
||||
@ -209,7 +208,7 @@ AcpiExDoMatch (
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
return LogicalResult;
|
||||
return (LogicalResult);
|
||||
}
|
||||
|
||||
|
||||
@ -288,7 +287,7 @@ AcpiExOpcode_6A_0T_1R (
|
||||
* and the next should be examined.
|
||||
*
|
||||
* Upon finding a match, the loop will terminate via "break" at
|
||||
* the bottom. If it terminates "normally", MatchValue will be
|
||||
* the bottom. If it terminates "normally", MatchValue will be
|
||||
* ACPI_UINT64_MAX (Ones) (its initial value) indicating that no
|
||||
* match was found.
|
||||
*/
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user