diff options
-rw-r--r-- | hw/slavio_intctl.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/slavio_intctl.c b/hw/slavio_intctl.c index 94a6c965c4..2d1f6552e0 100644 --- a/hw/slavio_intctl.c +++ b/hw/slavio_intctl.c @@ -58,7 +58,8 @@ typedef struct SLAVIO_INTCTLState { } SLAVIO_INTCTLState; #define INTCTL_MAXADDR 0xf -#define INTCTLM_MAXADDR 0xf +#define INTCTLM_MAXADDR 0x13 +#define INTCTLM_MASK 0x1f static void slavio_check_interrupts(void *opaque); // per-cpu interrupt controller @@ -143,7 +144,7 @@ static void slavio_intctlm_mem_writel(void *opaque, target_phys_addr_t addr, uin SLAVIO_INTCTLState *s = opaque; uint32_t saddr; - saddr = (addr & INTCTLM_MAXADDR) >> 2; + saddr = (addr & INTCTLM_MASK) >> 2; switch (saddr) { case 2: // clear (enable) // Force clear unused bits |