aboutsummaryrefslogtreecommitdiff
path: root/hw/zaurus.c
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 /hw/zaurus.c
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>
Diffstat (limited to 'hw/zaurus.c')
-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;