[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-arm in various flavours and circumstances
From: |
Paul Brook |
Subject: |
Re: [Qemu-devel] qemu-arm in various flavours and circumstances |
Date: |
Sat, 7 Aug 2004 14:11:40 +0100 |
User-agent: |
KMail/1.6.2 |
On Saturday 07 August 2004 13:37, Lennert Buytenhek wrote:
> OK, I built a number of different ARM binaries with different toolchains,
> a few different versions of qemu, and ran them under a few different
> circumstances.
<snip>
> The results
> -----------
> bigendian:
> - The bigendian binaries (armv?eb, armv?teb) always result in
> "Error loading $NAME_OF_BINARY", under every version of qemu
> (I didn't muck with WORDS_BIGENDIAN.)
I haven't tried big-endian binaries. I suspect you won't be able to run both
big and little endian binaries with the same version of qemu.
> setarch i686:
> - An FC2-compiled qemu-arm, when ran on an FC2 host without setarch i686,
> under each and every circumstance gives a sig11.
> - An FC2-compiled qemu-arm, when ran on an FC2 host with setarch i686,
> always behaves the same as a RH73-compiled qemu-arm when ran on an FC2
> host. Meaning, sometimes it works, sometimes it doesn't -- see below.
I suspect this is a generic qemu problem, not specific to qemu-arm.
> When using either a RH73-compiled qemu or setarch i686:
> - All arm-unknown-linux-gnu and armv4e-redhat-linux toolchains produce
> binaries that work under qemu.
> - There is no difference in results between qemu 0.6.0 and qemu 20040806.
> - There is no difference in results between armv5e and armv5te binaries.
> - All armv5(t)e binaries give a sig11 under qemu 0.6.0 and qemu 20040806,
> but under qemu 20040806 plus Paul's three patches they give sig4:
> "qemu: uncaught target signal 4 (Illegal instruction) - exiting"
armv5 support is still incomplete, even with my patches. Thumb state, and the
interworking branch instruction (bx) are still missing. I'm working on it
(slowly).
A side-effect of my armv5e patch is that more illegal/unrecognised
instructions are detected. Without the patch they are probably misinterpreted
as a nonsensical form of a different instruction.
Paul