[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