summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Gondois <pierre.gondois@arm.com>2026-06-08 10:36:38 +0200
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2026-06-29 07:45:14 +0000
commitc70de6b4ed9c4525781ba5ba0fee94c237712e54 (patch)
tree482e834a8ec704015e6c22e2c1e1464c62aa2df8
parent3ca262e05ca5e0b2674f12e9d73046b26011c40f (diff)
downloadedk2-c70de6b4ed9c4525781ba5ba0fee94c237712e54.tar.gz
edk2-c70de6b4ed9c4525781ba5ba0fee94c237712e54.zip
DynamicTablesPkg/CmObjParser: Use common interrupt parser
CmArmDmc620PmuRegInfoParser only parses the interrupt field without parsing the interrupt flags. Fix it. Also make CmArmCmn600InfoParser use the common interrupt parser instead of separately printing the interrupt number and flag. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
-rw-r--r--DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 92f9a0c110..dd97db16f8 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -417,26 +417,32 @@ STATIC CONST CM_OBJ_PARSER CmArmDmc620PmuSocketInfoParser[] = {
/** A parser for EArmObjDmc620PmuRegInfo.
*/
STATIC CONST CM_OBJ_PARSER CmArmDmc620PmuRegInfoParser[] = {
- { "BaseAddress", 8, "0x%llx", NULL },
- { "Length", 8, "0x%llx", NULL },
- { "PmuIntr", 4, "0x%x", NULL },
+ { "BaseAddress", 8, "0x%llx", NULL },
+ { "Length", 8, "0x%llx", NULL },
+ { "PmuIntr", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
+ NULL, NULL, CmArchCommonGenericInterruptParser,
+ ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
};
/** A parser for EArmObjCmn600Info.
*/
STATIC CONST CM_OBJ_PARSER CmArmCmn600InfoParser[] = {
- { "PeriphBaseAddress", 8, "0x%llx", NULL },
- { "PeriphBaseAddressLength", 8, "0x%llx", NULL },
- { "RootNodeBaseAddress", 8, "0x%llx", NULL },
- { "DtcCount", 1, "0x%x", NULL },
- { "DtcInterrupt[0]", 4, "0x%x", NULL },
- { "DtcFlags[0]", 4, "0x%x", NULL },
- { "DtcInterrupt[1]", 4, "0x%x", NULL },
- { "DtcFlags[1]", 4, "0x%x", NULL },
- { "DtcInterrupt[2]", 4, "0x%x", NULL },
- { "DtcFlags[2]", 4, "0x%x", NULL },
- { "DtcInterrupt[3]", 4, "0x%x", NULL },
- { "DtcFlags[3]", 4, "0x%x", NULL }
+ { "PeriphBaseAddress", 8, "0x%llx", NULL },
+ { "PeriphBaseAddressLength", 8, "0x%llx", NULL },
+ { "RootNodeBaseAddress", 8, "0x%llx", NULL },
+ { "DtcCount", 1, "0x%x", NULL },
+ { "DtcIntr[0]", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
+ NULL, NULL, CmArchCommonGenericInterruptParser,
+ ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
+ { "DtcIntr[1]", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
+ NULL, NULL, CmArchCommonGenericInterruptParser,
+ ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
+ { "DtcIntr[2]", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
+ NULL, NULL, CmArchCommonGenericInterruptParser,
+ ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
+ { "DtcIntr[3]", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
+ NULL, NULL, CmArchCommonGenericInterruptParser,
+ ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
};
/** A parser for the EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE structure.