hw/intc/armv7m_nvic: Don't enable ARMV7M_EXCP_DEBUG from reset
The M-profile architecture specifies that the DebugMonitor exception should be initially disabled, not enabled. It should be controlled by the DEMCR register's MON_EN bit, but we don't implement that register yet (like most of the debug architecture for M-profile). Note that BKPT instructions will still work, because they will be escalated to HardFault. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20190430131439.25251-4-peter.maydell@linaro.org
This commit is contained in:
parent
339327b6d4
commit
a03ffaefce
@ -2491,10 +2491,12 @@ static void armv7m_nvic_reset(DeviceState *dev)
|
||||
* the System Handler Control register
|
||||
*/
|
||||
s->vectors[ARMV7M_EXCP_SVC].enabled = 1;
|
||||
s->vectors[ARMV7M_EXCP_DEBUG].enabled = 1;
|
||||
s->vectors[ARMV7M_EXCP_PENDSV].enabled = 1;
|
||||
s->vectors[ARMV7M_EXCP_SYSTICK].enabled = 1;
|
||||
|
||||
/* DebugMonitor is enabled via DEMCR.MON_EN */
|
||||
s->vectors[ARMV7M_EXCP_DEBUG].enabled = 0;
|
||||
|
||||
resetprio = arm_feature(&s->cpu->env, ARM_FEATURE_V8) ? -4 : -3;
|
||||
s->vectors[ARMV7M_EXCP_RESET].prio = resetprio;
|
||||
s->vectors[ARMV7M_EXCP_NMI].prio = -2;
|
||||
|
Loading…
Reference in New Issue
Block a user