DynamicTablesPkg: Add GED Configuration Manager parsers

Add parsers for the Configuration Manager objects describing Generic
Event Devices, their interrupt events, and the actions performed by
event handlers.

This enables the objects to be decoded and traced by the Configuration
Manager object parser.

Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
This commit is contained in:
Varshit Pandya 2026-08-19 12:23:00 +01:00
parent 673b9d8ac6
commit fd3c3b4158

View file

@ -1421,6 +1421,47 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonBaseboardInfoParser[] = {
{ "BoardType", sizeof (UINT8), "0x%x", NULL },
};
/** A parser for EArchCommonObjGedDeviceInfo.
*/
STATIC CONST CM_OBJ_PARSER CmArchCommonGedDeviceInfoParser[] = {
{ "Id", sizeof (UINT32), "0x%x", NULL },
{
"RegisterRegion",
sizeof (CM_ARCH_COMMON_MEMORY_RANGE_DESCRIPTOR),
NULL,
NULL,
CmArchCommonObjMemoryRangeDescriptor,
ARRAY_SIZE (CmArchCommonObjMemoryRangeDescriptor)
},
{ "EventInfoToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
};
/** A parser for EArchCommonObjGedEventInfo.
*/
STATIC CONST CM_OBJ_PARSER CmArchCommonGedEventInfoParser[] = {
{
"EventInterrupt",
sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
NULL,
NULL,
CmArchCommonGenericInterruptParser,
ARRAY_SIZE (CmArchCommonGenericInterruptParser)
},
{ "Shared", sizeof (BOOLEAN), "%u", NULL },
{ "ActionInfoToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
};
/** A parser for EArchCommonObjGedActionInfo.
*/
STATIC CONST CM_OBJ_PARSER CmArchCommonGedActionInfoParser[] = {
{ "ActionType", sizeof (CM_ARCH_COMMON_GED_ACTION_TYPE), "0x%x", NULL },
{ "RegisterOffset", sizeof (UINT64), "0x%llx", NULL },
{ "RegisterBitWidth", sizeof (UINT32), "%u", NULL },
{ "Value", sizeof (UINT64), "0x%llx", NULL },
{ "NotifyObject", sizeof (CONST CHAR8 *), NULL, PrintStringPtr },
{ "NotifyValue", sizeof (UINT8), "0x%x", NULL },
};
/** A parser for Arch Common namespace objects.
*/
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
@ -1500,6 +1541,9 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArchCommonObjEnclosureElement, CmArchCommonEnclosureElementParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjBaseboardInfo, CmArchCommonBaseboardInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjBaseboardContainedObject, CmArchCommonBaseboardContainedObjectParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjGedDeviceInfo, CmArchCommonGedDeviceInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjGedEventInfo, CmArchCommonGedEventInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjGedActionInfo, CmArchCommonGedActionInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};