X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Omap35xxPkg%2FInterruptDxe%2FHardwareInterrupt.c;h=8ffdc0bec1e1a9e522f81906ced0c9bf9fe365e4;hp=72135c24520ba25f56ba6b67c29f24ebf14b9a8a;hb=e9fc14b6e17de3ecc299d4f7f8a39c2cb0c55292;hpb=9d1d7243f049a04397f9a9b808a8232fa13c0882 diff --git a/Omap35xxPkg/InterruptDxe/HardwareInterrupt.c b/Omap35xxPkg/InterruptDxe/HardwareInterrupt.c index 72135c2452..8ffdc0bec1 100644 --- a/Omap35xxPkg/InterruptDxe/HardwareInterrupt.c +++ b/Omap35xxPkg/InterruptDxe/HardwareInterrupt.c @@ -87,6 +87,14 @@ RegisterInterruptSource ( return EFI_UNSUPPORTED; } + if ((MmioRead32 (INTCPS_ILR(Source)) & INTCPS_ILR_FIQ) == INTCPS_ILR_FIQ) { + // This vector has been programmed as FIQ so we can't use it for IRQ + // EFI does not use FIQ, but the debugger can use it to check for + // ctrl-c. So this ASSERT means you have a conflict with the debug agent + ASSERT (FALSE); + return EFI_UNSUPPORTED; + } + if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) { return EFI_INVALID_PARAMETER; } @@ -203,7 +211,7 @@ GetInterruptSourceState ( Bank = Source / 32; Bit = 1UL << (Source % 32); - if ((MmioRead32 (INTCPS_MIR(Bank)) & Bit) == Bit) { + if ((MmioRead32(INTCPS_MIR(Bank)) & Bit) == Bit) { *InterruptState = FALSE; } else { *InterruptState = TRUE;