[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 18/18] armv7m: prevent unprivileged write to STIR
From: |
Michael Davidsaver |
Subject: |
[Qemu-devel] [PATCH 18/18] armv7m: prevent unprivileged write to STIR |
Date: |
Sun, 8 Nov 2015 20:11:45 -0500 |
Prevent unprivileged from writing to the
Software Triggered Interrupt register
Signed-off-by: Michael Davidsaver <address@hidden>
---
hw/intc/armv7m_nvic.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c
index ca8c93c..b744cd5 100644
--- a/hw/intc/armv7m_nvic.c
+++ b/hw/intc/armv7m_nvic.c
@@ -654,7 +654,9 @@ static void nvic_writel(nvic_state *s, uint32_t offset,
uint32_t value)
"NVIC: fault status registers unimplemented\n");
break;
case 0xf00: /* Software Triggered Interrupt Register */
- if ((value & 0x1ff) < NVIC_MAX_IRQ) {
+ /* STIR write allowed if privlaged or USERSETMPEND set */
+ if ((arm_current_el(&cpu->env) || (cpu->env.v7m.ccr&2))
+ && ((value & 0x1ff) < NVIC_MAX_IRQ)) {
armv7m_nvic_set_pending(s, (value&0x1ff)+16);
}
break;
--
2.1.4
- [Qemu-devel] [PATCH 11/18] armv7m: fix I and F flag handling, (continued)
- [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, 2015/11/08
- [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 <=
- Re: [Qemu-devel] [PATCH 00/18] Fix exception handling and msr/mrs access, Peter Maydell, 2015/11/17