From a73c98e159d18155445d29b6044be6ad49fd802f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 28 Feb 2017 12:08:17 +0000 Subject: armv7m: Escalate exceptions to HardFault if necessary The v7M exception architecture requires that if a synchronous exception cannot be taken immediately (because it is disabled or at too low a priority) then it should be escalated to HardFault (and the HardFault exception is then taken). Implement this escalation logic. Signed-off-by: Michael Davidsaver [PMM: extracted from another patch] Signed-off-by: Peter Maydell Reviewed-by: Alex Bennée --- target/arm/helper.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'target') diff --git a/target/arm/helper.c b/target/arm/helper.c index bcedb4a808..2fc6802028 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6106,8 +6106,6 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs) /* For exceptions we just mark as pending on the NVIC, and let that handle it. */ - /* TODO: Need to escalate if the current priority is higher than the - one we're raising. */ switch (cs->exception_index) { case EXCP_UDEF: armv7m_nvic_set_pending(env->nvic, ARMV7M_EXCP_USAGE); -- cgit v1.2.3-55-g7522