if (Revision == ARM_GIC_ARCH_REVISION_2) {\r
MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);\r
} else {\r
- MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x2);\r
+ if (MmioRead32 (GicDistributorBase + ARM_GIC_ICDDCR) & ARM_GIC_ICDDCR_ARE) {\r
+ MmioOr32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x2);\r
+ } else {\r
+ MmioOr32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);\r
+ }\r
}\r
}\r