diff options
Diffstat (limited to 'sys/contrib/dev/acpica/exdump.c')
-rw-r--r-- | sys/contrib/dev/acpica/exdump.c | 459 |
1 files changed, 250 insertions, 209 deletions
diff --git a/sys/contrib/dev/acpica/exdump.c b/sys/contrib/dev/acpica/exdump.c index 63ea268..6b0a455 100644 --- a/sys/contrib/dev/acpica/exdump.c +++ b/sys/contrib/dev/acpica/exdump.c @@ -1,7 +1,7 @@ /****************************************************************************** * * Module Name: exdump - Interpreter debug output routines - * $Revision: 126 $ + * $Revision: 138 $ * *****************************************************************************/ @@ -164,9 +164,15 @@ AcpiExShowHexValue ( FUNCTION_TRACE ("ExShowHexValue"); + if (!((ACPI_LV_LOAD & AcpiDbgLevel) && (_COMPONENT & AcpiDbgLayer))) + { + return; + } + if (!AmlStart) { REPORT_ERROR (("ExShowHexValue: null pointer\n")); + return; } /* @@ -194,30 +200,29 @@ AcpiExShowHexValue ( for (Length = LeadSpace; Length; --Length ) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, " ")); + AcpiOsPrintf (" "); } while (ByteCount--) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, "%02x", *AmlStart++)); - + AcpiOsPrintf ("%02x", *AmlStart++); if (ByteCount) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, " ")); + AcpiOsPrintf (" "); } } if (ShowDecimalValue) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, " [%d]", Value)); + AcpiOsPrintf (" [%d]", Value); } if (0 == LeadSpace) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, " ")); + AcpiOsPrintf (" "); } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_LOAD, "\n")); + AcpiOsPrintf ("\n"); return_VOID; } @@ -246,6 +251,11 @@ AcpiExDumpOperand ( PROC_NAME ("ExDumpOperand") + if (!((ACPI_LV_INFO & AcpiDbgLevel) && (_COMPONENT & AcpiDbgLayer))) + { + return (AE_OK); + } + if (!EntryDesc) { /* @@ -283,31 +293,31 @@ AcpiExDumpOperand ( { case AML_ZERO_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Zero\n")); + AcpiOsPrintf ("Reference: Zero\n"); break; case AML_ONE_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: One\n")); + AcpiOsPrintf ("Reference: One\n"); break; case AML_ONES_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Ones\n")); + AcpiOsPrintf ("Reference: Ones\n"); break; case AML_REVISION_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Revision\n")); + AcpiOsPrintf ("Reference: Revision\n"); break; case AML_DEBUG_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Debug\n")); + AcpiOsPrintf ("Reference: Debug\n"); break; @@ -321,59 +331,59 @@ AcpiExDumpOperand ( case AML_INDEX_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Index %p\n", - EntryDesc->Reference.Object)); + AcpiOsPrintf ("Reference: Index %p\n", + EntryDesc->Reference.Object); break; case AML_ARG_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Arg%d", - EntryDesc->Reference.Offset)); + AcpiOsPrintf ("Reference: Arg%d", + EntryDesc->Reference.Offset); if (ACPI_TYPE_INTEGER == EntryDesc->Common.Type) { /* Value is a Number */ - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " value is [%8.8X%8.8x]", + AcpiOsPrintf (" value is [%8.8X%8.8x]", HIDWORD(EntryDesc->Integer.Value), - LODWORD(EntryDesc->Integer.Value))); + LODWORD(EntryDesc->Integer.Value)); } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "\n")); + AcpiOsPrintf ("\n"); break; case AML_LOCAL_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference: Local%d", - EntryDesc->Reference.Offset)); + AcpiOsPrintf ("Reference: Local%d", + EntryDesc->Reference.Offset); if (ACPI_TYPE_INTEGER == EntryDesc->Common.Type) { /* Value is a Number */ - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " value is [%8.8X%8.8x]", + AcpiOsPrintf (" value is [%8.8X%8.8x]", HIDWORD(EntryDesc->Integer.Value), - LODWORD(EntryDesc->Integer.Value))); + LODWORD(EntryDesc->Integer.Value)); } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "\n")); + AcpiOsPrintf ("\n"); break; case AML_INT_NAMEPATH_OP: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Reference.Node->Name %X\n", - EntryDesc->Reference.Node->Name)); + AcpiOsPrintf ("Reference.Node->Name %X\n", + EntryDesc->Reference.Node->Name); break; default: /* unknown opcode */ - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Unknown opcode=%X\n", - EntryDesc->Reference.Opcode)); + AcpiOsPrintf ("Unknown opcode=%X\n", + EntryDesc->Reference.Opcode); break; } @@ -383,9 +393,9 @@ AcpiExDumpOperand ( case ACPI_TYPE_BUFFER: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Buffer len %X @ %p \n", + AcpiOsPrintf ("Buffer len %X @ %p \n", EntryDesc->Buffer.Length, - EntryDesc->Buffer.Pointer)); + EntryDesc->Buffer.Pointer); Length = EntryDesc->Buffer.Length; @@ -398,13 +408,13 @@ AcpiExDumpOperand ( if (EntryDesc->Buffer.Pointer) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Buffer Contents: ")); + AcpiOsPrintf ("Buffer Contents: "); for (Buf = EntryDesc->Buffer.Pointer; Length--; ++Buf) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " %02x", *Buf)); + AcpiOsPrintf (" %02x", *Buf); } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO,"\n")); + AcpiOsPrintf ("\n"); } break; @@ -412,32 +422,32 @@ AcpiExDumpOperand ( case ACPI_TYPE_INTEGER: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Integer %8.8X%8.8X\n", + AcpiOsPrintf ("Integer %8.8X%8.8X\n", HIDWORD (EntryDesc->Integer.Value), - LODWORD (EntryDesc->Integer.Value))); + LODWORD (EntryDesc->Integer.Value)); break; case INTERNAL_TYPE_IF: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "If [Integer] %8.8X%8.8X\n", + AcpiOsPrintf ("If [Integer] %8.8X%8.8X\n", HIDWORD (EntryDesc->Integer.Value), - LODWORD (EntryDesc->Integer.Value))); + LODWORD (EntryDesc->Integer.Value)); break; case INTERNAL_TYPE_WHILE: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "While [Integer] %8.8X%8.8X\n", + AcpiOsPrintf ("While [Integer] %8.8X%8.8X\n", HIDWORD (EntryDesc->Integer.Value), - LODWORD (EntryDesc->Integer.Value))); + LODWORD (EntryDesc->Integer.Value)); break; case ACPI_TYPE_PACKAGE: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Package count %X @ %p\n", - EntryDesc->Package.Count, EntryDesc->Package.Elements)); + AcpiOsPrintf ("Package count %X @ %p\n", + EntryDesc->Package.Count, EntryDesc->Package.Elements); /* * If elements exist, package vector pointer is valid, @@ -458,16 +468,16 @@ AcpiExDumpOperand ( } } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "\n")); + AcpiOsPrintf ("\n"); break; case ACPI_TYPE_REGION: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Region %s (%X)", + AcpiOsPrintf ("Region %s (%X)", AcpiUtGetRegionName (EntryDesc->Region.SpaceId), - EntryDesc->Region.SpaceId)); + EntryDesc->Region.SpaceId); /* * If the address and length have not been evaluated, @@ -475,62 +485,63 @@ AcpiExDumpOperand ( */ if (!(EntryDesc->Region.Flags & AOPOBJ_DATA_VALID)) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "\n")); + AcpiOsPrintf ("\n"); } else { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " base %8.8X%8.8X Length %X\n", + AcpiOsPrintf (" base %8.8X%8.8X Length %X\n", HIDWORD(EntryDesc->Region.Address), LODWORD(EntryDesc->Region.Address), - EntryDesc->Region.Length)); + EntryDesc->Region.Length); } break; case ACPI_TYPE_STRING: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "String length %X @ %p \"", - EntryDesc->String.Length, EntryDesc->String.Pointer)); + AcpiOsPrintf ("String length %X @ %p \"", + EntryDesc->String.Length, EntryDesc->String.Pointer); for (i = 0; i < EntryDesc->String.Length; i++) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "%c", - EntryDesc->String.Pointer[i])); + AcpiOsPrintf ("%c", + EntryDesc->String.Pointer[i]); } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "\"\n")); + AcpiOsPrintf ("\"\n"); break; case INTERNAL_TYPE_BANK_FIELD: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "BankField\n")); + AcpiOsPrintf ("BankField\n"); break; case INTERNAL_TYPE_REGION_FIELD: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, - "RegionField: bits=%X bitaccwidth=%X lock=%X update=%X at byte=%X bit=%X of below:\n", + AcpiOsPrintf ( + "RegionField: Bits=%X BitAccWidth=%X Lock=%X Update=%X at byte=%X bit=%X of below:\n", EntryDesc->Field.BitLength, EntryDesc->Field.AccessBitWidth, - EntryDesc->Field.LockRule, EntryDesc->Field.UpdateRule, - EntryDesc->Field.BaseByteOffset, EntryDesc->Field.StartFieldBitOffset)); + EntryDesc->Field.FieldFlags & AML_FIELD_LOCK_RULE_MASK, + EntryDesc->Field.FieldFlags & AML_FIELD_UPDATE_RULE_MASK, + EntryDesc->Field.BaseByteOffset, EntryDesc->Field.StartFieldBitOffset); DUMP_STACK_ENTRY (EntryDesc->Field.RegionObj); break; case INTERNAL_TYPE_INDEX_FIELD: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "IndexField\n")); + AcpiOsPrintf ("IndexField\n"); break; case ACPI_TYPE_BUFFER_FIELD: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, + AcpiOsPrintf ( "BufferField: %X bits at byte %X bit %X of \n", EntryDesc->BufferField.BitLength, EntryDesc->BufferField.BaseByteOffset, - EntryDesc->BufferField.StartFieldBitOffset)); + EntryDesc->BufferField.StartFieldBitOffset); if (!EntryDesc->BufferField.BufferObj) { @@ -540,7 +551,7 @@ AcpiExDumpOperand ( else if (ACPI_TYPE_BUFFER != EntryDesc->BufferField.BufferObj->Common.Type) { - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "*not a Buffer* \n")); + AcpiOsPrintf ("*not a Buffer* \n"); } else @@ -553,68 +564,54 @@ AcpiExDumpOperand ( case ACPI_TYPE_EVENT: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Event\n")); + AcpiOsPrintf ("Event\n"); break; case ACPI_TYPE_METHOD: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, + AcpiOsPrintf ( "Method(%X) @ %p:%X\n", EntryDesc->Method.ParamCount, - EntryDesc->Method.AmlStart, EntryDesc->Method.AmlLength)); + EntryDesc->Method.AmlStart, EntryDesc->Method.AmlLength); break; case ACPI_TYPE_MUTEX: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Mutex\n")); + AcpiOsPrintf ("Mutex\n"); break; case ACPI_TYPE_DEVICE: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Device\n")); + AcpiOsPrintf ("Device\n"); break; case ACPI_TYPE_POWER: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Power\n")); + AcpiOsPrintf ("Power\n"); break; case ACPI_TYPE_PROCESSOR: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Processor\n")); + AcpiOsPrintf ("Processor\n"); break; case ACPI_TYPE_THERMAL: - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Thermal\n")); + AcpiOsPrintf ("Thermal\n"); break; default: /* unknown EntryDesc->Common.Type value */ - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "Unknown Type %X\n", - EntryDesc->Common.Type)); - - /* Back up to previous entry */ - - EntryDesc--; - - - /* TBD: [Restructure] Change to use dump object routine !! */ - /* What is all of this?? */ - - DUMP_BUFFER (EntryDesc, sizeof (ACPI_OPERAND_OBJECT)); - DUMP_BUFFER (++EntryDesc, sizeof (ACPI_OPERAND_OBJECT)); - DUMP_BUFFER (++EntryDesc, sizeof (ACPI_OPERAND_OBJECT)); + AcpiOsPrintf ("Unknown Type %X\n", EntryDesc->Common.Type); break; - } return (AE_OK); @@ -692,6 +689,57 @@ AcpiExDumpOperands ( /***************************************************************************** * + * FUNCTION: AcpiExOut* + * + * PARAMETERS: Title - Descriptive text + * Value - Value to be displayed + * + * DESCRIPTION: Object dump output formatting functions. These functions + * reduce the number of format strings required and keeps them + * all in one place for easy modification. + * + ****************************************************************************/ + +void +AcpiExOutString ( + char *Title, + char *Value) +{ + AcpiOsPrintf ("%20s : %s\n", Title, Value); +} + +void +AcpiExOutPointer ( + char *Title, + void *Value) +{ + AcpiOsPrintf ("%20s : %p\n", Title, Value); +} + +void +AcpiExOutInteger ( + char *Title, + UINT32 Value) +{ + AcpiOsPrintf ("%20s : %X\n", Title, Value); +} + +void +AcpiExOutAddress ( + char *Title, + ACPI_PHYSICAL_ADDRESS Value) +{ +#ifdef _IA16 + AcpiOsPrintf ("%20s : %p\n", Title, Value); +#else + AcpiOsPrintf ("%20s : %8.8X%8.8X\n", Title, + HIDWORD (Value), LODWORD (Value)); +#endif +} + + +/***************************************************************************** + * * FUNCTION: AcpiExDumpNode * * PARAMETERS: *Node - Descriptor to dump @@ -720,14 +768,14 @@ AcpiExDumpNode ( AcpiOsPrintf ("%20s : %4.4s\n", "Name", (char*)&Node->Name); - AcpiOsPrintf ("%20s : %s\n", "Type", AcpiUtGetTypeName (Node->Type)); - AcpiOsPrintf ("%20s : %X\n", "Flags", Node->Flags); - AcpiOsPrintf ("%20s : %X\n", "Owner Id", Node->OwnerId); - AcpiOsPrintf ("%20s : %X\n", "Reference Count", Node->ReferenceCount); - AcpiOsPrintf ("%20s : %p\n", "Attached Object", Node->Object); - AcpiOsPrintf ("%20s : %p\n", "ChildList", Node->Child); - AcpiOsPrintf ("%20s : %p\n", "NextPeer", Node->Peer); - AcpiOsPrintf ("%20s : %p\n", "Parent", AcpiNsGetParentObject (Node)); + AcpiExOutString ("Type", AcpiUtGetTypeName (Node->Type)); + AcpiExOutInteger ("Flags", Node->Flags); + AcpiExOutInteger ("Owner Id", Node->OwnerId); + AcpiExOutInteger ("Reference Count", Node->ReferenceCount); + AcpiExOutPointer ("Attached Object", AcpiNsGetAttachedObject (Node)); + AcpiExOutPointer ("ChildList", Node->Child); + AcpiExOutPointer ("NextPeer", Node->Peer); + AcpiExOutPointer ("Parent", AcpiNsGetParentObject (Node)); } @@ -747,7 +795,7 @@ AcpiExDumpObjectDescriptor ( ACPI_OPERAND_OBJECT *ObjDesc, UINT32 Flags) { - const ACPI_OPCODE_INFO *OpInfo; + UINT32 i; FUNCTION_TRACE ("ExDumpObjectDescriptor"); @@ -763,14 +811,15 @@ AcpiExDumpObjectDescriptor ( if (!(VALID_DESCRIPTOR_TYPE (ObjDesc, ACPI_DESC_TYPE_INTERNAL))) { - AcpiOsPrintf ("%p is not a valid ACPI object\n", ObjDesc); + AcpiOsPrintf ("ExDumpObjectDescriptor: %p is not a valid ACPI object\n", ObjDesc); return; } /* Common Fields */ - AcpiOsPrintf ("%20s : %X\n", "Reference Count", ObjDesc->Common.ReferenceCount); - AcpiOsPrintf ("%20s : %X\n", "Flags", ObjDesc->Common.Flags); + AcpiExOutString ("Type", AcpiUtGetTypeName (ObjDesc->Common.Type)); + AcpiExOutInteger ("Reference Count", ObjDesc->Common.ReferenceCount); + AcpiExOutInteger ("Flags", ObjDesc->Common.Flags); /* Object-specific Fields */ @@ -778,7 +827,6 @@ AcpiExDumpObjectDescriptor ( { case ACPI_TYPE_INTEGER: - AcpiOsPrintf ("%20s : %s\n", "Type", "Integer"); AcpiOsPrintf ("%20s : %X%8.8X\n", "Value", HIDWORD (ObjDesc->Integer.Value), LODWORD (ObjDesc->Integer.Value)); break; @@ -786,190 +834,181 @@ AcpiExDumpObjectDescriptor ( case ACPI_TYPE_STRING: - AcpiOsPrintf ("%20s : %s\n", "Type", "String"); - AcpiOsPrintf ("%20s : %X\n", "Length", ObjDesc->String.Length); - AcpiOsPrintf ("%20s : %p\n", "Pointer", ObjDesc->String.Pointer); + AcpiExOutInteger ("Length", ObjDesc->String.Length); + AcpiExOutPointer ("Pointer", ObjDesc->String.Pointer); break; case ACPI_TYPE_BUFFER: - AcpiOsPrintf ("%20s : %s\n", "Type", "Buffer"); - AcpiOsPrintf ("%20s : %X\n", "Length", ObjDesc->Buffer.Length); - AcpiOsPrintf ("%20s : %p\n", "Pointer", ObjDesc->Buffer.Pointer); + AcpiExOutInteger ("Length", ObjDesc->Buffer.Length); + AcpiExOutPointer ("Pointer", ObjDesc->Buffer.Pointer); break; case ACPI_TYPE_PACKAGE: - AcpiOsPrintf ("%20s : %s\n", "Type", "Package"); - AcpiOsPrintf ("%20s : %X\n", "Flags", ObjDesc->Package.Flags); - AcpiOsPrintf ("%20s : %X\n", "Count", ObjDesc->Package.Count); - AcpiOsPrintf ("%20s : %p\n", "Elements", ObjDesc->Package.Elements); - AcpiOsPrintf ("%20s : %p\n", "NextElement", ObjDesc->Package.NextElement); - break; - + AcpiExOutInteger ("Flags", ObjDesc->Package.Flags); + AcpiExOutInteger ("Count", ObjDesc->Package.Count); + AcpiExOutPointer ("Elements", ObjDesc->Package.Elements); + AcpiExOutPointer ("NextElement", ObjDesc->Package.NextElement); - case ACPI_TYPE_BUFFER_FIELD: + /* Dump the package contents */ - AcpiOsPrintf ("%20s : %s\n", "Type", "BufferField"); - AcpiOsPrintf ("%20s : %X\n", "BitLength", ObjDesc->BufferField.BitLength); - AcpiOsPrintf ("%20s : %X\n", "BitOffset", ObjDesc->BufferField.StartFieldBitOffset); - AcpiOsPrintf ("%20s : %X\n", "BaseByteOffset",ObjDesc->BufferField.BaseByteOffset); - AcpiOsPrintf ("%20s : %p\n", "BufferObj", ObjDesc->BufferField.BufferObj); + if (ObjDesc->Package.Count > 0) + { + AcpiOsPrintf ("\nPackage Contents:\n"); + for (i = 0; i < ObjDesc->Package.Count; i++) + { + AcpiOsPrintf ("[%.3d] %p", i, ObjDesc->Package.Elements[i]); + if (ObjDesc->Package.Elements[i]) + { + AcpiOsPrintf (" %s", AcpiUtGetTypeName ((ObjDesc->Package.Elements[i])->Common.Type)); + } + AcpiOsPrintf ("\n"); + } + } break; case ACPI_TYPE_DEVICE: - AcpiOsPrintf ("%20s : %s\n", "Type", "Device"); - AcpiOsPrintf ("%20s : %p\n", "AddrHandler", ObjDesc->Device.AddrHandler); - AcpiOsPrintf ("%20s : %p\n", "SysHandler", ObjDesc->Device.SysHandler); - AcpiOsPrintf ("%20s : %p\n", "DrvHandler", ObjDesc->Device.DrvHandler); + AcpiExOutPointer ("AddrHandler", ObjDesc->Device.AddrHandler); + AcpiExOutPointer ("SysHandler", ObjDesc->Device.SysHandler); + AcpiExOutPointer ("DrvHandler", ObjDesc->Device.DrvHandler); break; + case ACPI_TYPE_EVENT: - AcpiOsPrintf ("%20s : %s\n", "Type", "Event"); - AcpiOsPrintf ("%20s : %X\n", "Semaphore", ObjDesc->Event.Semaphore); + AcpiExOutPointer ("Semaphore", ObjDesc->Event.Semaphore); break; case ACPI_TYPE_METHOD: - AcpiOsPrintf ("%20s : %s\n", "Type", "Method"); - AcpiOsPrintf ("%20s : %X\n", "ParamCount", ObjDesc->Method.ParamCount); - AcpiOsPrintf ("%20s : %X\n", "Concurrency", ObjDesc->Method.Concurrency); - AcpiOsPrintf ("%20s : %p\n", "Semaphore", ObjDesc->Method.Semaphore); - AcpiOsPrintf ("%20s : %X\n", "AmlLength", ObjDesc->Method.AmlLength); - AcpiOsPrintf ("%20s : %X\n", "AmlStart", ObjDesc->Method.AmlStart); + AcpiExOutInteger ("ParamCount", ObjDesc->Method.ParamCount); + AcpiExOutInteger ("Concurrency", ObjDesc->Method.Concurrency); + AcpiExOutPointer ("Semaphore", ObjDesc->Method.Semaphore); + AcpiExOutInteger ("AmlLength", ObjDesc->Method.AmlLength); + AcpiExOutPointer ("AmlStart", ObjDesc->Method.AmlStart); break; case ACPI_TYPE_MUTEX: - AcpiOsPrintf ("%20s : %s\n", "Type", "Mutex"); - AcpiOsPrintf ("%20s : %X\n", "SyncLevel", ObjDesc->Mutex.SyncLevel); - AcpiOsPrintf ("%20s : %p\n", "Owner", ObjDesc->Mutex.Owner); - AcpiOsPrintf ("%20s : %X\n", "AcquisitionDepth", ObjDesc->Mutex.AcquisitionDepth); - AcpiOsPrintf ("%20s : %p\n", "Semaphore", ObjDesc->Mutex.Semaphore); + AcpiExOutInteger ("SyncLevel", ObjDesc->Mutex.SyncLevel); + AcpiExOutPointer ("OwnerThread", ObjDesc->Mutex.OwnerThread); + AcpiExOutInteger ("AcquisitionDepth",ObjDesc->Mutex.AcquisitionDepth); + AcpiExOutPointer ("Semaphore", ObjDesc->Mutex.Semaphore); break; case ACPI_TYPE_REGION: - AcpiOsPrintf ("%20s : %s\n", "Type", "Region"); - AcpiOsPrintf ("%20s : %X\n", "SpaceId", ObjDesc->Region.SpaceId); - AcpiOsPrintf ("%20s : %X\n", "Flags", ObjDesc->Region.Flags); - AcpiOsPrintf ("%20s : %X\n", "Address", ObjDesc->Region.Address); - AcpiOsPrintf ("%20s : %X\n", "Length", ObjDesc->Region.Length); - AcpiOsPrintf ("%20s : %p\n", "AddrHandler", ObjDesc->Region.AddrHandler); - AcpiOsPrintf ("%20s : %p\n", "Next", ObjDesc->Region.Next); + AcpiExOutInteger ("SpaceId", ObjDesc->Region.SpaceId); + AcpiExOutInteger ("Flags", ObjDesc->Region.Flags); + AcpiExOutAddress ("Address", ObjDesc->Region.Address); + AcpiExOutInteger ("Length", ObjDesc->Region.Length); + AcpiExOutPointer ("AddrHandler", ObjDesc->Region.AddrHandler); + AcpiExOutPointer ("Next", ObjDesc->Region.Next); break; case ACPI_TYPE_POWER: - AcpiOsPrintf ("%20s : %s\n", "Type", "PowerResource"); - AcpiOsPrintf ("%20s : %X\n", "SystemLevel", ObjDesc->PowerResource.SystemLevel); - AcpiOsPrintf ("%20s : %X\n", "ResourceOrder", ObjDesc->PowerResource.ResourceOrder); - AcpiOsPrintf ("%20s : %p\n", "SysHandler", ObjDesc->PowerResource.SysHandler); - AcpiOsPrintf ("%20s : %p\n", "DrvHandler", ObjDesc->PowerResource.DrvHandler); + AcpiExOutInteger ("SystemLevel", ObjDesc->PowerResource.SystemLevel); + AcpiExOutInteger ("ResourceOrder", ObjDesc->PowerResource.ResourceOrder); + AcpiExOutPointer ("SysHandler", ObjDesc->PowerResource.SysHandler); + AcpiExOutPointer ("DrvHandler", ObjDesc->PowerResource.DrvHandler); break; case ACPI_TYPE_PROCESSOR: - AcpiOsPrintf ("%20s : %s\n", "Type", "Processor"); - AcpiOsPrintf ("%20s : %X\n", "Processor ID", ObjDesc->Processor.ProcId); - AcpiOsPrintf ("%20s : %X\n", "Length", ObjDesc->Processor.Length); - AcpiOsPrintf ("%20s : %X\n", "Address", ObjDesc->Processor.Address); - AcpiOsPrintf ("%20s : %p\n", "SysHandler", ObjDesc->Processor.SysHandler); - AcpiOsPrintf ("%20s : %p\n", "DrvHandler", ObjDesc->Processor.DrvHandler); - AcpiOsPrintf ("%20s : %p\n", "AddrHandler", ObjDesc->Processor.AddrHandler); + AcpiExOutInteger ("Processor ID", ObjDesc->Processor.ProcId); + AcpiExOutInteger ("Length", ObjDesc->Processor.Length); + AcpiExOutInteger ("Address", ObjDesc->Processor.Address); + AcpiExOutPointer ("SysHandler", ObjDesc->Processor.SysHandler); + AcpiExOutPointer ("DrvHandler", ObjDesc->Processor.DrvHandler); + AcpiExOutPointer ("AddrHandler", ObjDesc->Processor.AddrHandler); break; case ACPI_TYPE_THERMAL: - AcpiOsPrintf ("%20s : %s\n", "Type", "ThermalZone"); - AcpiOsPrintf ("%20s : %p\n", "SysHandler", ObjDesc->ThermalZone.SysHandler); - AcpiOsPrintf ("%20s : %p\n", "DrvHandler", ObjDesc->ThermalZone.DrvHandler); - AcpiOsPrintf ("%20s : %p\n", "AddrHandler", ObjDesc->ThermalZone.AddrHandler); + AcpiExOutPointer ("SysHandler", ObjDesc->ThermalZone.SysHandler); + AcpiExOutPointer ("DrvHandler", ObjDesc->ThermalZone.DrvHandler); + AcpiExOutPointer ("AddrHandler", ObjDesc->ThermalZone.AddrHandler); break; + case ACPI_TYPE_BUFFER_FIELD: case INTERNAL_TYPE_REGION_FIELD: - - AcpiOsPrintf ("%20s : %p\n", "AccessBitWidth", ObjDesc->Field.AccessBitWidth); - AcpiOsPrintf ("%20s : %p\n", "BitLength", ObjDesc->Field.BitLength); - AcpiOsPrintf ("%20s : %p\n", "BaseByteOffset",ObjDesc->Field.BaseByteOffset); - AcpiOsPrintf ("%20s : %p\n", "BitOffset", ObjDesc->Field.StartFieldBitOffset); - AcpiOsPrintf ("%20s : %p\n", "RegionObj", ObjDesc->Field.RegionObj); - break; - - case INTERNAL_TYPE_BANK_FIELD: + case INTERNAL_TYPE_INDEX_FIELD: - AcpiOsPrintf ("%20s : %s\n", "Type", "BankField"); - AcpiOsPrintf ("%20s : %X\n", "AccessBitWidth", ObjDesc->BankField.AccessBitWidth); - AcpiOsPrintf ("%20s : %X\n", "LockRule", ObjDesc->BankField.LockRule); - AcpiOsPrintf ("%20s : %X\n", "UpdateRule", ObjDesc->BankField.UpdateRule); - AcpiOsPrintf ("%20s : %X\n", "BitLength", ObjDesc->BankField.BitLength); - AcpiOsPrintf ("%20s : %X\n", "BitOffset", ObjDesc->BankField.StartFieldBitOffset); - AcpiOsPrintf ("%20s : %X\n", "BaseByteOffset", ObjDesc->BankField.BaseByteOffset); - AcpiOsPrintf ("%20s : %X\n", "Value", ObjDesc->BankField.Value); - AcpiOsPrintf ("%20s : %p\n", "RegionObj", ObjDesc->BankField.RegionObj); - AcpiOsPrintf ("%20s : %X\n", "BankRegisterObj", ObjDesc->BankField.BankRegisterObj); - break; + AcpiExOutInteger ("FieldFlags", ObjDesc->CommonField.FieldFlags); + AcpiExOutInteger ("AccessBitWidth", ObjDesc->CommonField.AccessBitWidth); + AcpiExOutInteger ("AccessByteWidth", ObjDesc->CommonField.AccessByteWidth); + AcpiExOutInteger ("BitLength", ObjDesc->CommonField.BitLength); + AcpiExOutInteger ("FldBitOffset", ObjDesc->CommonField.StartFieldBitOffset); + AcpiExOutInteger ("BaseByteOffset", ObjDesc->CommonField.BaseByteOffset); + AcpiExOutInteger ("DatumValidBits", ObjDesc->CommonField.DatumValidBits); + AcpiExOutInteger ("EndFldValidBits", ObjDesc->CommonField.EndFieldValidBits); + AcpiExOutInteger ("EndBufValidBits", ObjDesc->CommonField.EndBufferValidBits); + AcpiExOutPointer ("ParentNode", ObjDesc->CommonField.Node); + + switch (ObjDesc->Common.Type) + { + case ACPI_TYPE_BUFFER_FIELD: + AcpiExOutPointer ("BufferObj", ObjDesc->BufferField.BufferObj); + break; + case INTERNAL_TYPE_REGION_FIELD: + AcpiExOutPointer ("RegionObj", ObjDesc->Field.RegionObj); + break; - case INTERNAL_TYPE_INDEX_FIELD: + case INTERNAL_TYPE_BANK_FIELD: + AcpiExOutInteger ("Value", ObjDesc->BankField.Value); + AcpiExOutPointer ("RegionObj", ObjDesc->BankField.RegionObj); + AcpiExOutPointer ("BankObj", ObjDesc->BankField.BankObj); + break; - AcpiOsPrintf ("%20s : %s\n", "Type", "IndexField"); - AcpiOsPrintf ("%20s : %X\n", "AccessBitWidth", ObjDesc->IndexField.AccessBitWidth); - AcpiOsPrintf ("%20s : %X\n", "LockRule", ObjDesc->IndexField.LockRule); - AcpiOsPrintf ("%20s : %X\n", "UpdateRule", ObjDesc->IndexField.UpdateRule); - AcpiOsPrintf ("%20s : %X\n", "BitLength", ObjDesc->IndexField.BitLength); - AcpiOsPrintf ("%20s : %X\n", "BitOffset", ObjDesc->IndexField.StartFieldBitOffset); - AcpiOsPrintf ("%20s : %X\n", "Value", ObjDesc->IndexField.Value); - AcpiOsPrintf ("%20s : %X\n", "Index", ObjDesc->IndexField.IndexObj); - AcpiOsPrintf ("%20s : %X\n", "Data", ObjDesc->IndexField.DataObj); + case INTERNAL_TYPE_INDEX_FIELD: + AcpiExOutInteger ("Value", ObjDesc->IndexField.Value); + AcpiExOutPointer ("Index", ObjDesc->IndexField.IndexObj); + AcpiExOutPointer ("Data", ObjDesc->IndexField.DataObj); + break; + } break; case INTERNAL_TYPE_REFERENCE: - OpInfo = AcpiPsGetOpcodeInfo (ObjDesc->Reference.Opcode); - - AcpiOsPrintf ("%20s : %s\n", "Type", "Reference"); - AcpiOsPrintf ("%20s : %X\n", "TargetType", ObjDesc->Reference.TargetType); - AcpiOsPrintf ("%20s : %s\n", "Opcode", OpInfo->Name); - AcpiOsPrintf ("%20s : %X\n", "Offset", ObjDesc->Reference.Offset); - AcpiOsPrintf ("%20s : %p\n", "ObjDesc", ObjDesc->Reference.Object); - AcpiOsPrintf ("%20s : %p\n", "Node", ObjDesc->Reference.Node); - AcpiOsPrintf ("%20s : %p\n", "Where", ObjDesc->Reference.Where); + AcpiExOutInteger ("TargetType", ObjDesc->Reference.TargetType); + AcpiExOutString ("Opcode", (AcpiPsGetOpcodeInfo (ObjDesc->Reference.Opcode))->Name); + AcpiExOutInteger ("Offset", ObjDesc->Reference.Offset); + AcpiExOutPointer ("ObjDesc", ObjDesc->Reference.Object); + AcpiExOutPointer ("Node", ObjDesc->Reference.Node); + AcpiExOutPointer ("Where", ObjDesc->Reference.Where); break; case INTERNAL_TYPE_ADDRESS_HANDLER: - AcpiOsPrintf ("%20s : %s\n", "Type", "Address Handler"); - AcpiOsPrintf ("%20s : %X\n", "SpaceId", ObjDesc->AddrHandler.SpaceId); - AcpiOsPrintf ("%20s : %p\n", "Next", ObjDesc->AddrHandler.Next); - AcpiOsPrintf ("%20s : %p\n", "RegionList", ObjDesc->AddrHandler.RegionList); - AcpiOsPrintf ("%20s : %p\n", "Node", ObjDesc->AddrHandler.Node); - AcpiOsPrintf ("%20s : %p\n", "Handler", ObjDesc->AddrHandler.Handler); - AcpiOsPrintf ("%20s : %p\n", "Context", ObjDesc->AddrHandler.Context); + AcpiExOutInteger ("SpaceId", ObjDesc->AddrHandler.SpaceId); + AcpiExOutPointer ("Next", ObjDesc->AddrHandler.Next); + AcpiExOutPointer ("RegionList", ObjDesc->AddrHandler.RegionList); + AcpiExOutPointer ("Node", ObjDesc->AddrHandler.Node); + AcpiExOutPointer ("Context", ObjDesc->AddrHandler.Context); break; case INTERNAL_TYPE_NOTIFY: - AcpiOsPrintf ("%20s : %s\n", "Type", "Notify Handler"); - AcpiOsPrintf ("%20s : %p\n", "Node", ObjDesc->NotifyHandler.Node); - AcpiOsPrintf ("%20s : %p\n", "Handler", ObjDesc->NotifyHandler.Handler); - AcpiOsPrintf ("%20s : %p\n", "Context", ObjDesc->NotifyHandler.Context); + AcpiExOutPointer ("Node", ObjDesc->NotifyHandler.Node); + AcpiExOutPointer ("Context", ObjDesc->NotifyHandler.Context); break; @@ -982,15 +1021,17 @@ AcpiExDumpObjectDescriptor ( case INTERNAL_TYPE_WHILE: case INTERNAL_TYPE_SCOPE: case INTERNAL_TYPE_DEF_ANY: + case INTERNAL_TYPE_EXTRA: + case INTERNAL_TYPE_DATA: - AcpiOsPrintf ("*** Structure display not implemented for type %X! ***\n", + AcpiOsPrintf ("ExDumpObjectDescriptor: Display not implemented for object type %X\n", ObjDesc->Common.Type); break; default: - AcpiOsPrintf ("*** Cannot display unknown type %X! ***\n", ObjDesc->Common.Type); + AcpiOsPrintf ("ExDumpObjectDescriptor: Unknown object type %X\n", ObjDesc->Common.Type); break; } |