diff options
Diffstat (limited to 'source/components/executer/exdump.c')
-rw-r--r-- | source/components/executer/exdump.c | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/source/components/executer/exdump.c b/source/components/executer/exdump.c index 2b23881f16cd..c1069b2c9f5d 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); |