Update to ACPICA 20121018.

This is an update from 20120711 and A LOT has happened since then. See
    https://acpica.org/download/changes.txt for all the changes.
This commit is contained in:
Fredrik Holmqvist
2012-11-03 22:46:22 +01:00
parent 54391a5df2
commit 9b0d045c59
191 changed files with 4590 additions and 3465 deletions
+1 -1
View File
@@ -255,7 +255,7 @@ struct acpi_module_info {
status_t (*prepare_sleep_state)(uint8 state, void (*wakeFunc)(void),
size_t size);
status_t (*enter_sleep_state)(uint8 state, uint8 flags);
status_t (*enter_sleep_state)(uint8 state);
status_t (*reboot)(void);
/* Table Access */
@@ -135,7 +135,7 @@ typedef struct acpi_root_info {
status_t (*prepare_sleep_state)(uint8 state, void (*wakeFunc)(void),
size_t size);
status_t (*enter_sleep_state)(uint8 state, uint8 flags);
status_t (*enter_sleep_state)(uint8 state);
status_t (*reboot)(void);
/* Table Access */
@@ -218,7 +218,7 @@ status_t set_current_resources(acpi_handle busDeviceHandle,
acpi_data* buffer);
status_t prepare_sleep_state(uint8 state, void (*wakeFunc)(void), size_t size);
status_t enter_sleep_state(uint8 state, uint8 flags);
status_t enter_sleep_state(uint8 state);
status_t reboot(void);
@@ -664,14 +664,14 @@ prepare_sleep_state(uint8 state, void (*wakeFunc)(void), size_t size)
status_t
enter_sleep_state(uint8 state, uint8 flags)
enter_sleep_state(uint8 state)
{
ACPI_STATUS status;
TRACE("enter_sleep_state %d with flags %d\n", state, flags);
TRACE("enter_sleep_state %d\n", state);
cpu_status cpu = disable_interrupts();
status = AcpiEnterSleepState(state, flags);
status = AcpiEnterSleepState(state);
restore_interrupts(cpu);
panic("AcpiEnterSleepState should not return.");
if (status != AE_OK)
@@ -171,6 +171,7 @@ local utilities_src =
uttrack.c
utxface.c
utxferror.c
utxfinit.c
utxfmutex.c
;
@@ -172,7 +172,7 @@ AdGenerateFilename (
FilenameBuf[i] = 0;
strcat (FilenameBuf, ACPI_TABLE_FILE_SUFFIX);
return FilenameBuf;
return (FilenameBuf);
}
@@ -295,7 +295,7 @@ FlGenerateFilename (
strcat (NewFilename, Suffix);
}
return NewFilename;
return (NewFilename);
}
@@ -404,5 +404,3 @@ FlSplitInputPathname (
*OutFilename = Filename;
return (AE_OK);
}
@@ -132,9 +132,13 @@
#define _COMPONENT ACPI_TOOLS
ACPI_MODULE_NAME ("adisasm")
/*
* Older versions of Bison won't emit this external in the generated header.
* Newer versions do emit the external, so we don't need to do it.
*/
#ifndef ASLCOMPILER_ASLCOMPILERPARSE_H
extern int AslCompilerdebug;
#endif
ACPI_STATUS
LsDisplayNamespace (
@@ -364,7 +368,7 @@ AdAmlDisassemble (
Status = AcpiDbGetTableFromFile (Filename, &Table);
if (ACPI_FAILURE (Status))
{
return Status;
return (Status);
}
/*
@@ -379,14 +383,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 */
@@ -398,7 +401,7 @@ AdAmlDisassemble (
{
AcpiOsPrintf ("Could not parse external ACPI tables, %s\n",
AcpiFormatException (Status));
return Status;
return (Status);
}
/*
@@ -429,12 +432,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 */
@@ -444,7 +447,7 @@ AdAmlDisassemble (
{
AcpiOsPrintf ("Could not get DSDT, %s\n",
AcpiFormatException (Status));
return Status;
return (Status);
}
AcpiOsPrintf ("\nDisassembly of DSDT\n");
@@ -599,7 +602,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));
@@ -788,7 +798,7 @@ AdDisplayTables (
if (!AcpiGbl_ParseOpRoot)
{
return AE_NOT_EXIST;
return (AE_NOT_EXIST);
}
if (!AcpiGbl_DbOpt_verbose)
@@ -801,15 +811,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);
}
@@ -982,7 +992,7 @@ AdParseDeferredOps (
Status = AdDeferredParse (Op, Op->Named.Data, Op->Named.Length);
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
return (Status);
}
break;
@@ -1010,7 +1020,7 @@ AdParseDeferredOps (
}
fprintf (stderr, "\n");
return Status;
return (Status);
}
@@ -1047,7 +1057,7 @@ AdGetLocalTables (
if (!NewTable)
{
fprintf (stderr, "Could not obtain RSDT\n");
return AE_NO_ACPI_TABLES;
return (AE_NO_ACPI_TABLES);
}
else
{
@@ -1104,13 +1114,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
@@ -1129,7 +1139,7 @@ AdGetLocalTables (
} while (NewTable);
#endif
return AE_OK;
return (AE_OK);
}
@@ -1164,7 +1174,7 @@ AdParseTable (
if (!Table)
{
return AE_NOT_EXIST;
return (AE_NOT_EXIST);
}
/* Pass 1: Parse everything except control method bodies */
@@ -1179,7 +1189,7 @@ AdParseTable (
AcpiGbl_ParseOpRoot = AcpiPsCreateScopeOp ();
if (!AcpiGbl_ParseOpRoot)
{
return AE_NO_MEMORY;
return (AE_NO_MEMORY);
}
/* Create and initialize a new walk state */
@@ -1204,7 +1214,7 @@ AdParseTable (
Status = AcpiPsParseAml (WalkState);
if (ACPI_FAILURE (Status))
{
return Status;
return (Status);
}
/* If LoadTable is FALSE, we are parsing the last loaded table */
@@ -1219,19 +1229,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);
}
}
}
@@ -1248,7 +1258,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 */
@@ -1260,7 +1270,5 @@ AdParseTable (
AcpiDmFindResources (AcpiGbl_ParseOpRoot);
fprintf (stderr, "Parsing completed\n");
return AE_OK;
return (AE_OK);
}
@@ -726,8 +726,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;
@@ -1090,5 +1090,3 @@ AcpiDmInspectPossibleArgs (
return (Last);
}
@@ -270,7 +270,7 @@ const AH_PREDEFINED_NAME AslPredefinedInfo[] =
AH_PREDEF ("_PIC", "Interrupt Model", "Inform AML of the interrupt model in use"),
AH_PREDEF ("_PIF", "Power Source Information", "Returns a Power Source information block"),
AH_PREDEF ("_PIN", "Pin List", "Pin list, Resource Descriptor field"),
AH_PREDEF ("_PLD", "Physical Device Location", "Returns a device's physical location information"),
AH_PREDEF ("_PLD", "Physical Location of Device", "Returns a device's physical location information"),
AH_PREDEF ("_PMC", "Power Meter Capabilities", "Returns a list of Power Meter capabilities info"),
AH_PREDEF ("_PMD", "Power Metered Devices", "Returns a list of devices that are measured by the power meter device"),
AH_PREDEF ("_PMM", "Power Meter Measurement", "Returns the current value of the Power Meter"),
@@ -759,4 +759,3 @@ AcpiDmEmitExternals (
AcpiOsPrintf ("\n");
}
@@ -541,6 +541,11 @@ AcpiDmCheckResourceReference (
/* Get the Index term, must be an integer constant to convert */
IndexOp = BufferNameOp->Common.Next;
/* Major cheat: The Node field is also used for the Tag ptr. Clear it now */
IndexOp->Common.Node = NULL;
OpInfo = AcpiPsGetOpcodeInfo (IndexOp->Common.AmlOpcode);
if (OpInfo->ObjectType != ACPI_TYPE_INTEGER)
{
@@ -1117,4 +1122,3 @@ AcpiDmAddResourceToNamespace (
Node->Length = Length;
return (AE_OK);
}
@@ -349,22 +349,24 @@ static const char *AcpiDmGasAccessWidth[] =
ACPI_DMTABLE_DATA AcpiDmTableData[] =
{
{ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, TemplateAsf, "Alert Standard Format table"},
{ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, NULL, TemplateBoot, "Simple Boot Flag Table"},
{ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, TemplateBert, "Boot Error Record Table"},
{ACPI_SIG_BGRT, AcpiDmTableInfoBgrt, NULL, NULL, TemplateBgrt, "Boot Graphics Resource Table"},
{ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, NULL, TemplateBoot, "Simple Boot Flag Table"},
{ACPI_SIG_CPEP, NULL, AcpiDmDumpCpep, DtCompileCpep, TemplateCpep, "Corrected Platform Error Polling table"},
{ACPI_SIG_CSRT, NULL, AcpiDmDumpCsrt, NULL, NULL, "Core System Resource Table"},
{ACPI_SIG_DBG2, NULL, AcpiDmDumpDbg2, NULL, NULL, "Debug Port table type 2"},
{ACPI_SIG_DBGP, AcpiDmTableInfoDbgp, NULL, NULL, TemplateDbgp, "Debug Port table"},
{ACPI_SIG_DMAR, NULL, AcpiDmDumpDmar, DtCompileDmar, TemplateDmar, "DMA Remapping table"},
{ACPI_SIG_ECDT, AcpiDmTableInfoEcdt, NULL, NULL, TemplateEcdt, "Embedded Controller Boot Resources Table"},
{ACPI_SIG_EINJ, NULL, AcpiDmDumpEinj, DtCompileEinj, TemplateEinj, "Error Injection table"},
{ACPI_SIG_ERST, NULL, AcpiDmDumpErst, DtCompileErst, TemplateErst, "Error Record Serialization Table"},
{ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, DtCompileFadt, TemplateFadt, "Fixed ACPI Description Table"},
{ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, DtCompileFadt, TemplateFadt, "Fixed ACPI Description Table (FADT)"},
{ACPI_SIG_FPDT, NULL, AcpiDmDumpFpdt, DtCompileFpdt, TemplateFpdt, "Firmware Performance Data Table"},
{ACPI_SIG_GTDT, AcpiDmTableInfoGtdt, NULL, NULL, TemplateGtdt, "Generic Timer Description Table"},
{ACPI_SIG_HEST, NULL, AcpiDmDumpHest, DtCompileHest, TemplateHest, "Hardware Error Source Table"},
{ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, NULL, TemplateHpet, "High Precision Event Timer table"},
{ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, DtCompileIvrs, TemplateIvrs, "I/O Virtualization Reporting Structure"},
{ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, TemplateMadt, "Multiple APIC Description Table"},
{ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, TemplateMadt, "Multiple APIC Description Table (MADT)"},
{ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, DtCompileMcfg, TemplateMcfg, "Memory Mapped Configuration table"},
{ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, TemplateMchi, "Management Controller Host Interface table"},
{ACPI_SIG_MPST, AcpiDmTableInfoMpst, AcpiDmDumpMpst, DtCompileMpst, TemplateMpst, "Memory Power State Table"},
@@ -485,6 +487,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;
}
@@ -554,7 +568,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);
}
}
@@ -124,11 +124,79 @@
ACPI_MODULE_NAME ("dmtbdump")
/* Local prototypes */
static void
AcpiDmValidateFadtLength (
UINT32 Revision,
UINT32 Length);
static void
AcpiDmDumpBuffer (
void *Table,
UINT32 BufferOffset,
UINT32 Length,
UINT32 AbsoluteOffset,
char *Header);
/*******************************************************************************
*
* FUNCTION: AcpiDmDumpBuffer
*
* PARAMETERS: Table - ACPI Table or subtable
* BufferOffset - Offset of buffer from Table above
* Length - Length of the buffer
* AbsoluteOffset - Offset of buffer in the main ACPI table
* Header - Name of the buffer field (printed on the
* first line only.)
*
* RETURN: None
*
* DESCRIPTION: Format the contents of an arbitrary length data buffer (in the
* disassembler output format.)
*
******************************************************************************/
static void
AcpiDmDumpBuffer (
void *Table,
UINT32 BufferOffset,
UINT32 Length,
UINT32 AbsoluteOffset,
char *Header)
{
UINT8 *Buffer;
UINT32 i;
if (!Length)
{
return;
}
Buffer = ACPI_CAST_PTR (UINT8, Table) + BufferOffset;
i = 0;
while (i < Length)
{
if (!(i % 16))
{
AcpiOsPrintf ("\n");
AcpiDmLineHeader (AbsoluteOffset,
((Length - i) > 16) ? 16 : (Length - i), Header);
Header = NULL;
}
AcpiOsPrintf ("%.02X ", *Buffer);
i++;
Buffer++;
AbsoluteOffset++;
}
AcpiOsPrintf ("\n");
}
/*******************************************************************************
*
@@ -599,6 +667,208 @@ AcpiDmDumpCpep (
}
/*******************************************************************************
*
* FUNCTION: AcpiDmDumpCsrt
*
* PARAMETERS: Table - A CSRT table
*
* RETURN: None
*
* DESCRIPTION: Format the contents of a CSRT. This table type consists
* of an open-ended number of subtables.
*
******************************************************************************/
void
AcpiDmDumpCsrt (
ACPI_TABLE_HEADER *Table)
{
ACPI_STATUS Status;
ACPI_CSRT_GROUP *SubTable;
ACPI_CSRT_DESCRIPTOR *SubSubTable;
UINT32 Length = Table->Length;
UINT32 Offset = sizeof (ACPI_TABLE_CSRT);
UINT32 SubOffset;
UINT32 SubSubOffset;
UINT32 InfoLength;
/* The main table only contains the ACPI header, thus already handled */
/* Sub-tables (Resource Groups) */
SubTable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, Table, Offset);
while (Offset < Table->Length)
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
SubTable->Length, AcpiDmTableInfoCsrt0);
if (ACPI_FAILURE (Status))
{
return;
}
SubOffset = sizeof (ACPI_CSRT_GROUP);
/* Shared resource group info buffer */
AcpiDmDumpBuffer (SubTable, SubOffset, SubTable->InfoLength,
Offset+SubOffset, "Shared Data");
SubOffset += SubTable->InfoLength;
/* Sub-Sub-tables (Resource Descriptors) */
SubSubTable = ACPI_ADD_PTR (ACPI_CSRT_DESCRIPTOR, Table,
Offset + SubOffset);
while ((SubOffset < SubTable->Length) &&
((Offset + SubOffset) < Table->Length))
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset + SubOffset, SubSubTable,
SubSubTable->Length, AcpiDmTableInfoCsrt1);
if (ACPI_FAILURE (Status))
{
return;
}
SubSubOffset = sizeof (ACPI_CSRT_DESCRIPTOR);
/* Resource-specific info buffer */
InfoLength = SubSubTable->Length - SubSubOffset;
AcpiDmDumpBuffer (SubSubTable, SubSubOffset, InfoLength,
Offset + SubOffset + SubSubOffset, "ResourceInfo");
SubSubOffset += InfoLength;
/* Point to next sub-sub-table */
SubOffset += SubSubTable->Length;
SubSubTable = ACPI_ADD_PTR (ACPI_CSRT_DESCRIPTOR, SubSubTable,
SubSubTable->Length);
}
/* Point to next sub-table */
Offset += SubTable->Length;
SubTable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, SubTable,
SubTable->Length);
}
}
/*******************************************************************************
*
* FUNCTION: AcpiDmDumpDbg2
*
* PARAMETERS: Table - A DBG2 table
*
* RETURN: None
*
* DESCRIPTION: Format the contents of a DBG2. This table type consists
* of an open-ended number of subtables.
*
******************************************************************************/
void
AcpiDmDumpDbg2 (
ACPI_TABLE_HEADER *Table)
{
ACPI_STATUS Status;
ACPI_DBG2_DEVICE *SubTable;
UINT32 Length = Table->Length;
UINT32 Offset = sizeof (ACPI_TABLE_DBG2);
UINT32 i;
UINT32 ArrayOffset;
UINT32 AbsoluteOffset;
UINT8 *Array;
/* Main table */
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDbg2);
if (ACPI_FAILURE (Status))
{
return;
}
/* Sub-tables */
SubTable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, Table, Offset);
while (Offset < Table->Length)
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
SubTable->Length, AcpiDmTableInfoDbg2Device);
if (ACPI_FAILURE (Status))
{
return;
}
/* Dump the BaseAddress array */
for (i = 0; i < SubTable->RegisterCount; i++)
{
ArrayOffset = SubTable->BaseAddressOffset +
(sizeof (ACPI_GENERIC_ADDRESS) * i);
AbsoluteOffset = Offset + ArrayOffset;
Array = (UINT8 *) SubTable + ArrayOffset;
Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
SubTable->Length, AcpiDmTableInfoDbg2Addr);
if (ACPI_FAILURE (Status))
{
return;
}
}
/* Dump the AddressSize array */
for (i = 0; i < SubTable->RegisterCount; i++)
{
ArrayOffset = SubTable->AddressSizeOffset +
(sizeof (UINT32) * i);
AbsoluteOffset = Offset + ArrayOffset;
Array = (UINT8 *) SubTable + ArrayOffset;
Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
SubTable->Length, AcpiDmTableInfoDbg2Size);
if (ACPI_FAILURE (Status))
{
return;
}
}
/* Dump the Namestring (required) */
AcpiOsPrintf ("\n");
ArrayOffset = SubTable->NamepathOffset;
AbsoluteOffset = Offset + ArrayOffset;
Array = (UINT8 *) SubTable + ArrayOffset;
Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
SubTable->Length, AcpiDmTableInfoDbg2Name);
if (ACPI_FAILURE (Status))
{
return;
}
/* Dump the OemData (optional) */
AcpiDmDumpBuffer (SubTable, SubTable->OemDataOffset, SubTable->OemDataLength,
Offset + SubTable->OemDataOffset, "OEM Data");
/* Point to next sub-table */
Offset += SubTable->Length;
SubTable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, SubTable,
SubTable->Length);
}
}
/*******************************************************************************
*
* FUNCTION: AcpiDmDumpDmar
@@ -612,6 +882,7 @@ AcpiDmDumpCpep (
*
******************************************************************************/
void
AcpiDmDumpDmar (
ACPI_TABLE_HEADER *Table)
@@ -1412,8 +1683,8 @@ AcpiDmDumpMpst (
ACPI_MPST_DATA_HDR *SubTable1;
ACPI_MPST_POWER_DATA *SubTable2;
UINT16 SubtableCount;
UINT8 PowerStateCount;
UINT8 ComponentCount;
UINT32 PowerStateCount;
UINT32 ComponentCount;
/* Main table */
@@ -158,6 +158,7 @@
#define ACPI_BGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BGRT,f)
#define ACPI_BOOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BOOT,f)
#define ACPI_CPEP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CPEP,f)
#define ACPI_DBG2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBG2,f)
#define ACPI_DBGP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBGP,f)
#define ACPI_DMAR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DMAR,f)
#define ACPI_DRTM_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DRTM,f)
@@ -198,6 +199,9 @@
#define ACPI_ASF3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f)
#define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f)
#define ACPI_CPEP0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CPEP_POLLING,f)
#define ACPI_CSRT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_GROUP,f)
#define ACPI_CSRT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_DESCRIPTOR,f)
#define ACPI_DBG20_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DBG2_DEVICE,f)
#define ACPI_DMARS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_DEVICE_SCOPE,f)
#define ACPI_DMAR0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_HARDWARE_UNIT,f)
#define ACPI_DMAR1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RESERVED_MEMORY,f)
@@ -711,6 +715,94 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[] =
};
/*******************************************************************************
*
* CSRT - Core System Resource Table
*
******************************************************************************/
/* Main table consists only of the standard ACPI table header */
/* Resource Group subtable */
ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[] =
{
{ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (Length), "Length", 0},
{ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (VendorId), "Vendor ID", 0},
{ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (SubvendorId), "Subvendor ID", 0},
{ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (DeviceId), "Device ID", 0},
{ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (SubdeviceId), "Subdevice ID", 0},
{ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Revision), "Revision", 0},
{ACPI_DMT_UINT16, ACPI_CSRT0_OFFSET (Reserved), "Reserved", 0},
{ACPI_DMT_UINT32, ACPI_CSRT0_OFFSET (InfoLength), "InfoLength", 0},
ACPI_DMT_TERMINATOR
};
/* Resource Descriptor subtable */
ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[] =
{
{ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (Length), "Length", 0},
{ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (Type), "Type", 0},
{ACPI_DMT_UINT16, ACPI_CSRT1_OFFSET (Subtype), "Subtype", 0},
{ACPI_DMT_UINT32, ACPI_CSRT1_OFFSET (Uid), "UID", 0},
ACPI_DMT_TERMINATOR
};
/*******************************************************************************
*
* DBG2 - Debug Port Table 2
*
******************************************************************************/
ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[] =
{
{ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoOffset), "Info Offset", 0},
{ACPI_DMT_UINT32, ACPI_DBG2_OFFSET (InfoCount), "Info Count", 0},
ACPI_DMT_TERMINATOR
};
/* Debug Device Information Subtable */
ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[] =
{
{ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (Revision), "Revision", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Length), "Length", 0},
{ACPI_DMT_UINT8, ACPI_DBG20_OFFSET (RegisterCount), "Register Count", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathLength), "Namepath Length", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (NamepathOffset), "Namepath Offset", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataLength), "OEM Data Length", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (OemDataOffset), "OEM Data Offset", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortType), "Port Type", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (PortSubtype), "Port Subtype", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (Reserved), "Reserved", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (BaseAddressOffset), "Base Address Offset", 0},
{ACPI_DMT_UINT16, ACPI_DBG20_OFFSET (AddressSizeOffset), "Address Size Offset", 0},
ACPI_DMT_TERMINATOR
};
/* Variable-length data for the subtable */
ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[] =
{
{ACPI_DMT_GAS, 0, "Base Address Register", 0},
ACPI_DMT_TERMINATOR
};
ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[] =
{
{ACPI_DMT_UINT32, 0, "Address Size", 0},
ACPI_DMT_TERMINATOR
};
ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[] =
{
{ACPI_DMT_STRING, 0, "Namepath", 0},
ACPI_DMT_TERMINATOR
};
/*******************************************************************************
*
* DBGP - Debug Port
@@ -1498,10 +1590,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
};
@@ -1518,12 +1610,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
};
@@ -1549,6 +1640,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
};
@@ -1556,7 +1648,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
@@ -900,5 +900,3 @@ AcpiDsCreateIndexField (
Status = AcpiDsGetFieldNames (&Info, WalkState, Arg->Common.Next);
return_ACPI_STATUS (Status);
}
@@ -306,5 +306,3 @@ AcpiDsInitializeObjects (
return_ACPI_STATUS (AE_OK);
}
@@ -794,5 +794,3 @@ AcpiDsTerminateControlMethod (
return_VOID;
}
@@ -840,5 +840,3 @@ AcpiDsMethodDataGetType (
return_VALUE (Object->Type);
}
#endif
@@ -935,5 +935,3 @@ AcpiDsInitObjectFromOp (
return_ACPI_STATUS (Status);
}
@@ -878,4 +878,3 @@ AcpiDsEvalBankFieldOperands (
AcpiUtRemoveReference (OperandDesc);
return_ACPI_STATUS (Status);
}
@@ -865,5 +865,3 @@ Cleanup:
WalkState->NumOperands = 0;
return_ACPI_STATUS (Status);
}
@@ -313,6 +313,20 @@ AcpiDsLoad1BeginOp (
WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY;
break;
case ACPI_TYPE_METHOD:
/*
* Allow scope change to root during execution of module-level
* code. Root is typed METHOD during this time.
*/
if ((Node == AcpiGbl_RootNode) &&
(WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL))
{
break;
}
/*lint -fallthrough */
default:
/* All other types are an error */
@@ -315,6 +315,20 @@ AcpiDsLoad2BeginOp (
WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY;
break;
case ACPI_TYPE_METHOD:
/*
* Allow scope change to root during execution of module-level
* code. Root is typed METHOD during this time.
*/
if ((Node == AcpiGbl_RootNode) &&
(WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL))
{
break;
}
/*lint -fallthrough */
default:
/* All other types are an error */
@@ -324,7 +338,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;
@@ -683,7 +697,7 @@ AcpiDsLoad2EndOp (
RegionSpace, WalkState);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
AcpiExExitInterpreter ();
@@ -816,4 +830,3 @@ Cleanup:
WalkState->NumOperands = 0;
return_ACPI_STATUS (Status);
}
@@ -307,5 +307,3 @@ AcpiDsScopeStackPop (
AcpiUtDeleteGenericState (ScopeInfo);
return_ACPI_STATUS (AE_OK);
}
@@ -862,14 +862,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 */
@@ -914,5 +914,3 @@ AcpiDsDeleteWalkState (
ACPI_FREE (WalkState);
return_VOID;
}
@@ -404,5 +404,3 @@ AcpiEvFixedEventDispatch (
}
#endif /* !ACPI_REDUCED_HARDWARE */
@@ -164,7 +164,7 @@ AcpiEvUpdateGpeEnableMask (
return_ACPI_STATUS (AE_NOT_EXIST);
}
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo);
/* Clear the run bit up front */
@@ -503,6 +503,13 @@ AcpiEvGpeDetect (
if (!(GpeRegisterInfo->EnableForRun |
GpeRegisterInfo->EnableForWake))
{
ACPI_DEBUG_PRINT ((ACPI_DB_INTERRUPTS,
"Ignore disabled registers for GPE%02X-GPE%02X: "
"RunEnable=%02X, WakeEnable=%02X\n",
GpeRegisterInfo->BaseGpeNumber,
GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1),
GpeRegisterInfo->EnableForRun,
GpeRegisterInfo->EnableForWake));
continue;
}
@@ -523,8 +530,13 @@ AcpiEvGpeDetect (
}
ACPI_DEBUG_PRINT ((ACPI_DB_INTERRUPTS,
"Read GPE Register at GPE%02X: Status=%02X, Enable=%02X\n",
GpeRegisterInfo->BaseGpeNumber, StatusReg, EnableReg));
"Read registers for GPE%02X-GPE%02X: Status=%02X, Enable=%02X, "
"RunEnable=%02X, WakeEnable=%02X\n",
GpeRegisterInfo->BaseGpeNumber,
GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1),
StatusReg, EnableReg,
GpeRegisterInfo->EnableForRun,
GpeRegisterInfo->EnableForWake));
/* Check if there is anything active at all in this register */
@@ -461,8 +461,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;
@@ -801,4 +801,3 @@ AcpiEvInitializeRegion (
return_ACPI_STATUS (AE_NOT_EXIST);
}
@@ -552,7 +552,7 @@ AcpiSetGpeWakeMask (
goto UnlockAndExit;
}
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo);
/* Perform the action */
@@ -846,7 +846,7 @@ AcpiInstallGpeBlock (
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
Node = AcpiNsValidateHandle (GpeDevice);
@@ -939,7 +939,7 @@ AcpiRemoveGpeBlock (
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
Node = AcpiNsValidateHandle (GpeDevice);
@@ -382,4 +382,3 @@ UnlockAndExit:
}
ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler)
@@ -758,4 +758,3 @@ AcpiExUnloadTable (
DdbHandle->Common.Flags &= ~AOPOBJ_DATA_VALID;
return_ACPI_STATUS (AE_OK);
}
@@ -822,5 +822,3 @@ AcpiExConvertToTargetType (
return_ACPI_STATUS (Status);
}
@@ -643,5 +643,3 @@ Exit:
AcpiUtRemoveReference (Operand[1]);
return_ACPI_STATUS (Status);
}
@@ -234,9 +234,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:
@@ -277,7 +277,7 @@ AcpiExDoDebugObject (
/* Case for DdbHandle */
AcpiOsPrintf ("Table Index 0x%X\n", SourceDesc->Reference.Value);
return;
return_VOID;
default:
break;
@@ -346,5 +346,3 @@ AcpiExDoDebugObject (
return_VOID;
}
#endif
@@ -1087,7 +1087,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
@@ -1194,4 +1194,3 @@ AcpiExDumpObjectDescriptor (
}
#endif
@@ -474,5 +474,3 @@ AcpiExWriteDataToField (
return_ACPI_STATUS (Status);
}
@@ -1123,5 +1123,3 @@ Exit:
}
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
@@ -869,5 +868,3 @@ Cleanup:
*LogicalResult = LocalResult;
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
@@ -413,7 +412,7 @@ AcpiExReleaseMutexObject (
if (ObjDesc->Mutex.AcquisitionDepth == 0)
{
return (AE_NOT_ACQUIRED);
return_ACPI_STATUS (AE_NOT_ACQUIRED);
}
/* Match multiple Acquires with multiple Releases */
@@ -587,7 +586,7 @@ AcpiExReleaseAllMutexes (
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_FUNCTION_ENTRY ();
ACPI_FUNCTION_NAME (ExReleaseAllMutexes);
/* Traverse the list of owned mutexes, releasing each one */
@@ -601,6 +600,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
@@ -556,5 +555,3 @@ AcpiExGetNameString (
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
@@ -1180,4 +1179,3 @@ Cleanup:
return_ACPI_STATUS (Status);
}
@@ -710,5 +710,3 @@ Cleanup:
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
@@ -373,5 +372,3 @@ Cleanup:
}
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
@@ -282,7 +281,7 @@ AcpiExDoMatch (
return (FALSE);
}
return LogicalResult;
return (LogicalResult);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exprep - ACPI AML (p-code) execution - field prep utilities
@@ -717,4 +716,3 @@ AcpiExPrepFieldValue (
AcpiUtRemoveReference (ObjDesc);
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exregion - ACPI default OpRegion (address space) handlers
@@ -633,5 +632,3 @@ AcpiExDataTableSpaceHandler (
return_ACPI_STATUS (AE_OK);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exresnte - AML Interpreter object resolution
@@ -370,5 +369,3 @@ AcpiExResolveNodeToValue (
*ObjectPtr = (void *) ObjDesc;
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exresolv - AML Interpreter object resolution
@@ -648,5 +647,3 @@ Exit:
}
return_ACPI_STATUS (AE_OK);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exresop - AML Interpreter operand/object resolution
@@ -806,5 +805,3 @@ NextOperand:
return_ACPI_STATUS (Status);
}
@@ -599,5 +599,3 @@ AcpiExStoreObjectToNode (
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exstoren - AML Interpreter object store support,
@@ -382,5 +381,3 @@ AcpiExStoreObjectToObject (
*NewDesc = DestDesc;
return_ACPI_STATUS (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exstorob - AML Interpreter object store support, store to object
@@ -312,5 +311,3 @@ AcpiExStoreStringToString (
TargetDesc->String.Length = Length;
return_ACPI_STATUS (AE_OK);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exsystem - Interface to OS services
@@ -424,4 +423,3 @@ AcpiExSystemResetEvent (
return (Status);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: exutils - interpreter/scanner utilities
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
@@ -171,7 +171,6 @@ AcpiHwExecuteSleepMethod (
* FUNCTION: AcpiHwExtendedSleep
*
* PARAMETERS: SleepState - Which sleep state to enter
* Flags - ACPI_EXECUTE_GTS to run optional method
*
* RETURN: Status
*
@@ -183,8 +182,7 @@ AcpiHwExecuteSleepMethod (
ACPI_STATUS
AcpiHwExtendedSleep (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
UINT8 SleepTypeValue;
@@ -212,13 +210,6 @@ AcpiHwExtendedSleep (
AcpiGbl_SystemAwakeAndRunning = FALSE;
/* Optionally execute _GTS (Going To Sleep) */
if (Flags & ACPI_EXECUTE_GTS)
{
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__GTS, SleepState);
}
/* Flush caches, as per ACPI specification */
ACPI_FLUSH_CPU_CACHE ();
@@ -263,7 +254,6 @@ AcpiHwExtendedSleep (
* FUNCTION: AcpiHwExtendedWakePrep
*
* PARAMETERS: SleepState - Which sleep state we just exited
* Flags - ACPI_EXECUTE_BFS to run optional method
*
* RETURN: Status
*
@@ -274,8 +264,7 @@ AcpiHwExtendedSleep (
ACPI_STATUS
AcpiHwExtendedWakePrep (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
UINT8 SleepTypeValue;
@@ -295,12 +284,6 @@ AcpiHwExtendedWakePrep (
&AcpiGbl_FADT.SleepControl);
}
/* Optionally execute _BFS (Back From Sleep) */
if (Flags & ACPI_EXECUTE_BFS)
{
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__BFS, SleepState);
}
return_ACPI_STATUS (AE_OK);
}
@@ -310,7 +293,6 @@ AcpiHwExtendedWakePrep (
* FUNCTION: AcpiHwExtendedWake
*
* PARAMETERS: SleepState - Which sleep state we just exited
* Flags - Reserved, set to zero
*
* RETURN: Status
*
@@ -321,8 +303,7 @@ AcpiHwExtendedWakePrep (
ACPI_STATUS
AcpiHwExtendedWake (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_FUNCTION_TRACE (HwExtendedWake);
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
@@ -137,7 +136,6 @@ AcpiHwEnableWakeupGpeBlock (
* FUNCTION: AcpiHwGetGpeRegisterBit
*
* PARAMETERS: GpeEventInfo - Info block for the GPE
* GpeRegisterInfo - Info block for the GPE register
*
* RETURN: Register mask with a one in the GPE bit position
*
@@ -148,12 +146,11 @@ AcpiHwEnableWakeupGpeBlock (
UINT32
AcpiHwGetGpeRegisterBit (
ACPI_GPE_EVENT_INFO *GpeEventInfo,
ACPI_GPE_REGISTER_INFO *GpeRegisterInfo)
ACPI_GPE_EVENT_INFO *GpeEventInfo)
{
return ((UINT32) 1 <<
(GpeEventInfo->GpeNumber - GpeRegisterInfo->BaseGpeNumber));
(GpeEventInfo->GpeNumber - GpeEventInfo->RegisterInfo->BaseGpeNumber));
}
@@ -202,7 +199,7 @@ AcpiHwLowSetGpe (
/* Set or clear just the bit that corresponds to this GPE */
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo);
switch (Action)
{
case ACPI_GPE_CONDITIONAL_ENABLE:
@@ -271,7 +268,7 @@ AcpiHwClearGpe (
* Write a one to the appropriate bit in the status register to
* clear this GPE.
*/
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo);
Status = AcpiHwWrite (RegisterBit,
&GpeRegisterInfo->StatusAddress);
@@ -319,7 +316,7 @@ AcpiHwGetGpeStatus (
/* Get the register bitmask for this GPE */
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo);
/* GPE currently enabled? (enabled for runtime?) */
@@ -364,7 +364,7 @@ AcpiHwProcessPciList (
&BusNumber, &IsBridge);
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
return (Status);
}
Info = Info->Next;
@@ -376,7 +376,7 @@ AcpiHwProcessPciList (
PciId->Segment, PciId->Bus, PciId->Device, PciId->Function,
Status, BusNumber, IsBridge));
return_ACPI_STATUS (AE_OK);
return (AE_OK);
}
@@ -1,4 +1,3 @@
/*******************************************************************************
*
* Module Name: hwregs - Read/write access functions for the various ACPI
@@ -127,7 +127,6 @@
* FUNCTION: AcpiHwLegacySleep
*
* PARAMETERS: SleepState - Which sleep state to enter
* Flags - ACPI_EXECUTE_GTS to run optional method
*
* RETURN: Status
*
@@ -138,8 +137,7 @@
ACPI_STATUS
AcpiHwLegacySleep (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_BIT_REGISTER_INFO *SleepTypeRegInfo;
ACPI_BIT_REGISTER_INFO *SleepEnableRegInfo;
@@ -188,13 +186,6 @@ AcpiHwLegacySleep (
return_ACPI_STATUS (Status);
}
/* Optionally execute _GTS (Going To Sleep) */
if (Flags & ACPI_EXECUTE_GTS)
{
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__GTS, SleepState);
}
/* Get current value of PM1A control */
Status = AcpiHwRegisterRead (ACPI_REGISTER_PM1_CONTROL,
@@ -291,7 +282,6 @@ AcpiHwLegacySleep (
* FUNCTION: AcpiHwLegacyWakePrep
*
* PARAMETERS: SleepState - Which sleep state we just exited
* Flags - ACPI_EXECUTE_BFS to run optional method
*
* RETURN: Status
*
@@ -303,8 +293,7 @@ AcpiHwLegacySleep (
ACPI_STATUS
AcpiHwLegacyWakePrep (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
ACPI_BIT_REGISTER_INFO *SleepTypeRegInfo;
@@ -354,12 +343,6 @@ AcpiHwLegacyWakePrep (
}
}
/* Optionally execute _BFS (Back From Sleep) */
if (Flags & ACPI_EXECUTE_BFS)
{
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__BFS, SleepState);
}
return_ACPI_STATUS (Status);
}
@@ -369,7 +352,6 @@ AcpiHwLegacyWakePrep (
* FUNCTION: AcpiHwLegacyWake
*
* PARAMETERS: SleepState - Which sleep state we just exited
* Flags - Reserved, set to zero
*
* RETURN: Status
*
@@ -380,8 +362,7 @@ AcpiHwLegacyWakePrep (
ACPI_STATUS
AcpiHwLegacyWake (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: hwvalid - I/O request validation
@@ -436,5 +435,3 @@ AcpiHwWritePort (
return (AE_OK);
}
@@ -1,4 +1,3 @@
/******************************************************************************
*
* Module Name: hwxface - Public ACPICA hardware interfaces
@@ -124,7 +124,6 @@
static ACPI_STATUS
AcpiHwSleepDispatch (
UINT8 SleepState,
UINT8 Flags,
UINT32 FunctionId);
/*
@@ -333,7 +332,6 @@ ACPI_EXPORT_SYMBOL (AcpiEnterSleepStateS4bios)
static ACPI_STATUS
AcpiHwSleepDispatch (
UINT8 SleepState,
UINT8 Flags,
UINT32 FunctionId)
{
ACPI_STATUS Status;
@@ -349,13 +347,13 @@ AcpiHwSleepDispatch (
if (AcpiGbl_ReducedHardware ||
AcpiGbl_FADT.SleepControl.Address)
{
Status = SleepFunctions->ExtendedFunction (SleepState, Flags);
Status = SleepFunctions->ExtendedFunction (SleepState);
}
else
{
/* Legacy sleep */
Status = SleepFunctions->LegacyFunction (SleepState, Flags);
Status = SleepFunctions->LegacyFunction (SleepState);
}
return (Status);
@@ -365,7 +363,7 @@ AcpiHwSleepDispatch (
* For the case where reduced-hardware-only code is being generated,
* we know that only the extended sleep registers are available
*/
Status = SleepFunctions->ExtendedFunction (SleepState, Flags);
Status = SleepFunctions->ExtendedFunction (SleepState);
return (Status);
#endif /* !ACPI_REDUCED_HARDWARE */
@@ -459,7 +457,6 @@ ACPI_EXPORT_SYMBOL (AcpiEnterSleepStatePrep)
* FUNCTION: AcpiEnterSleepState
*
* PARAMETERS: SleepState - Which sleep state to enter
* Flags - ACPI_EXECUTE_GTS to run optional method
*
* RETURN: Status
*
@@ -470,8 +467,7 @@ ACPI_EXPORT_SYMBOL (AcpiEnterSleepStatePrep)
ACPI_STATUS
AcpiEnterSleepState (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
@@ -487,7 +483,7 @@ AcpiEnterSleepState (
return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
}
Status = AcpiHwSleepDispatch (SleepState, Flags, ACPI_SLEEP_FUNCTION_ID);
Status = AcpiHwSleepDispatch (SleepState, ACPI_SLEEP_FUNCTION_ID);
return_ACPI_STATUS (Status);
}
@@ -499,7 +495,6 @@ ACPI_EXPORT_SYMBOL (AcpiEnterSleepState)
* FUNCTION: AcpiLeaveSleepStatePrep
*
* PARAMETERS: SleepState - Which sleep state we are exiting
* Flags - ACPI_EXECUTE_BFS to run optional method
*
* RETURN: Status
*
@@ -512,8 +507,7 @@ ACPI_EXPORT_SYMBOL (AcpiEnterSleepState)
ACPI_STATUS
AcpiLeaveSleepStatePrep (
UINT8 SleepState,
UINT8 Flags)
UINT8 SleepState)
{
ACPI_STATUS Status;
@@ -521,7 +515,7 @@ AcpiLeaveSleepStatePrep (
ACPI_FUNCTION_TRACE (AcpiLeaveSleepStatePrep);
Status = AcpiHwSleepDispatch (SleepState, Flags, ACPI_WAKE_PREP_FUNCTION_ID);
Status = AcpiHwSleepDispatch (SleepState, ACPI_WAKE_PREP_FUNCTION_ID);
return_ACPI_STATUS (Status);
}
@@ -551,7 +545,7 @@ AcpiLeaveSleepState (
ACPI_FUNCTION_TRACE (AcpiLeaveSleepState);
Status = AcpiHwSleepDispatch (SleepState, 0, ACPI_WAKE_FUNCTION_ID);
Status = AcpiHwSleepDispatch (SleepState, ACPI_WAKE_FUNCTION_ID);
return_ACPI_STATUS (Status);
}
@@ -193,12 +193,12 @@ AcpiNsRootInitialize (
Status = AcpiNsLookup (NULL, InitVal->Name, InitVal->Type,
ACPI_IMODE_LOAD_PASS2, ACPI_NS_NO_UPSEARCH,
NULL, &NewNode);
if (ACPI_FAILURE (Status) || (!NewNode)) /* Must be on same line for code converter */
if (ACPI_FAILURE (Status))
{
ACPI_EXCEPTION ((AE_INFO, Status,
"Could not create predefined name %s",
InitVal->Name));
continue;
}
/*
@@ -769,4 +769,3 @@ AcpiNsLookup (
*ReturnNode = ThisNode;
return_ACPI_STATUS (AE_OK);
}
@@ -656,5 +656,3 @@ AcpiNsDeleteNamespaceByOwner (
(void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
return_VOID;
}
@@ -367,7 +367,7 @@ AcpiNsDumpOneObject (
{
case ACPI_TYPE_PROCESSOR:
AcpiOsPrintf ("ID %X Len %.4X Addr %p\n",
AcpiOsPrintf ("ID %02X Len %02X Addr %p\n",
ObjDesc->Processor.ProcId, ObjDesc->Processor.Length,
ACPI_CAST_PTR (void, ObjDesc->Processor.Address));
break;
@@ -853,4 +853,3 @@ AcpiNsDumpTables (
}
#endif
#endif
@@ -230,5 +230,3 @@ AcpiNsDumpRootDevices (
#endif
#endif
@@ -555,4 +555,3 @@ Exit:
}
return_VOID;
}
@@ -425,4 +425,3 @@ AcpiNsUnloadNamespace (
}
#endif
#endif
@@ -295,7 +295,7 @@ AcpiNsGetPathnameLength (
ACPI_ERROR ((AE_INFO,
"Invalid Namespace Node (%p) while traversing namespace",
NextNode));
return 0;
return (0);
}
Size += ACPI_PATH_SEGMENT_LENGTH;
NextNode = NextNode->Parent;
@@ -371,5 +371,3 @@ AcpiNsHandleToPathname (
(char *) Buffer->Pointer, (UINT32) RequiredSize));
return_ACPI_STATUS (AE_OK);
}
@@ -573,5 +573,3 @@ AcpiNsGetAttachedData (
return (AE_NOT_FOUND);
}
@@ -293,5 +293,3 @@ AcpiNsParseTable (
return_ACPI_STATUS (Status);
}
@@ -493,4 +493,3 @@ AcpiNsSearchAndEnter (
*ReturnNode = NewNode;
return_ACPI_STATUS (AE_OK);
}
@@ -727,10 +727,13 @@ AcpiNsExternalizeName (
(*ConvertedName)[j++] = '.';
}
(*ConvertedName)[j++] = InternalName[NamesIndex++];
(*ConvertedName)[j++] = InternalName[NamesIndex++];
(*ConvertedName)[j++] = InternalName[NamesIndex++];
(*ConvertedName)[j++] = InternalName[NamesIndex++];
/* Copy and validate the 4-char name segment */
ACPI_MOVE_NAME (&(*ConvertedName)[j], &InternalName[NamesIndex]);
AcpiUtRepairName (&(*ConvertedName)[j]);
j += ACPI_NAME_SIZE;
NamesIndex += ACPI_NAME_SIZE;
}
}
@@ -454,5 +454,3 @@ AcpiNsWalkNamespace (
return_ACPI_STATUS (AE_OK);
}
@@ -609,7 +609,7 @@ AcpiWalkNamespace (
Status = AcpiUtAcquireReadLock (&AcpiGbl_NamespaceRwLock);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
/*
@@ -663,8 +663,8 @@ AcpiNsGetDeviceCallback (
ACPI_STATUS Status;
ACPI_NAMESPACE_NODE *Node;
UINT32 Flags;
ACPI_DEVICE_ID *Hid;
ACPI_DEVICE_ID_LIST *Cid;
ACPI_PNP_DEVICE_ID *Hid;
ACPI_PNP_DEVICE_ID_LIST *Cid;
UINT32 i;
BOOLEAN Found;
int NoMatch;
@@ -1028,5 +1028,3 @@ UnlockAndExit:
}
ACPI_EXPORT_SYMBOL (AcpiGetData)
@@ -130,8 +130,8 @@
static char *
AcpiNsCopyDeviceId (
ACPI_DEVICE_ID *Dest,
ACPI_DEVICE_ID *Source,
ACPI_PNP_DEVICE_ID *Dest,
ACPI_PNP_DEVICE_ID *Source,
char *StringArea);
@@ -299,8 +299,7 @@ AcpiGetName (
/* Just copy the ACPI name from the Node and zero terminate it */
ACPI_STRNCPY (Buffer->Pointer, AcpiUtGetNodeName (Node),
ACPI_NAME_SIZE);
ACPI_MOVE_NAME (Buffer->Pointer, AcpiUtGetNodeName (Node));
((char *) Buffer->Pointer) [ACPI_NAME_SIZE] = 0;
Status = AE_OK;
@@ -318,23 +317,24 @@ ACPI_EXPORT_SYMBOL (AcpiGetName)
*
* FUNCTION: AcpiNsCopyDeviceId
*
* PARAMETERS: Dest - Pointer to the destination DEVICE_ID
* Source - Pointer to the source DEVICE_ID
* PARAMETERS: Dest - Pointer to the destination PNP_DEVICE_ID
* Source - Pointer to the source PNP_DEVICE_ID
* StringArea - Pointer to where to copy the dest string
*
* RETURN: Pointer to the next string area
*
* DESCRIPTION: Copy a single DEVICE_ID, including the string data.
* DESCRIPTION: Copy a single PNP_DEVICE_ID, including the string data.
*
******************************************************************************/
static char *
AcpiNsCopyDeviceId (
ACPI_DEVICE_ID *Dest,
ACPI_DEVICE_ID *Source,
ACPI_PNP_DEVICE_ID *Dest,
ACPI_PNP_DEVICE_ID *Source,
char *StringArea)
{
/* Create the destination DEVICE_ID */
/* Create the destination PNP_DEVICE_ID */
Dest->String = StringArea;
Dest->Length = Source->Length;
@@ -359,8 +359,8 @@ AcpiNsCopyDeviceId (
* namespace node and possibly by running several standard
* control methods (Such as in the case of a device.)
*
* For Device and Processor objects, run the Device _HID, _UID, _CID, _STA,
* _ADR, _SxW, and _SxD methods.
* For Device and Processor objects, run the Device _HID, _UID, _CID, _SUB,
* _STA, _ADR, _SxW, and _SxD methods.
*
* Note: Allocates the return buffer, must be freed by the caller.
*
@@ -373,9 +373,10 @@ AcpiGetObjectInfo (
{
ACPI_NAMESPACE_NODE *Node;
ACPI_DEVICE_INFO *Info;
ACPI_DEVICE_ID_LIST *CidList = NULL;
ACPI_DEVICE_ID *Hid = NULL;
ACPI_DEVICE_ID *Uid = NULL;
ACPI_PNP_DEVICE_ID_LIST *CidList = NULL;
ACPI_PNP_DEVICE_ID *Hid = NULL;
ACPI_PNP_DEVICE_ID *Uid = NULL;
ACPI_PNP_DEVICE_ID *Sub = NULL;
char *NextIdString;
ACPI_OBJECT_TYPE Type;
ACPI_NAME Name;
@@ -428,7 +429,7 @@ AcpiGetObjectInfo (
{
/*
* Get extra info for ACPI Device/Processor objects only:
* Run the Device _HID, _UID, and _CID methods.
* Run the Device _HID, _UID, _SUB, and _CID methods.
*
* Note: none of these methods are required, so they may or may
* not be present for this device. The Info->Valid bitfield is used
@@ -453,6 +454,15 @@ AcpiGetObjectInfo (
Valid |= ACPI_VALID_UID;
}
/* Execute the Device._SUB method */
Status = AcpiUtExecute_SUB (Node, &Sub);
if (ACPI_SUCCESS (Status))
{
InfoSize += Sub->Length;
Valid |= ACPI_VALID_SUB;
}
/* Execute the Device._CID method */
Status = AcpiUtExecute_CID (Node, &CidList);
@@ -460,7 +470,7 @@ AcpiGetObjectInfo (
{
/* Add size of CID strings and CID pointer array */
InfoSize += (CidList->ListSize - sizeof (ACPI_DEVICE_ID_LIST));
InfoSize += (CidList->ListSize - sizeof (ACPI_PNP_DEVICE_ID_LIST));
Valid |= ACPI_VALID_CID;
}
}
@@ -535,14 +545,15 @@ AcpiGetObjectInfo (
NextIdString = ACPI_CAST_PTR (char, Info->CompatibleIdList.Ids);
if (CidList)
{
/* Point past the CID DEVICE_ID array */
/* Point past the CID PNP_DEVICE_ID array */
NextIdString += ((ACPI_SIZE) CidList->Count * sizeof (ACPI_DEVICE_ID));
NextIdString += ((ACPI_SIZE) CidList->Count * sizeof (ACPI_PNP_DEVICE_ID));
}
/*
* Copy the HID, UID, and CIDs to the return buffer. The variable-length
* strings are copied to the reserved area at the end of the buffer.
* Copy the HID, UID, SUB, and CIDs to the return buffer.
* The variable-length strings are copied to the reserved area
* at the end of the buffer.
*
* For HID and CID, check if the ID is a PCI Root Bridge.
*/
@@ -563,6 +574,12 @@ AcpiGetObjectInfo (
Uid, NextIdString);
}
if (Sub)
{
NextIdString = AcpiNsCopyDeviceId (&Info->SubsystemId,
Sub, NextIdString);
}
if (CidList)
{
Info->CompatibleIdList.Count = CidList->Count;
@@ -603,6 +620,10 @@ Cleanup:
{
ACPI_FREE (Uid);
}
if (Sub)
{
ACPI_FREE (Sub);
}
if (CidList)
{
ACPI_FREE (CidList);
@@ -354,4 +354,3 @@ UnlockAndExit:
}
ACPI_EXPORT_SYMBOL (AcpiGetNextObject)
@@ -225,17 +225,44 @@ AcpiPsGetAmlOpcode (
case AML_CLASS_UNKNOWN:
/* The opcode is unrecognized. Just skip unknown opcodes */
/* The opcode is unrecognized. Complain and skip unknown opcodes */
if (WalkState->PassNumber == 2)
{
ACPI_ERROR ((AE_INFO,
"Found unknown opcode 0x%X at AML address %p offset 0x%X, ignoring",
WalkState->Opcode, WalkState->ParserState.Aml, WalkState->AmlOffset));
"Unknown opcode 0x%.2X at table offset 0x%.4X, ignoring",
WalkState->Opcode,
(UINT32) (WalkState->AmlOffset + sizeof (ACPI_TABLE_HEADER))));
ACPI_DUMP_BUFFER (WalkState->ParserState.Aml, 128);
ACPI_DUMP_BUFFER (WalkState->ParserState.Aml - 16, 48);
/* Assume one-byte bad opcode */
#ifdef ACPI_ASL_COMPILER
/*
* This is executed for the disassembler only. Output goes
* to the disassembled ASL output file.
*/
AcpiOsPrintf (
"/*\nError: Unknown opcode 0x%.2X at table offset 0x%.4X, context:\n",
WalkState->Opcode,
(UINT32) (WalkState->AmlOffset + sizeof (ACPI_TABLE_HEADER)));
/* Dump the context surrounding the invalid opcode */
AcpiUtDumpBuffer (((UINT8 *) WalkState->ParserState.Aml - 16),
48, DB_BYTE_DISPLAY,
WalkState->AmlOffset + sizeof (ACPI_TABLE_HEADER) - 16);
AcpiOsPrintf (" */\n");
#endif
}
/* Increment past one-byte or two-byte opcode */
WalkState->ParserState.Aml++;
if (WalkState->Opcode > 0xFF) /* Can only happen if first byte is 0x5B */
{
WalkState->ParserState.Aml++;
}
return_ACPI_STATUS (AE_CTRL_PARSE_CONTINUE);
default:
@@ -623,8 +650,8 @@ AcpiPsGetArguments (
(!Arg))
{
ACPI_WARNING ((AE_INFO,
"Detected an unsupported executable opcode "
"at module-level: [0x%.4X] at table offset 0x%.4X",
"Unsupported module-level executable opcode "
"0x%.2X at table offset 0x%.4X",
Op->Common.AmlOpcode,
(UINT32) (ACPI_PTR_DIFF (AmlOpStart,
WalkState->ParserState.AmlStart) +
@@ -1337,4 +1364,3 @@ AcpiPsParseLoop (
Status = AcpiPsCompleteFinalOp (WalkState, Op, Status);
return_ACPI_STATUS (Status);
}
@@ -779,5 +779,3 @@ AcpiPsParseAml (
AcpiGbl_CurrentWalkList = PrevWalkList;
return_ACPI_STATUS (Status);
}
@@ -371,4 +371,3 @@ AcpiPsCleanupScope (
return_VOID;
}
@@ -428,5 +428,3 @@ AcpiPsGetChild (
return (Child);
}
#endif
@@ -359,4 +359,3 @@ AcpiPsSetName (
Op->Named.Name = name;
}
@@ -510,5 +510,3 @@ AcpiPsUpdateParameterList (
}
}
}
@@ -475,5 +475,3 @@ AcpiRsSetAddressCommon (
Aml->Address.SpecificFlags = Resource->Data.Address.Info.TypeSpecific;
}
}
@@ -554,6 +554,16 @@ AcpiRsGetListLength (
* Get the number of vendor data bytes
*/
ExtraStructBytes = ResourceLength;
/*
* There is already one byte included in the minimum
* descriptor size. If there are extra struct bytes,
* subtract one from the count.
*/
if (ExtraStructBytes)
{
ExtraStructBytes--;
}
break;
@@ -603,4 +603,3 @@ AcpiRsCreateAmlResources (
OutputBuffer->Pointer, (UINT32) OutputBuffer->Length));
return_ACPI_STATUS (AE_OK);
}
@@ -1015,4 +1015,3 @@ AcpiRsDumpWordList (
}
#endif
@@ -372,5 +372,3 @@ ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[10] =
{ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_START_DEPENDENT_NOPRIO)}
};
@@ -197,7 +197,7 @@ AcpiRsConvertAmlToResources (
ACPI_ERROR ((AE_INFO,
"Invalid/unsupported resource descriptor: Type 0x%2.2X",
ResourceIndex));
return (AE_AML_INVALID_RESOURCE_TYPE);
return_ACPI_STATUS (AE_AML_INVALID_RESOURCE_TYPE);
}
/* Convert the AML byte stream resource to a local resource struct */
@@ -297,7 +297,7 @@ AcpiRsConvertResourcesToAml (
ACPI_ERROR ((AE_INFO,
"Invalid/unsupported resource descriptor: Type 0x%2.2X",
Resource->Type));
return (AE_AML_INVALID_RESOURCE_TYPE);
return_ACPI_STATUS (AE_AML_INVALID_RESOURCE_TYPE);
}
Status = AcpiRsConvertResourceToAml (Resource,
@@ -344,4 +344,3 @@ AcpiRsConvertResourcesToAml (
return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
}
@@ -319,5 +319,3 @@ ACPI_RSCONVERT_INFO AcpiRsSetVendor[7] =
sizeof (AML_RESOURCE_LARGE_HEADER),
0}
};
@@ -937,5 +937,3 @@ Exit:
return_ACPI_STATUS (AE_BAD_DATA);
}
#endif
@@ -930,4 +930,3 @@ Cleanup:
ACPI_FREE (Info);
return_ACPI_STATUS (Status);
}
@@ -796,4 +796,3 @@ AcpiTbSetupFadtRegisters (
}
}
}
@@ -158,7 +158,7 @@ AcpiTbFindTable (
/* Normalize the input strings */
ACPI_MEMSET (&Header, 0, sizeof (ACPI_TABLE_HEADER));
ACPI_STRNCPY (Header.Signature, Signature, ACPI_NAME_SIZE);
ACPI_MOVE_NAME (Header.Signature, Signature);
ACPI_STRNCPY (Header.OemId, OemId, ACPI_OEM_ID_SIZE);
ACPI_STRNCPY (Header.OemTableId, OemTableId, ACPI_OEM_TABLE_ID_SIZE);
@@ -446,6 +446,7 @@ AcpiTbResizeRootTableList (
void)
{
ACPI_TABLE_DESC *Tables;
UINT32 TableCount;
ACPI_FUNCTION_TRACE (TbResizeRootTableList);
@@ -461,9 +462,17 @@ AcpiTbResizeRootTableList (
/* Increase the Table Array size */
if (AcpiGbl_RootTableList.Flags & ACPI_ROOT_ORIGIN_ALLOCATED)
{
TableCount = AcpiGbl_RootTableList.MaxTableCount;
}
else
{
TableCount = AcpiGbl_RootTableList.CurrentTableCount;
}
Tables = ACPI_ALLOCATE_ZEROED (
((ACPI_SIZE) AcpiGbl_RootTableList.MaxTableCount +
ACPI_ROOT_TABLE_SIZE_INCREMENT) *
((ACPI_SIZE) TableCount + ACPI_ROOT_TABLE_SIZE_INCREMENT) *
sizeof (ACPI_TABLE_DESC));
if (!Tables)
{
@@ -476,7 +485,7 @@ AcpiTbResizeRootTableList (
if (AcpiGbl_RootTableList.Tables)
{
ACPI_MEMCPY (Tables, AcpiGbl_RootTableList.Tables,
(ACPI_SIZE) AcpiGbl_RootTableList.MaxTableCount * sizeof (ACPI_TABLE_DESC));
(ACPI_SIZE) TableCount * sizeof (ACPI_TABLE_DESC));
if (AcpiGbl_RootTableList.Flags & ACPI_ROOT_ORIGIN_ALLOCATED)
{
@@ -485,8 +494,9 @@ AcpiTbResizeRootTableList (
}
AcpiGbl_RootTableList.Tables = Tables;
AcpiGbl_RootTableList.MaxTableCount += ACPI_ROOT_TABLE_SIZE_INCREMENT;
AcpiGbl_RootTableList.Flags |= (UINT8) ACPI_ROOT_ORIGIN_ALLOCATED;
AcpiGbl_RootTableList.MaxTableCount =
TableCount + ACPI_ROOT_TABLE_SIZE_INCREMENT;
AcpiGbl_RootTableList.Flags |= ACPI_ROOT_ORIGIN_ALLOCATED;
return_ACPI_STATUS (AE_OK);
}
@@ -639,6 +649,8 @@ AcpiTbTerminate (
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "ACPI Tables freed\n"));
(void) AcpiUtReleaseMutex (ACPI_MTX_TABLES);
return_VOID;
}
@@ -878,4 +890,3 @@ AcpiTbSetTableLoadedFlag (
(void) AcpiUtReleaseMutex (ACPI_MTX_TABLES);
}
@@ -401,7 +401,7 @@ AcpiTbChecksum (
Sum = (UINT8) (Sum + *(Buffer++));
}
return Sum;
return (Sum);
}
@@ -247,7 +247,7 @@ ACPI_EXPORT_SYMBOL (AcpiInitializeTables)
* DESCRIPTION: Reallocate Root Table List into dynamic memory. Copies the
* root list from the previously provided scratch area. Should
* be called once dynamic memory allocation is available in the
* kernel
* kernel.
*
******************************************************************************/
@@ -255,9 +255,7 @@ ACPI_STATUS
AcpiReallocateRootTable (
void)
{
ACPI_TABLE_DESC *Tables;
ACPI_SIZE NewSize;
ACPI_SIZE CurrentSize;
ACPI_STATUS Status;
ACPI_FUNCTION_TRACE (AcpiReallocateRootTable);
@@ -272,38 +270,10 @@ AcpiReallocateRootTable (
return_ACPI_STATUS (AE_SUPPORT);
}
/*
* Get the current size of the root table and add the default
* increment to create the new table size.
*/
CurrentSize = (ACPI_SIZE)
AcpiGbl_RootTableList.CurrentTableCount * sizeof (ACPI_TABLE_DESC);
AcpiGbl_RootTableList.Flags |= ACPI_ROOT_ALLOW_RESIZE;
NewSize = CurrentSize +
(ACPI_ROOT_TABLE_SIZE_INCREMENT * sizeof (ACPI_TABLE_DESC));
/* Create new array and copy the old array */
Tables = ACPI_ALLOCATE_ZEROED (NewSize);
if (!Tables)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
ACPI_MEMCPY (Tables, AcpiGbl_RootTableList.Tables, CurrentSize);
/*
* Update the root table descriptor. The new size will be the current
* number of tables plus the increment, independent of the reserved
* size of the original table list.
*/
AcpiGbl_RootTableList.Tables = Tables;
AcpiGbl_RootTableList.MaxTableCount =
AcpiGbl_RootTableList.CurrentTableCount + ACPI_ROOT_TABLE_SIZE_INCREMENT;
AcpiGbl_RootTableList.Flags =
ACPI_ROOT_ORIGIN_ALLOCATED | ACPI_ROOT_ALLOW_RESIZE;
return_ACPI_STATUS (AE_OK);
Status = AcpiTbResizeRootTableList ();
return_ACPI_STATUS (Status);
}
ACPI_EXPORT_SYMBOL (AcpiReallocateRootTable)
@@ -370,22 +340,23 @@ AcpiGetTableHeader (
sizeof (ACPI_TABLE_HEADER));
if (!Header)
{
return AE_NO_MEMORY;
return (AE_NO_MEMORY);
}
ACPI_MEMCPY (OutTableHeader, Header, sizeof(ACPI_TABLE_HEADER));
AcpiOsUnmapMemory (Header, sizeof(ACPI_TABLE_HEADER));
ACPI_MEMCPY (OutTableHeader, Header,
sizeof (ACPI_TABLE_HEADER));
AcpiOsUnmapMemory (Header, sizeof (ACPI_TABLE_HEADER));
}
else
{
return AE_NOT_FOUND;
return (AE_NOT_FOUND);
}
}
else
{
ACPI_MEMCPY (OutTableHeader,
AcpiGbl_RootTableList.Tables[i].Pointer,
sizeof(ACPI_TABLE_HEADER));
sizeof (ACPI_TABLE_HEADER));
}
return (AE_OK);
@@ -624,4 +595,3 @@ Cleanup:
}
ACPI_EXPORT_SYMBOL (AcpiRemoveTableHandler)
@@ -291,7 +291,7 @@ UnlockAndExit:
* DESCRIPTION: Dynamically load an ACPI table from the caller's buffer. Must
* be a valid ACPI table with a valid ACPI table header.
* Note1: Mainly intended to support hotplug addition of SSDTs.
* Note2: Does not copy the incoming table. User is reponsible
* Note2: Does not copy the incoming table. User is responsible
* to ensure that the table is not deleted or unmapped.
*
******************************************************************************/

Some files were not shown because too many files have changed in this diff Show More