[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/18] armv7m: auto-clear FAULTMASK
From: |
Michael Davidsaver |
Subject: |
[Qemu-devel] [PATCH 14/18] armv7m: auto-clear FAULTMASK |
Date: |
Sun, 8 Nov 2015 20:11:41 -0500 |
on return from all exceptions other than NMI
Signed-off-by: Michael Davidsaver <address@hidden>
---
target-arm/helper.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 5be09b8..83af528 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -5379,8 +5379,13 @@ static void do_v7m_exception_exit(CPUARMState *env)
uint32_t xpsr;
type = env->regs[15];
- if (env->v7m.exception != 0)
+ if (env->v7m.exception != ARMV7M_EXCP_NMI) {
+ /* Auto-clear FAULTMASK on return from other than NMI */
+ env->daif &= ~PSTATE_F;
+ }
+ if (env->v7m.exception != 0) {
armv7m_nvic_complete_irq(env->nvic, env->v7m.exception);
+ }
/* Switch to the target stack. */
switch_v7m_sp(env, (type & 4) != 0);
--
2.1.4
- [Qemu-devel] [PATCH 01/18] armv7m: MRS/MSR handle unprivileged access, (continued)
- [Qemu-devel] [PATCH 01/18] armv7m: MRS/MSR handle unprivileged access, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 02/18] armv7m: Undo armv7m.hack, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 08/18] armv7m: fix RETTOBASE, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 09/18] armv7m: NVIC update vmstate, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 12/18] armv7m: simpler/faster exception start, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 11/18] armv7m: fix I and F flag handling, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 10/18] armv7m: NVIC initialization, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 14/18] armv7m: auto-clear FAULTMASK,
Michael Davidsaver <=
- [Qemu-devel] [PATCH 07/18] armv7m: Update NVIC registers, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 17/18] armv7m: implement CCR, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 15/18] arm: gic: Remove references to NVIC, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 16/18] armv7m: check exception return consistency, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 13/18] armv7m: implement CFSR and HFSR, Michael Davidsaver, 2015/11/08
- [Qemu-devel] [PATCH 18/18] armv7m: prevent unprivileged write to STIR, Michael Davidsaver, 2015/11/08
- Re: [Qemu-devel] [PATCH 00/18] Fix exception handling and msr/mrs access, Peter Maydell, 2015/11/17