#define INTCPS_PENDING_FIQ(n) (INTERRUPT_BASE + 0x009C + (0x20 * (n)))
#define INTCPS_ILR(m) (INTERRUPT_BASE + 0x0100 + (0x04 * (m)))
+#define INTCPS_ILR_FIQ BIT0
#define INTCPS_SIR_IRQ_MASK (0x7F)
#define INTCPS_CONTROL_NEWIRQAGR BIT0
#define INTCPS_CONTROL_NEWFIQAGR BIT1
return EFI_UNSUPPORTED;\r
} \r
\r
+ if ((MmioRead32 (INTCPS_ILR(Source)) & INTCPS_ILR_FIQ) == INTCPS_ILR_FIQ) {\r
+ // This vector has been programmed as FIQ so we can't use it for IRQ\r
+ // EFI does not use FIQ, but the debugger can use it to check for \r
+ // ctrl-c. So this ASSERT means you have a conflict with the debug agent\r
+ ASSERT (FALSE);\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ \r
if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
Bank = Source / 32;\r
Bit = 1UL << (Source % 32);\r
\r
- if ((MmioRead32 (INTCPS_MIR(Bank)) & Bit) == Bit) {\r
+ if ((MmioRead32(INTCPS_MIR(Bank)) & Bit) == Bit) {\r
*InterruptState = FALSE;\r
} else {\r
*InterruptState = TRUE;\r