qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qtest tmp105-test endianness issue


From: Alexander Graf
Subject: Re: [Qemu-devel] qtest tmp105-test endianness issue
Date: Sat, 26 Jan 2013 23:21:31 +0100

On 26.01.2013, at 23:12, Andreas Färber wrote:

> Hello,
> 
> I've found that my tmp105-test fails on Mac OS X ppc(64), i.e. Little
> Endian arm-softmmu target and Big Endian host:
> 
> GTESTER check-qtest-arm
> mipid_reset: Display off
> **
> ERROR:/Users/andreas/QEMU/qemu/tests/libi2c-imap.c:163:omap_i2c_create:
> assertion failed (data == 0x34): (0x00003400 == 0x00000034)
> 
> The only other test case that uses memread() is m48t59-test, which uses
> size 1 MMIO accesses only. This suggests that Big Endian guest (e.g.,
> sparc) and Little Endian host (e.g., x86_64) may cause issues, too.
> 
> What is the expected way to handle endianness in qtest? Should
> qtest.c:qtest_process_command() be changed? libqtest.c:qtest_memread()?
> Or the test itself byteswap and, if so, under which circumstances?

Well, first of all qtest works on behalf of the emulated CPU. The MMIO code 
path doesn't care about target CPU endianness. It simply passes the "native" 
value to the handler. The handler however might change byte order depending on 
the memory api endianness flag.

But in this particular case, I'd be very surprised if any endianness swapping 
had to be involved.


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]