diff options
author | Robert Moore <Robert.Moore@intel.com> | 2011-01-28 12:35:43 -0800 |
---|---|---|
committer | Robert Moore <Robert.Moore@intel.com> | 2011-01-28 12:35:43 -0800 |
commit | 21575b86a8b3073fccfe50484143d3fd9d247adc (patch) | |
tree | 641d5180423e9d145eca2bb336108d3f16811877 /source/components/debugger/dbdisply.c | |
parent | d82328f2718d7620d438ea295898399c35ebf30e (diff) | |
download | acpica-21575b86a8b3073fccfe50484143d3fd9d247adc.tar.gz |
Debugger: Update/cleanup display handlers command
Improved output and code cleanup.
Diffstat (limited to 'source/components/debugger/dbdisply.c')
-rw-r--r-- | source/components/debugger/dbdisply.c | 111 |
1 files changed, 82 insertions, 29 deletions
diff --git a/source/components/debugger/dbdisply.c b/source/components/debugger/dbdisply.c index 9ef02d243..3cf89eda5 100644 --- a/source/components/debugger/dbdisply.c +++ b/source/components/debugger/dbdisply.c @@ -971,8 +971,45 @@ AcpiDbDisplayGpes ( * ******************************************************************************/ -#define ACPI_PREDEFINED_HANDLER_STRING "%27s (%.2u) : %-9s (%p)\n" -#define ACPI_GLOBAL_HANDLER_STRING "%32s : %-9s (%p)\n" +#define ACPI_PREDEFINED_PREFIX "%25s (%.2X) : " +#define ACPI_HANDLER_NAME_STRING "%30s : " +#define ACPI_HANDLER_PRESENT_STRING "%-9s (%p)\n" +#define ACPI_HANDLER_NOT_PRESENT_STRING "%-9s\n" + +/* All predefined Space IDs */ + +static ACPI_ADR_SPACE_TYPE SpaceIdList[] = +{ + ACPI_ADR_SPACE_SYSTEM_MEMORY, + ACPI_ADR_SPACE_SYSTEM_IO, + ACPI_ADR_SPACE_PCI_CONFIG, + ACPI_ADR_SPACE_EC, + ACPI_ADR_SPACE_SMBUS, + ACPI_ADR_SPACE_CMOS, + ACPI_ADR_SPACE_PCI_BAR_TARGET, + ACPI_ADR_SPACE_IPMI, + ACPI_ADR_SPACE_DATA_TABLE, + ACPI_ADR_SPACE_FIXED_HARDWARE +}; + +/* Global handler information */ + +typedef struct acpi_handler_info +{ + void *Handler; + char *Name; + +} ACPI_HANDLER_INFO; + +ACPI_HANDLER_INFO HandlerList[] = +{ + {&AcpiGbl_SystemNotify.Handler, "System Notifications"}, + {&AcpiGbl_DeviceNotify.Handler, "Device Notifications"}, + {&AcpiGbl_TableHandler, "ACPI Table Events"}, + {&AcpiGbl_ExceptionHandler, "Control Method Exceptions"}, + {&AcpiGbl_InterfaceHandler, "OSI Invocations"} +}; + void AcpiDbDisplayHandlers ( @@ -980,66 +1017,82 @@ AcpiDbDisplayHandlers ( { ACPI_OPERAND_OBJECT *ObjDesc; ACPI_OPERAND_OBJECT *HandlerObj; + ACPI_ADR_SPACE_TYPE SpaceId; UINT32 i; /* Operation region handlers */ - AcpiOsPrintf ("\nOperation Region Handlers\n"); + AcpiOsPrintf ("\nOperation Region Handlers:\n"); ObjDesc = AcpiNsGetAttachedObject (AcpiGbl_RootNode); if (ObjDesc) { - for (i = 0; i < ACPI_NUM_PREDEFINED_REGIONS; i++) + for (i = 0; i < ACPI_ARRAY_LENGTH (SpaceIdList); i++) { + SpaceId = SpaceIdList[i]; HandlerObj = ObjDesc->Device.Handler; + + AcpiOsPrintf (ACPI_PREDEFINED_PREFIX, + AcpiUtGetRegionName ((UINT8) SpaceId), SpaceId); + while (HandlerObj) { if (i == HandlerObj->AddressSpace.SpaceId) { - AcpiOsPrintf (ACPI_PREDEFINED_HANDLER_STRING, - AcpiUtGetRegionName ((UINT8) i), i, + AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING, (HandlerObj->AddressSpace.HandlerFlags & - ACPI_ADDR_HANDLER_DEFAULT_INSTALLED) ? "Default" : "Custom", + ACPI_ADDR_HANDLER_DEFAULT_INSTALLED) ? "Default" : "User", HandlerObj->AddressSpace.Handler); - break; + goto FoundHandler; } HandlerObj = HandlerObj->AddressSpace.Next; } + + /* There is no handler for this SpaceId */ + + AcpiOsPrintf ("None\n"); + + FoundHandler:; } } /* Fixed event handlers */ - AcpiOsPrintf ("\nFixed Event Handlers\n"); + AcpiOsPrintf ("\nFixed Event Handlers:\n"); for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) { - AcpiOsPrintf (ACPI_PREDEFINED_HANDLER_STRING, AcpiUtGetEventName (i), i, - AcpiGbl_FixedEventHandlers[i].Handler ? "Yes" : "No", - AcpiGbl_FixedEventHandlers[i].Handler); + AcpiOsPrintf (ACPI_PREDEFINED_PREFIX, AcpiUtGetEventName (i), i); + if (AcpiGbl_FixedEventHandlers[i].Handler) + { + AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING, "User", + AcpiGbl_FixedEventHandlers[i].Handler); + } + else + { + AcpiOsPrintf (ACPI_HANDLER_NOT_PRESENT_STRING, "None"); + } } /* Miscellaneous global handlers */ - AcpiOsPrintf ("\nMiscellaneous Handlers\n"); - - AcpiOsPrintf (ACPI_GLOBAL_HANDLER_STRING, "Global Interface Handler", - AcpiGbl_InterfaceHandler ? "Yes" : "No", - AcpiGbl_InterfaceHandler); - AcpiOsPrintf (ACPI_GLOBAL_HANDLER_STRING, "Global Table Handler", - AcpiGbl_TableHandler ? "Yes" : "No", - AcpiGbl_TableHandler); - AcpiOsPrintf (ACPI_GLOBAL_HANDLER_STRING, "Global Exception Handler", - AcpiGbl_ExceptionHandler ? "Yes" : "No", - AcpiGbl_ExceptionHandler); - AcpiOsPrintf (ACPI_GLOBAL_HANDLER_STRING, "Global System Notify Handler", - AcpiGbl_SystemNotify.Handler ? "Yes" : "No", - AcpiGbl_SystemNotify.Handler); - AcpiOsPrintf (ACPI_GLOBAL_HANDLER_STRING, "Global Device Notify Handler", - AcpiGbl_DeviceNotify.Handler ? "Yes" : "No", - AcpiGbl_DeviceNotify.Handler); + AcpiOsPrintf ("\nMiscellaneous Global Handlers:\n"); + + for (i = 0; i < ACPI_ARRAY_LENGTH (HandlerList); i++) + { + AcpiOsPrintf (ACPI_HANDLER_NAME_STRING, HandlerList[i].Name); + if (HandlerList[i].Handler) + { + AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING, "User", + HandlerList[i].Handler); + } + else + { + AcpiOsPrintf (ACPI_HANDLER_NOT_PRESENT_STRING, "None"); + } + } } #endif /* ACPI_DEBUGGER */ |