From: Blue Swirl Date: Fri, 29 Jan 2010 18:15:21 +0000 (+0000) Subject: Sparc64: byte swap IO port access X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a4d5f62ceba66536da1a62d19840a7fd4be6ad9b;p=qemu.git Sparc64: byte swap IO port access This requires an updated OpenBIOS image. Signed-off-by: Blue Swirl --- diff --git a/hw/apb_pci.c b/hw/apb_pci.c index 7f458c60da..2b838ed91e 100644 --- a/hw/apb_pci.c +++ b/hw/apb_pci.c @@ -189,13 +189,13 @@ static void pci_apb_iowriteb (void *opaque, target_phys_addr_t addr, static void pci_apb_iowritew (void *opaque, target_phys_addr_t addr, uint32_t val) { - cpu_outw(addr & IOPORTS_MASK, val); + cpu_outw(addr & IOPORTS_MASK, bswap16(val)); } static void pci_apb_iowritel (void *opaque, target_phys_addr_t addr, uint32_t val) { - cpu_outl(addr & IOPORTS_MASK, val); + cpu_outl(addr & IOPORTS_MASK, bswap32(val)); } static uint32_t pci_apb_ioreadb (void *opaque, target_phys_addr_t addr) @@ -210,7 +210,7 @@ static uint32_t pci_apb_ioreadw (void *opaque, target_phys_addr_t addr) { uint32_t val; - val = cpu_inw(addr & IOPORTS_MASK); + val = bswap16(cpu_inw(addr & IOPORTS_MASK)); return val; } @@ -218,7 +218,7 @@ static uint32_t pci_apb_ioreadl (void *opaque, target_phys_addr_t addr) { uint32_t val; - val = cpu_inl(addr & IOPORTS_MASK); + val = bswap32(cpu_inl(addr & IOPORTS_MASK)); return val; }