From 09564574b868f591fb1a9cf426f0c1d64f280431 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Sun, 13 Jun 2010 23:37:31 +0100 Subject: [PATCH] OHCI address decoding fix Ignore high address bits when PCI memory window is not mapped on a page boundary. Signed-off-by: Paul Brook --- hw/usb-ohci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c index 9f80e159ad..c60fd8deef 100644 --- a/hw/usb-ohci.c +++ b/hw/usb-ohci.c @@ -1415,6 +1415,8 @@ static uint32_t ohci_mem_read(void *ptr, target_phys_addr_t addr) OHCIState *ohci = ptr; uint32_t retval; + addr &= 0xff; + /* Only aligned reads are allowed on OHCI */ if (addr & 3) { fprintf(stderr, "usb-ohci: Mis-aligned read\n"); @@ -1538,6 +1540,8 @@ static void ohci_mem_write(void *ptr, target_phys_addr_t addr, uint32_t val) { OHCIState *ohci = ptr; + addr &= 0xff; + #ifdef TARGET_WORDS_BIGENDIAN val = bswap32(val); #endif -- GitLab