]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
intc/xilinx_intc: Inhibit write to ISR when HIE
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Tue, 11 Jun 2013 00:59:55 +0000 (10:59 +1000)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Tue, 18 Jun 2013 07:45:00 +0000 (09:45 +0200)
When the Hardware Interrupt Enable (HIE) bit is set, software cannot
change ISR. Add write guard accordingly.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
hw/intc/xilinx_intc.c

index 09b445320b81c8c7658b1abf86c69dbe079eff0e..ddedfa3796fc4f13ee0b0626a4774eb8814292dc 100644 (file)
@@ -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;