aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2011-01-13 18:37:11 +0300
committerAurelien Jarno <aurelien@aurel32.net>2011-01-20 12:37:21 +0100
commitaa9438d9f8a19258514c5cc238d2494a2572ff58 (patch)
tree409cf8cfec3e0e325e5cab3839d2a30ae51898bb
parentf75d216a80977da3435f507fa6bae0821a5d9076 (diff)
scoop: fix access to registers from second instance
Second instance of scoop contains registers shifted to 0x40 from the start of the page. Instead of messing with register mapping, just limit register address to 0x00..0x3f. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--hw/zaurus.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/zaurus.c b/hw/zaurus.c
index 54ec3f00d5..36be94a179 100644
--- a/hw/zaurus.c
+++ b/hw/zaurus.c
@@ -70,7 +70,7 @@ static uint32_t scoop_readb(void *opaque, target_phys_addr_t addr)
{
ScoopInfo *s = (ScoopInfo *) opaque;
- switch (addr) {
+ switch (addr & 0x3f) {
case SCOOP_MCR:
return s->mcr;
case SCOOP_CDR:
@@ -104,7 +104,7 @@ static void scoop_writeb(void *opaque, target_phys_addr_t addr, uint32_t value)
ScoopInfo *s = (ScoopInfo *) opaque;
value &= 0xffff;
- switch (addr) {
+ switch (addr & 0x3f) {
case SCOOP_MCR:
s->mcr = value;
break;