diff options
Diffstat (limited to 'source/components')
-rw-r--r-- | source/components/debugger/dbdisply.c | 33 | ||||
-rw-r--r-- | source/components/executer/exdump.c | 41 |
2 files changed, 62 insertions, 12 deletions
diff --git a/source/components/debugger/dbdisply.c b/source/components/debugger/dbdisply.c index 2c5ef74a4..751989519 100644 --- a/source/components/debugger/dbdisply.c +++ b/source/components/debugger/dbdisply.c @@ -451,7 +451,7 @@ DumpNode: else { - AcpiOsPrintf ("Object (%p) Pathname: %s\n", + AcpiOsPrintf ("Object %p: Namespace Node - Pathname: %s\n", Node, (char *) RetBuf.Pointer); } @@ -468,7 +468,7 @@ DumpNode: ObjDesc = AcpiNsGetAttachedObject (Node); if (ObjDesc) { - AcpiOsPrintf ("\nAttached Object (%p):\n", ObjDesc); + AcpiOsPrintf ("\nAttached Object %p:", ObjDesc); if (!AcpiOsReadable (ObjDesc, sizeof (ACPI_OPERAND_OBJECT))) { AcpiOsPrintf ("Invalid internal ACPI Object at address %p\n", @@ -476,8 +476,33 @@ DumpNode: return; } - AcpiUtDebugDumpBuffer ((void *) ObjDesc, - sizeof (ACPI_OPERAND_OBJECT), Display, ACPI_UINT32_MAX); + if (ACPI_GET_DESCRIPTOR_TYPE ( + ((ACPI_NAMESPACE_NODE *) ObjDesc)) == ACPI_DESC_TYPE_NAMED) + { + AcpiOsPrintf (" Namespace Node - "); + Status = AcpiGetName ((ACPI_NAMESPACE_NODE *) ObjDesc, + ACPI_FULL_PATHNAME_NO_TRAILING, &RetBuf); + if (ACPI_FAILURE (Status)) + { + AcpiOsPrintf ("Could not convert name to pathname\n"); + } + else + { + AcpiOsPrintf ("Pathname: %s", + (char *) RetBuf.Pointer); + } + + AcpiOsPrintf ("\n"); + AcpiUtDebugDumpBuffer ((void *) ObjDesc, + sizeof (ACPI_NAMESPACE_NODE), Display, ACPI_UINT32_MAX); + } + else + { + AcpiOsPrintf ("\n"); + AcpiUtDebugDumpBuffer ((void *) ObjDesc, + sizeof (ACPI_OPERAND_OBJECT), Display, ACPI_UINT32_MAX); + } + AcpiExDumpObjectDescriptor (ObjDesc, 1); } } diff --git a/source/components/executer/exdump.c b/source/components/executer/exdump.c index 2b23881f1..c1069b2c9 100644 --- a/source/components/executer/exdump.c +++ b/source/components/executer/exdump.c @@ -229,7 +229,7 @@ static ACPI_EXDUMP_INFO AcpiExDumpPackage[6] = {ACPI_EXD_INIT, ACPI_EXD_TABLE_SIZE (AcpiExDumpPackage), NULL}, {ACPI_EXD_NODE, ACPI_EXD_OFFSET (Package.Node), "Parent Node"}, {ACPI_EXD_UINT8, ACPI_EXD_OFFSET (Package.Flags), "Flags"}, - {ACPI_EXD_UINT32, ACPI_EXD_OFFSET (Package.Count), "Elements"}, + {ACPI_EXD_UINT32, ACPI_EXD_OFFSET (Package.Count), "Element Count"}, {ACPI_EXD_POINTER, ACPI_EXD_OFFSET (Package.Elements), "Element List"}, {ACPI_EXD_PACKAGE, 0, NULL} }; @@ -510,6 +510,11 @@ AcpiExDumpObject ( while (Count) { + if (!ObjDesc) + { + return; + } + Target = ACPI_ADD_PTR (UINT8, ObjDesc, Info->Offset); Name = Info->Name; @@ -522,7 +527,8 @@ AcpiExDumpObject ( case ACPI_EXD_TYPE: AcpiOsPrintf ("%20s : %2.2X [%s]\n", "Type", - ObjDesc->Common.Type, AcpiUtGetObjectTypeName (ObjDesc)); + ObjDesc->Common.Type, + AcpiUtGetObjectTypeName (ObjDesc)); break; case ACPI_EXD_UINT8: @@ -588,10 +594,10 @@ AcpiExDumpObject ( Start = *ACPI_CAST_PTR (void *, Target); Next = Start; - AcpiOsPrintf ("%20s : %p", Name, Next); + AcpiOsPrintf ("%20s : %p ", Name, Next); if (Next) { - AcpiOsPrintf ("(%s %2.2X)", + AcpiOsPrintf ("%s (Type %2.2X)", AcpiUtGetObjectTypeName (Next), Next->Common.Type); while (Next->Common.NextObject) @@ -614,6 +620,10 @@ AcpiExDumpObject ( } } } + else + { + AcpiOsPrintf ("- No attached objects"); + } AcpiOsPrintf ("\n"); break; @@ -1294,7 +1304,8 @@ AcpiExDumpPackageObj ( default: - AcpiOsPrintf ("[Unknown Type] %X\n", ObjDesc->Common.Type); + AcpiOsPrintf ("[%s] Type: %2.2X\n", + AcpiUtGetTypeName (ObjDesc->Common.Type), ObjDesc->Common.Type); break; } } @@ -1338,10 +1349,19 @@ AcpiExDumpObjectDescriptor ( { AcpiExDumpNamespaceNode ((ACPI_NAMESPACE_NODE *) ObjDesc, Flags); - AcpiOsPrintf ("\nAttached Object (%p):\n", - ((ACPI_NAMESPACE_NODE *) ObjDesc)->Object); - ObjDesc = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Object; + if (!ObjDesc) + { + return_VOID; + } + + AcpiOsPrintf ("\nAttached Object %p", ObjDesc); + if (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc) == ACPI_DESC_TYPE_NAMED) + { + AcpiOsPrintf (" - Namespace Node"); + } + + AcpiOsPrintf (":\n"); goto DumpObject; } @@ -1365,6 +1385,11 @@ AcpiExDumpObjectDescriptor ( DumpObject: + if (!ObjDesc) + { + return_VOID; + } + /* Common Fields */ AcpiExDumpObject (ObjDesc, AcpiExDumpCommon); |