mirror of
https://github.com/acpica/acpica/
synced 2025-01-17 23:09:18 +03:00
date 99.09.09.00.18.00; author rmosgrov; state Exp;
This commit is contained in:
parent
c2e11eea0d
commit
7f78ab48b6
@ -205,11 +205,15 @@ NsDumpOneObject (
|
|||||||
ACPI_OBJECT_TYPE Type;
|
ACPI_OBJECT_TYPE Type;
|
||||||
UINT32 WhichBit;
|
UINT32 WhichBit;
|
||||||
NAME_TABLE_ENTRY *Appendage = NULL;
|
NAME_TABLE_ENTRY *Appendage = NULL;
|
||||||
NAME_TABLE_ENTRY *ThisEntry = (NAME_TABLE_ENTRY *) ObjHandle;
|
NAME_TABLE_ENTRY *ThisEntry;
|
||||||
ACPI_SIZE Size = 0;
|
ACPI_SIZE Size = 0;
|
||||||
UINT8 *Value;
|
UINT8 *Value;
|
||||||
|
ACPI_OBJECT_INTERNAL *ObjDesc;
|
||||||
|
ACPI_OBJECT_TYPE ObjType;
|
||||||
UINT32 DbLevel = (UINT32) Context;
|
UINT32 DbLevel = (UINT32) Context;
|
||||||
|
|
||||||
|
ThisEntry = NsConvertHandleToEntry(ObjHandle);
|
||||||
|
|
||||||
LevelTmp = Level;
|
LevelTmp = Level;
|
||||||
Type = ThisEntry->Type;
|
Type = ThisEntry->Type;
|
||||||
WhichBit = 1;
|
WhichBit = 1;
|
||||||
@ -231,7 +235,7 @@ NsDumpOneObject (
|
|||||||
while (LevelTmp--)
|
while (LevelTmp--)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* print appropriate characters to form tree structure */
|
/* Print appropriate characters to form tree structure */
|
||||||
|
|
||||||
if (LevelTmp)
|
if (LevelTmp)
|
||||||
{
|
{
|
||||||
@ -306,58 +310,96 @@ NsDumpOneObject (
|
|||||||
ThisEntry->Object));
|
ThisEntry->Object));
|
||||||
|
|
||||||
|
|
||||||
if (TYPE_Method == Type && ThisEntry->Object)
|
if (!ThisEntry->Object)
|
||||||
{
|
{
|
||||||
/* name is a Method and its AML offset/length are set */
|
/* No attached object, we are done */
|
||||||
|
|
||||||
|
DEBUG_PRINT_RAW (TRACE_TABLES, ("\n"));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TYPE_Method == Type)
|
||||||
|
{
|
||||||
|
/* Name is a Method and its AML offset/length are set */
|
||||||
|
|
||||||
DEBUG_PRINT_RAW (TRACE_TABLES, (" @%p-%X\n",
|
DEBUG_PRINT_RAW (TRACE_TABLES, (" M:%p-%X\n",
|
||||||
((ACPI_OBJECT_INTERNAL *) ThisEntry->Object)->Method.Pcode,
|
((ACPI_OBJECT_INTERNAL *) ThisEntry->Object)->Method.Pcode,
|
||||||
((ACPI_OBJECT_INTERNAL *) ThisEntry->Object)->Method.PcodeLength));
|
((ACPI_OBJECT_INTERNAL *) ThisEntry->Object)->Method.PcodeLength));
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* There is an attached object, display it */
|
||||||
|
|
||||||
|
Value = ThisEntry->Object;
|
||||||
|
ObjDesc = ThisEntry->Object;
|
||||||
|
ObjType = ObjDesc->Common.Type;
|
||||||
|
|
||||||
|
/* Name is not a Method, or the AML offset/length are not set */
|
||||||
|
|
||||||
else
|
DEBUG_PRINT_RAW (TRACE_TABLES, ("\n"));
|
||||||
|
|
||||||
|
/* If debug turned on, display values */
|
||||||
|
|
||||||
|
while (Value && (DebugLevel & TRACE_VALUES))
|
||||||
{
|
{
|
||||||
Value = ThisEntry->Object;
|
DEBUG_PRINT_RAW (TRACE_TABLES,
|
||||||
|
(" Object %p %02x %02x %02x %02x %02x %02x",
|
||||||
|
Value, Value[0], Value[1], Value[2], Value[3], Value[4],
|
||||||
|
Value[5]));
|
||||||
|
DEBUG_PRINT_RAW (TRACE_TABLES,
|
||||||
|
(" %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||||
|
Value[6], Value[7], Value[8], Value[9], Value[10],
|
||||||
|
Value[11], Value[12], Value[13], Value[14], Value[15]));
|
||||||
|
|
||||||
/* name is not a Method, or the AML offset/length are not set */
|
/* If value is NOT an internal object, we are done here */
|
||||||
|
|
||||||
DEBUG_PRINT_RAW (TRACE_TABLES, ("\n"));
|
|
||||||
|
|
||||||
/* if debug turned on, display values */
|
if ((NsIsInSystemTable (Value)) ||
|
||||||
|
(IS_NS_HANDLE (Value)))
|
||||||
while (Value && (DebugLevel & TRACE_VALUES))
|
|
||||||
{
|
{
|
||||||
UINT8 bT = ((ACPI_OBJECT_INTERNAL *) Value)->Common.Type;
|
return NULL;
|
||||||
|
|
||||||
|
|
||||||
DEBUG_PRINT_RAW (TRACE_TABLES,
|
|
||||||
(" %p %02x %02x %02x %02x %02x %02x",
|
|
||||||
Value, Value[0], Value[1], Value[2], Value[3], Value[4],
|
|
||||||
Value[5]));
|
|
||||||
DEBUG_PRINT_RAW (TRACE_TABLES,
|
|
||||||
(" %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
|
||||||
Value[6], Value[7], Value[8], Value[9], Value[10],
|
|
||||||
Value[11], Value[12], Value[13], Value[14], Value[15]));
|
|
||||||
|
|
||||||
if (bT == TYPE_String || bT == TYPE_Buffer || bT == TYPE_Package
|
|
||||||
|| bT == TYPE_FieldUnit || bT == TYPE_DefField || bT == TYPE_BankField
|
|
||||||
|| bT == TYPE_IndexField || bT == TYPE_Lvalue)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Get pointer to next level. ThisEntry assumes that all of
|
|
||||||
* the above-listed variants of ACPI_OBJECT_INTERNAL have
|
|
||||||
* compatible mappings.
|
|
||||||
*/
|
|
||||||
Value = ((ACPI_OBJECT_INTERNAL *)Value)->Buffer.Pointer;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Valid object, get the pointer to next level, if any
|
||||||
|
*/
|
||||||
|
switch (ObjType)
|
||||||
|
{
|
||||||
|
case TYPE_String:
|
||||||
|
Value = (UINT8 *) ObjDesc->String.Pointer;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_Buffer:
|
||||||
|
Value = (UINT8 *) ObjDesc->Buffer.Pointer;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_Package:
|
||||||
|
Value = (UINT8 *) ObjDesc->Package.Elements;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_FieldUnit:
|
||||||
|
Value = (UINT8 *) ObjDesc->FieldUnit.Container;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_DefField:
|
||||||
|
Value = (UINT8 *) ObjDesc->Field.Container;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_BankField:
|
||||||
|
Value = (UINT8 *) ObjDesc->BankField.Container;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_IndexField:
|
||||||
|
Value = (UINT8 *) ObjDesc->IndexField.Index;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ObjType = TYPE_Invalid; /* Terminate loop after next pass */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,10 +454,10 @@ NsDumpOneDevice (
|
|||||||
ACPI_STATUS Status;
|
ACPI_STATUS Status;
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
|
|
||||||
BREAKPOINT3;
|
|
||||||
RetVal = NsDumpOneObject (ObjHandle, Level, Context);
|
RetVal = NsDumpOneObject (ObjHandle, Level, Context);
|
||||||
|
|
||||||
Status = AcpiGetDeviceInfo (ObjHandle, &Info);
|
Status = AcpiGetObjectInfo (ObjHandle, &Info);
|
||||||
if (ACPI_SUCCESS (Status))
|
if (ACPI_SUCCESS (Status))
|
||||||
{
|
{
|
||||||
for (i = 0; i < Level; i++)
|
for (i = 0; i < Level; i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user