On Fri, 7 Oct 2016 13:31:10 +0100 Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 7 October 2016 at 13:27, Greg Kurz <gr...@kaod.org> wrote: > > Indeed but my suggestion is to open code this in qvirtio_is_big_endian(), > > and even rename QTestState::big_endian to virtio_big_endian to make it > > really obvious it should not be used elsewhere. > > > > I now remember this is what I was resolutely suggested to do in > > include/qom/cpu.h at the time we started to support ppc64le: > > > > bool (*virtio_is_big_endian)(CPUState *cpu); > > Not really the same thing though -- virtio_is_big_endian > in QEMU is indeed used only in virtio, because it makes > dubious use of the internals of the CPU state. The > equivalent of this proposed qtest function is the #define > TARGET_BIG_ENDIAN, which is global to all of QEMU and > reasonably widely used (because it's not a property of > the CPU's internals). > Indeed but is it expected to be used in other tests than virtio ? $ git grep qtest_big_endian tests/ tests/libqos/virtio-pci.c: if (qtest_big_endian()) { tests/libqtest.c:bool qtest_big_endian(void) tests/libqtest.h: * qtest_big_endian: tests/libqtest.h:bool qtest_big_endian(void); tests/virtio-blk-test.c: if (qtest_big_endian() != host_endian) { > thanks > -- PMM Cheers. -- Greg