thanks Olivier for the patches.
I am able to try these patches on our simulator for basic functionality.
i think, it is better to use ArmGicGetSupportedArchRevision to get the GIC version in file ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/RTSMSec.c.
--- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/RTSMSec.c
+++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/RTSMSec.c
@@ -56,7 +56,7 @@ ArmPlatformSecInitialize (
IN UINTN MpId
)
{
- UINT32 Identification;
+ ARM_GIC_ARCH_REVISION Revision;^M
// If it is not the primary core then there is nothing to do
if (!ArmPlatformIsPrimaryCore (MpId)) {
@@ -73,13 +73,12 @@ ArmPlatformSecInitialize (
MmioAndThenOr32 (SP810_CTRL_BASE + SP810_SYS_CTRL_REG, ~SP810_SYS_CTRL_TIMER3_EN, SP810_SYS_CTRL_TIMER3_TIMCLK);
// Read the GIC Identification Register
- Identification = ArmGicGetInterfaceIdentification (PcdGet32 (PcdGicInterruptInterfaceBase));
-
+ Revision = ArmGicGetSupportedArchRevision ();^M
// Check if we are GICv3
- if (ARM_GIC_ICCIIDR_GET_ARCH_VERSION(Identification) >= 0x3) {
+ if (Revision == ARM_GIC_ARCH_REVISION_3) {^M
InitializeGicV3 ();
}
-
+^M
return RETURN_SUCCESS;
}
btw, not able to apply your patches using git am, however able to apply cleanly using patch command.
regards
ganapat