From: bellard Date: Sun, 25 Apr 2004 22:10:09 +0000 (+0000) Subject: isa bridge endianness fixes X-Git-Tag: TizenStudio_2.0_p2.3~15453 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f658b4db792285d0ddc044d7532451b8ec3c4a08;p=sdk%2Femulator%2Fqemu.git isa bridge endianness fixes git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@761 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c index 42ae22e..dab8a57 100644 --- a/hw/ppc_prep.c +++ b/hw/ppc_prep.c @@ -137,7 +137,6 @@ static uint32_t PPC_io_readb (target_phys_addr_t addr) { PPC_IO_DPRINTF("0x%08x <= 0x%02x\n", addr - PPC_IO_BASE, ret); } - return ret; } @@ -147,24 +146,31 @@ static void PPC_io_writew (target_phys_addr_t addr, uint32_t value) (addr < 0x80000170 || addr > 0x80000177)) { PPC_IO_DPRINTF("0x%08x => 0x%04x\n", addr - PPC_IO_BASE, value); } +#ifdef TARGET_WORDS_BIGENDIAN + value = bswap16(value); +#endif cpu_outw(NULL, addr - PPC_IO_BASE, value); } static uint32_t PPC_io_readw (target_phys_addr_t addr) { uint32_t ret = cpu_inw(NULL, addr - PPC_IO_BASE); - +#ifdef TARGET_WORDS_BIGENDIAN + ret = bswap16(ret); +#endif if ((addr < 0x800001f0 || addr > 0x800001f7) && (addr < 0x80000170 || addr > 0x80000177)) { PPC_IO_DPRINTF("0x%08x <= 0x%04x\n", addr - PPC_IO_BASE, ret); } - return ret; } static void PPC_io_writel (target_phys_addr_t addr, uint32_t value) { PPC_IO_DPRINTF("0x%08x => 0x%08x\n", addr - PPC_IO_BASE, value); +#ifdef TARGET_WORDS_BIGENDIAN + value = bswap32(value); +#endif cpu_outl(NULL, addr - PPC_IO_BASE, value); } @@ -172,8 +178,10 @@ static uint32_t PPC_io_readl (target_phys_addr_t addr) { uint32_t ret = cpu_inl(NULL, addr - PPC_IO_BASE); +#ifdef TARGET_WORDS_BIGENDIAN + ret = bswap32(ret); +#endif PPC_IO_DPRINTF("0x%08x <= 0x%08x\n", addr - PPC_IO_BASE, ret); - return ret; }