PXA: Account for offset from page start in a subpage mapping.
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 7 Dec 2008 16:08:49 +0000 (16:08 +0000)
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 7 Dec 2008 16:08:49 +0000 (16:08 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5917 c046a42c-6fe2-441c-8c8c-71466251a162

hw/pxa2xx.c

index 660ff4a..b780bad 100644 (file)
@@ -1487,7 +1487,7 @@ struct pxa2xx_i2c_s *pxa2xx_i2c_init(target_phys_addr_t base,
     s->slave.recv = pxa2xx_i2c_rx;
     s->slave.send = pxa2xx_i2c_tx;
     s->bus = i2c_init_bus();
-    s->offset = base & region_size;
+    s->offset = base - (base & (~region_size) & TARGET_PAGE_MASK);
 
     iomemtype = cpu_register_io_memory(0, pxa2xx_i2c_readfn,
                     pxa2xx_i2c_writefn, s);