diff options
Diffstat (limited to 'ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c')
-rw-r--r-- | ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c b/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c index e2538f1798..31572438d9 100644 --- a/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c +++ b/ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c @@ -32,6 +32,10 @@ ArmGicEnableDistributor ( if (Revision == ARM_GIC_ARCH_REVISION_2) {
MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);
} else {
- MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x2);
+ if (MmioRead32 (GicDistributorBase + ARM_GIC_ICDDCR) & ARM_GIC_ICDDCR_ARE) {
+ MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x2);
+ } else {
+ MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);
+ }
}
}
|