diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2011-01-13 18:37:11 +0300 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-20 12:37:21 +0100 |
commit | aa9438d9f8a19258514c5cc238d2494a2572ff58 (patch) | |
tree | 409cf8cfec3e0e325e5cab3839d2a30ae51898bb /hw | |
parent | f75d216a80977da3435f507fa6bae0821a5d9076 (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>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/zaurus.c | 4 |
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; |