On 05.04.2014, at 22:26, Hervé Poussineau <hpous...@reactos.org> wrote:

> Hi Andreas,
> 
> Le sam. 05 avril 2014 17:41:43 CEST, Andreas Färber a écrit :
>> Hi Hervé,
>> 
>> Am 20.03.2014 00:36, schrieb Andreas Färber:
>>> From: Hervé Poussineau <hpous...@reactos.org>
>>> 
>>> Remove now duplicated code from prep board.
>>> 
>>> Signed-off-by: Hervé Poussineau <hpous...@reactos.org>
>>> Signed-off-by: Andreas Färber <andreas.faer...@web.de>
>>> ---
>>>  hw/pci-host/prep.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++
>>>  hw/ppc/prep.c      | 94 
>>> ++----------------------------------------------------
>>>  2 files changed, 88 insertions(+), 91 deletions(-)
>> 
>> I'm facing endianness-test failures in -rc1 on both openSUSE ppc/ppc64
>> and OSX ppc64 (below) as well as "broken pipe" on OSX ppc.
>> 
>> $ make check-qtest-ppc V=1
>> [...]
>>   /ppc/endianness/prep:                                              **
>> ERROR:/Users/andreas/QEMU/tests/endianness-test.c:131:test_endianness:
>> assertion failed (isa_inw(test, 0xe2) == 0x8765): (0x00004321 == 0x00008765)
>> FAIL
>> [...]
>>   /ppc/endianness/split/prep:                                        **
>> ERROR:/Users/andreas/QEMU/tests/endianness-test.c:206:test_endianness_split:
>> assertion failed (isa_inw(test, 0xe2) == 0x8765): (0x00004321 == 0x00008765)
>> FAIL
>> [...]
>>   /ppc/endianness/combine/prep:                                      **
>> ERROR:/Users/andreas/QEMU/tests/endianness-test.c:253:test_endianness_combine:
>> assertion failed (isa_inw(test, 0xea) == 0x8765): (0x00004321 == 0x00008765)
>> FAIL
>> [...]
>> FAIL: tests/endianness-test
>> 
>> On x86 everything is fine. git-bisect points to this commit.
>> 
>> There is one "FIXME: handle endianness switch" in here, but I don't spot
>> such code where it's being moved from either.
>> 
>> My suspect is the cpu_inw() -> ldl_p() change, but I'm unsure whether
>> the code or the test is wrong...
> 
> Code removed in this commit was using DEVICE_NATIVE_ENDIAN, and then using 
> cpu_inl, which does a ldl_p.
> Code added in this commit is using DEVICE_LITTLE_ENDIAN, and then is using 
> ldl_p.
> So, yes, it seems that endianness of memory region does change things. Native 
> endian means native endian of the guest of of the host?

It means "default endianness of the guest cpu" so that accesses coming from the 
CPU get passed in the value they had in the CPU registers :).


Alex


Reply via email to