From: Peter Crosthwaite <peter.crosthwa...@xilinx.com> When the Hardware Interrupt Enable (HIE) bit is set, software cannot change ISR. Add write guard accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> --- hw/intc/xilinx_intc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/intc/xilinx_intc.c b/hw/intc/xilinx_intc.c index 09b4453..ddedfa3 100644 --- a/hw/intc/xilinx_intc.c +++ b/hw/intc/xilinx_intc.c @@ -116,6 +116,11 @@ pic_write(void *opaque, hwaddr addr, case R_CIE: p->regs[R_IER] &= ~value; /* Atomic clear ie. */ break; + case R_ISR: + if ((p->regs[R_MER] & 2)) { + break; + } + /* fallthrough */ default: if (addr < ARRAY_SIZE(p->regs)) p->regs[addr] = value; -- 1.8.3.rc1.44.gb387c77.dirty