aboutsummaryrefslogtreecommitdiff
path: root/debugger/dbcmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'debugger/dbcmds.c')
-rw-r--r--debugger/dbcmds.c95
1 files changed, 55 insertions, 40 deletions
diff --git a/debugger/dbcmds.c b/debugger/dbcmds.c
index a316b4292c27..5504535af3ca 100644
--- a/debugger/dbcmds.c
+++ b/debugger/dbcmds.c
@@ -500,17 +500,16 @@ AcpiDbWalkForExecute (
void *Context,
void **ReturnValue)
{
- ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
- UINT32 *Count = (UINT32 *) Context;
- const ACPI_PREDEFINED_INFO *Predefined;
- ACPI_BUFFER ReturnObj;
- ACPI_STATUS Status;
- char *Pathname;
- ACPI_BUFFER Buffer;
+ ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
+ UINT32 *Count = (UINT32 *) Context;
+ ACPI_BUFFER ReturnObj;
+ ACPI_STATUS Status;
+ char *Pathname;
UINT32 i;
ACPI_DEVICE_INFO *ObjInfo;
ACPI_OBJECT_LIST ParamObjects;
ACPI_OBJECT Params[ACPI_METHOD_NUM_ARGS];
+ const ACPI_PREDEFINED_INFO *Predefined;
Predefined = AcpiNsCheckForPredefinedName (Node);
@@ -532,8 +531,7 @@ AcpiDbWalkForExecute (
/* Get the object info for number of method parameters */
- Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER;
- Status = AcpiGetObjectInfo (ObjHandle, &Buffer);
+ Status = AcpiGetObjectInfo (ObjHandle, &ObjInfo);
if (ACPI_FAILURE (Status))
{
return (Status);
@@ -542,7 +540,6 @@ AcpiDbWalkForExecute (
ParamObjects.Pointer = NULL;
ParamObjects.Count = 0;
- ObjInfo = Buffer.Pointer;
if (ObjInfo->Type == ACPI_TYPE_METHOD)
{
@@ -558,7 +555,7 @@ AcpiDbWalkForExecute (
ParamObjects.Count = ObjInfo->ParamCount;
}
- ACPI_FREE (Buffer.Pointer);
+ ACPI_FREE (ObjInfo);
ReturnObj.Pointer = NULL;
ReturnObj.Length = ACPI_ALLOCATE_BUFFER;
@@ -1993,11 +1990,16 @@ AcpiDbBusWalk (
ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
ACPI_STATUS Status;
ACPI_BUFFER Buffer;
- ACPI_INTEGER ADR;
- ACPI_DEVICE_ID Id;
- ACPI_COMPATIBLE_ID_LIST *Cid;
ACPI_NAMESPACE_NODE *TempNode;
+ ACPI_DEVICE_INFO *Info;
+ UINT32 i;
+
+ if ((Node->Type != ACPI_TYPE_DEVICE) &&
+ (Node->Type != ACPI_TYPE_PROCESSOR))
+ {
+ return (AE_OK);
+ }
/* Exit if there is no _PRT under this device */
@@ -2018,57 +2020,70 @@ AcpiDbBusWalk (
return (AE_OK);
}
+ Status = AcpiGetObjectInfo (ObjHandle, &Info);
+ if (ACPI_FAILURE (Status))
+ {
+ return (AE_OK);
+ }
+
/* Display the full path */
- AcpiOsPrintf ("%-32s", (char *) Buffer.Pointer);
+ AcpiOsPrintf ("%-32s Type %X", (char *) Buffer.Pointer, Node->Type);
ACPI_FREE (Buffer.Pointer);
+ if (Info->Flags & ACPI_PCI_ROOT_BRIDGE)
+ {
+ AcpiOsPrintf (" - Is PCI Root Bridge");
+ }
+ AcpiOsPrintf ("\n");
+
/* _PRT info */
- AcpiOsPrintf ("_PRT=%p", TempNode);
+ AcpiOsPrintf ("_PRT: %p\n", TempNode);
- /* Get the _ADR value */
+ /* Dump _ADR, _HID, _UID, _CID */
- Status = AcpiUtEvaluateNumericObject (METHOD_NAME__ADR, Node, &ADR);
- if (ACPI_FAILURE (Status))
+ if (Info->Valid & ACPI_VALID_ADR)
{
- AcpiOsPrintf (" No _ADR ");
+ AcpiOsPrintf ("_ADR: %8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Info->Address));
}
else
{
- AcpiOsPrintf (" _ADR=%8.8X", (UINT32) ADR);
+ AcpiOsPrintf ("_ADR: <Not Present>\n");
}
- /* Get the _HID if present */
-
- Status = AcpiUtExecute_HID (Node, &Id);
- if (ACPI_SUCCESS (Status))
+ if (Info->Valid & ACPI_VALID_HID)
{
- AcpiOsPrintf (" _HID=%s", Id.Value);
+ AcpiOsPrintf ("_HID: %s\n", Info->HardwareId.String);
}
else
{
- AcpiOsPrintf (" ");
+ AcpiOsPrintf ("_HID: <Not Present>\n");
}
- /* Get the _UID if present */
-
- Status = AcpiUtExecute_UID (Node, &Id);
- if (ACPI_SUCCESS (Status))
+ if (Info->Valid & ACPI_VALID_UID)
{
- AcpiOsPrintf (" _UID=%s", Id.Value);
+ AcpiOsPrintf ("_UID: %s\n", Info->UniqueId.String);
+ }
+ else
+ {
+ AcpiOsPrintf ("_UID: <Not Present>\n");
}
- /* Get the _CID if present */
-
- Status = AcpiUtExecute_CID (Node, &Cid);
- if (ACPI_SUCCESS (Status))
+ if (Info->Valid & ACPI_VALID_CID)
{
- AcpiOsPrintf (" _CID=%s", Cid->Id[0].Value);
- ACPI_FREE (Cid);
+ for (i = 0; i < Info->CompatibleIdList.Count; i++)
+ {
+ AcpiOsPrintf ("_CID: %s\n",
+ Info->CompatibleIdList.Ids[i].String);
+ }
+ }
+ else
+ {
+ AcpiOsPrintf ("_CID: <Not Present>\n");
}
- AcpiOsPrintf ("\n");
+ ACPI_FREE (Info);
return (AE_OK);
}
@@ -2091,7 +2106,7 @@ AcpiDbGetBusInfo (
{
/* Search all nodes in namespace */
- (void) AcpiWalkNamespace (ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
+ (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
AcpiDbBusWalk, NULL, NULL);
}