+ // Realview PB
+ gGIC_InterfaceAddr = 0x1e000000;
+ gGIC_DistributorAddr = 0x1e001000;
+
+ // Initialise
+ gpGIC_InterfaceBase = (void*)MM_MapHWPages(gGIC_InterfaceAddr, 1);
+ gpGIC_DistributorBase = (void*)MM_MapHWPages(gGIC_DistributorAddr, 1);
+
+ gpGIC_InterfaceBase[GICC_PMR] = 0xFF;
+ gpGIC_InterfaceBase[GICC_CTLR] = 1; // Enable CPU
+ gpGIC_DistributorBase[GICD_CTLR] = 1; // Enable Distributor
+
+ gpIRQHandler = GIC_IRQHandler;
+
+ __asm__ __volatile__ ("cpsie if"); // Enable IRQs and FIQs
+