[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] ARM big-endian emulation and image
From: |
Peter Maydell |
Subject: |
Re: [Qemu-discuss] ARM big-endian emulation and image |
Date: |
Fri, 26 Oct 2018 21:01:31 +0100 |
On 26 October 2018 at 19:38, Jeffrey Walton <address@hidden> wrote:
> I work on a FOSS project. I want to test some NEON code under ARM big-endian.
>
> I'm having trouble finding information on ARM big-endian emulation and
> images. Searching is not turning up much information. I see support
> was added in 2016 at
> https://github.com/qemu/qemu/commits/9776f636455b6f0d9c but I don't
> see much more information when searching. (If Google is accurate,
> there are 5 old questions:
> https://www.google.com/search?q=ARM+%22big+endian%22+site%3Alists.nongnu.org%2Farchive%2Fhtml%2Fqemu-discuss)
>
> My question is, does anyone know where a QEMU compatible arm-be image
> is located?
So, the problem here is basically that in practice nobody uses
bigendian on Arm, at least not in open source (Linux, BSDs, etc)
ecosystems (as opposed to closed-source embedded OSes etc).
So none of the board models that QEMU models are intended
for big-endian, and it's unlikely that you'll find a guide
out on the web or a pre-built image that is big-endian.
If the program that you're testing is a Linux userspace one,
and it will work under QEMU's linux-user mode (test the
little-endian arm version with 'qemu-arm' first), then
probably the simplest thing is to build your program with
a gcc armeb toolchain and run it under 'qemu-armeb'. That
can handle both ARMv7 BE8 and ARMv5 BE32, though I sincerely
hope you only need to care about BE8.
If you need for some reason to find a Linux big-endian kernel
image that will run under QEMU and run your program inside
that, things are likely to get painful.
thanks
-- PMM