summaryrefslogtreecommitdiff
path: root/Omap35xxPkg/InterruptDxe/HardwareInterrupt.c
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-04-13 22:30:42 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-04-13 22:30:42 +0000
commite9fc14b6e17de3ecc299d4f7f8a39c2cb0c55292 (patch)
tree309459e8eff0f0a8115d28ae01879c2d2a5da9ff /Omap35xxPkg/InterruptDxe/HardwareInterrupt.c
parent9d1d7243f049a04397f9a9b808a8232fa13c0882 (diff)
downloadedk2-platforms-e9fc14b6e17de3ecc299d4f7f8a39c2cb0c55292.tar.xz
Make sure FIQ debugger stuff can work.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10369 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Omap35xxPkg/InterruptDxe/HardwareInterrupt.c')
-rw-r--r--Omap35xxPkg/InterruptDxe/HardwareInterrupt.c10
1 files changed, 9 insertions, 1 deletions
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;