update to new data structs

date	2002.04.16.20.09.00;	author rmoore1;	state Exp;
This commit is contained in:
aystarik 2005-06-29 15:38:48 +00:00
parent c707c80666
commit 92d02a0347

View File

@ -191,6 +191,56 @@ AcpiNsGetAttachedObject (
return NULL; return NULL;
} }
ACPI_STATUS
AdAmlDisassemble (
char *Filename)
{
ACPI_STATUS Status;
/* Get the ACPI Tables (always) */
if (Filename)
{
Status = AcpiDbLoadAcpiTable (Filename);
if (ACPI_FAILURE (Status))
{
return Status;
}
}
else
{
Status = AdGetTables (Filename);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not get ACPI tables %s\n", AcpiFormatException (Status));
return Status;
}
}
/* Always parse the tables, only option is what to display */
Status = AdParseTables ();
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not parse ACPI tables %s\n", AcpiFormatException (Status));
return Status;
}
/* Optional displays */
if (AcpiGbl_DbOpt_disasm)
{
AdDisplayTables ();
}
return AE_OK;
}
/****************************************************************************** /******************************************************************************
* *
* FUNCTION: AdCreateTableHeaders * FUNCTION: AdCreateTableHeaders
@ -232,7 +282,7 @@ c (
ACPI_PARSE_OBJECT *Op) ACPI_PARSE_OBJECT *Op)
{ {
switch (Op->AmlOpcode) switch (Op->Common.AmlOpcode)
{ {
case AML_METHOD_OP: case AML_METHOD_OP:
return BLOCK_BRACE; return BLOCK_BRACE;
@ -358,7 +408,7 @@ AdSecondPassParse (
ACPI_PARSE_OBJECT *Root) ACPI_PARSE_OBJECT *Root)
{ {
ACPI_PARSE_OBJECT *Op = Root; ACPI_PARSE_OBJECT *Op = Root;
ACPI_PARSE2_OBJECT *Method; ACPI_PARSE_OBJECT *Method;
ACPI_PARSE_OBJECT *SearchOp; ACPI_PARSE_OBJECT *SearchOp;
ACPI_PARSE_OBJECT *StartOp; ACPI_PARSE_OBJECT *StartOp;
ACPI_STATUS Status = AE_OK; ACPI_STATUS Status = AE_OK;
@ -371,12 +421,12 @@ AdSecondPassParse (
while (Op) while (Op)
{ {
if (Op->AmlOpcode == AML_METHOD_OP) if (Op->Common.AmlOpcode == AML_METHOD_OP)
{ {
printf ("."); printf (".");
Method = (ACPI_PARSE2_OBJECT *) Op; Method = Op;
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Parsing method [%4.4s]\n", &Method->Name)); ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Parsing method [%4.4s]\n", &Method->Named.Name));
WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT,
Op, NULL, NULL); Op, NULL, NULL);
@ -385,8 +435,8 @@ AdSecondPassParse (
return_ACPI_STATUS (AE_NO_MEMORY); return_ACPI_STATUS (AE_NO_MEMORY);
} }
Status = AcpiDsInitAmlWalk (WalkState, Op, NULL, Method->Data, Status = AcpiDsInitAmlWalk (WalkState, Op, NULL, Method->Named.Data,
Method->Length, NULL, NULL, 1); Method->Named.Length, NULL, NULL, 1);
if (ACPI_FAILURE (Status)) if (ACPI_FAILURE (Status))
{ {
return_ACPI_STATUS (Status); return_ACPI_STATUS (Status);
@ -404,21 +454,21 @@ AdSecondPassParse (
* was just created and update the AmlOffset in each Op * was just created and update the AmlOffset in each Op
*/ */
BaseAmlOffset = (Method->Value.Arg)->AmlOffset + 1; BaseAmlOffset = (Method->Common.Value.Arg)->Common.AmlOffset + 1;
StartOp = (Method->Value.Arg)->Next; StartOp = (Method->Common.Value.Arg)->Common.Next;
SearchOp = StartOp; SearchOp = StartOp;
/* Walk the parse tree */ /* Walk the parse tree */
while (SearchOp) while (SearchOp)
{ {
SearchOp->AmlOffset += BaseAmlOffset; SearchOp->Common.AmlOffset += BaseAmlOffset;
SearchOp = AcpiPsGetDepthNext (StartOp, SearchOp); SearchOp = AcpiPsGetDepthNext (StartOp, SearchOp);
} }
} }
if (Op->AmlOpcode == AML_REGION_OP) if (Op->Common.AmlOpcode == AML_REGION_OP)
{ {
/* TBD: Code below isn't quite the right thing to do! /* TBD: Code below isn't quite the right thing to do!
* Is there any need to parse regions here? * Is there any need to parse regions here?
@ -552,7 +602,7 @@ AdParseTables (void)
/* Initialize the root object */ /* Initialize the root object */
((ACPI_PARSE2_OBJECT *) AcpiGbl_ParsedNamespaceRoot)->Name = ACPI_ROOT_NAME; AcpiGbl_ParsedNamespaceRoot->Named.Name = ACPI_ROOT_NAME;
/* Pass 1: Parse everything except control method bodies */ /* Pass 1: Parse everything except control method bodies */