From 6bae70713cb2f87be60ef4f83105c2c928d8612e Mon Sep 17 00:00:00 2001 From: bellard Date: Wed, 2 Feb 2005 20:40:17 +0000 Subject: sparc fix (Blue Swirl) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1262 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/slavio_intctl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'hw') diff --git a/hw/slavio_intctl.c b/hw/slavio_intctl.c index 745467214b..352ae1f0f0 100644 --- a/hw/slavio_intctl.c +++ b/hw/slavio_intctl.c @@ -113,7 +113,7 @@ static uint32_t slavio_intctlm_mem_readl(void *opaque, target_phys_addr_t addr) saddr = (addr & INTCTLM_MAXADDR) >> 2; switch (saddr) { case 0: - return s->intregm_pending; + return s->intregm_pending & 0x7fffffff; case 1: return s->intregm_disabled; case 4: @@ -132,12 +132,12 @@ static void slavio_intctlm_mem_writel(void *opaque, target_phys_addr_t addr, uin saddr = (addr & INTCTLM_MAXADDR) >> 2; switch (saddr) { case 2: // clear (enable) - // Force unused bits - val |= 0x7fb2007f; + // Force clear unused bits + val &= ~0x7fb2007f; s->intregm_disabled &= ~val; break; case 3: // set (disable, clear pending) - // Force unused bits + // Force clear unused bits val &= ~0x7fb2007f; s->intregm_disabled |= val; s->intregm_pending &= ~val; @@ -269,7 +269,7 @@ static void slavio_intctl_reset(void *opaque) for (i = 0; i < MAX_CPUS; i++) { s->intreg_pending[i] = 0; } - s->intregm_disabled = 0xffffffff; + s->intregm_disabled = ~0xffb2007f; s->intregm_pending = 0; s->target_cpu = 0; } -- cgit v1.2.1