diff -r e86639319106 -r 405d1fcf67a8 src/arch/arm/interrupts.hh --- a/src/arch/arm/interrupts.hh Fri Mar 08 09:24:16 2013 -0500 +++ b/src/arch/arm/interrupts.hh Fri Mar 08 09:26:07 2013 -0500 @@ -150,6 +150,24 @@ return intStatus; } + /** + * Check the state of a particular interrupt, ignoring CPSR masks. + * + * This method is primarily used when running the target CPU in a + * hardware VM (e.g., KVM) to check if interrupts should be + * delivered upon guest entry. + * + * @param interrupt Interrupt type to check the state of. + * @return true if the interrupt is asserted, false otherwise. + */ + bool + checkRaw(InterruptTypes interrupt) const + { + if (interrupt >= NumInterruptTypes) + panic("Interrupt number out of range.\n"); + + return interrupts[interrupt]; + } Fault getInterrupt(ThreadContext *tc)