diff options
-rw-r--r-- | target/arm/cpu.c | 2 | ||||
-rw-r--r-- | target/arm/cpu.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 47759c9328..9b1c736819 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -187,6 +187,8 @@ static void arm_cpu_reset(CPUState *s) uint32_t initial_pc; /* Loaded from 0x4 */ uint8_t *rom; + env->v7m.exception_prio = env->v7m.pending_prio = 0x100; + env->daif &= ~PSTATE_I; rom = rom_ptr(0); if (rom) { diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 521c11b780..473bc30791 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -406,6 +406,9 @@ typedef struct CPUARMState { uint32_t basepri; uint32_t control; int exception; + int exception_prio; + unsigned pending; + int pending_prio; } v7m; /* Information associated with an exception about to be taken: |