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
This commit is contained in:
andrewfish
2010-04-13 22:30:42 +00:00
parent 9d1d7243f0
commit e9fc14b6e1
3 changed files with 11 additions and 2 deletions

View File

@@ -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;