qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] big endian arm.


From: KONRAD Frederic
Subject: [Qemu-devel] big endian arm.
Date: Fri, 11 Aug 2017 11:59:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

Hi Peters,

I got some strange results since this commit:

commit 9776f636455b6f0d9c14dce112242ed653f954b4
Author: Peter Crosthwaite <address@hidden>
Date:   Fri Mar 4 11:30:21 2016 +0000

    arm: boot: Support big-endian elfs

Support ARM big-endian ELF files in system-mode emulation. When loading an elf, determine the endianness mode expected by the elf, and set the
    relevant CPU state accordingly.

With this, big-endian modes are now fully supported via system-mode LE,
    so there is no need to restrict the elf loading to the TARGET
    endianness so the ifdeffery on TARGET_WORDS_BIGENDIAN goes away.

    Signed-off-by: Peter Crosthwaite <address@hidden>
    Reviewed-by: Peter Maydell <address@hidden>
    [PMM: fix typo in comments]
    Signed-off-by: Peter Maydell <address@hidden>

It seems that when I try to load a big endian image on a
Cortex-R5 it gets confused:
 * the instructions are fine it executes some code.
 * GDB address / insns are wrong endianness.
 * in monitor x command is good endianness.
 * the data order seems to be wrong endianness:
   Here is my Hello World: lleHlroW

We used to add a armeb-softmmu/qemu-system-armeb target for the
big endian cpu but it doesn't work anymore as it's double
reversed by the elf endianness (data_swab <= 2).

And I'm surprised we don't set the CPSR_E and SCTLR_EE bits
accordingly?

Thanks,
Fred



reply via email to

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