mirror of https://github.com/acidanthera/audk.git
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:
parent
9d1d7243f0
commit
e9fc14b6e1
|
@ -86,7 +86,6 @@ ArmCleanDataCacheEntryBySetWay
|
||||||
|
|
||||||
ArmInvalidateInstructionCache
|
ArmInvalidateInstructionCache
|
||||||
mcr p15,0,R0,c7,c5,0 ;Invalidate entire instruction cache
|
mcr p15,0,R0,c7,c5,0 ;Invalidate entire instruction cache
|
||||||
dsb
|
|
||||||
isb
|
isb
|
||||||
bx LR
|
bx LR
|
||||||
|
|
||||||
|
@ -228,3 +227,4 @@ ArmInstructionSynchronizationBarrier
|
||||||
bx LR
|
bx LR
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#define INTCPS_PENDING_FIQ(n) (INTERRUPT_BASE + 0x009C + (0x20 * (n)))
|
#define INTCPS_PENDING_FIQ(n) (INTERRUPT_BASE + 0x009C + (0x20 * (n)))
|
||||||
#define INTCPS_ILR(m) (INTERRUPT_BASE + 0x0100 + (0x04 * (m)))
|
#define INTCPS_ILR(m) (INTERRUPT_BASE + 0x0100 + (0x04 * (m)))
|
||||||
|
|
||||||
|
#define INTCPS_ILR_FIQ BIT0
|
||||||
#define INTCPS_SIR_IRQ_MASK (0x7F)
|
#define INTCPS_SIR_IRQ_MASK (0x7F)
|
||||||
#define INTCPS_CONTROL_NEWIRQAGR BIT0
|
#define INTCPS_CONTROL_NEWIRQAGR BIT0
|
||||||
#define INTCPS_CONTROL_NEWFIQAGR BIT1
|
#define INTCPS_CONTROL_NEWFIQAGR BIT1
|
||||||
|
|
|
@ -87,6 +87,14 @@ RegisterInterruptSource (
|
||||||
return EFI_UNSUPPORTED;
|
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)) {
|
if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue