Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-27 Thread Peter Maydell
On 27 April 2014 16:28, Paolo Bonzini wrote: > Il 22/04/2014 09:01, Peter Maydell ha scritto: >> Note that SCTLR.EE also sets the endianness for loads done >> for translation table walks and so on. > I guess also v7m_push and v7m_pop. Well, not really. v7M handles endianness differently to A and

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-27 Thread Paolo Bonzini
Il 22/04/2014 09:01, Peter Maydell ha scritto: On 22 April 2014 03:42, Paolo Bonzini wrote: Il 21/04/2014 18:08, Peter Maydell ha scritto: If we take an exception while the E bit is set we'll now incorrectly start executing the exception handler in big-endian mode. Minimally, we need to force

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-22 Thread Peter Maydell
On 22 April 2014 03:42, Paolo Bonzini wrote: > Il 21/04/2014 18:08, Peter Maydell ha scritto: >> If we take an exception while the E bit is set we'll now incorrectly >> start executing the exception handler in big-endian mode. >> Minimally, we need to force "always little endian". Ideally, we >> w

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-21 Thread Richard Henderson
On 04/21/2014 03:08 PM, Peter Maydell wrote: > [Tangentially: we really need a vdso for aarch64, at which point we > might as well do the aarch32 commpage with one too. IIRC RTH had > some patches for x86-64 vdso which I should fish out of the archives...] Still sitting at git://github.com/rth7

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-21 Thread Paolo Bonzini
Il 21/04/2014 18:08, Peter Maydell ha scritto: Thinking more about this, we'd be wrong already for bigendian if these were wrong. The bit about the linux-user/main.c strex/ldrex still stands, though, because those use get_user*/put_user* which use the TARGET_BIGENDIAN specified endianness. Ok.

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-21 Thread Peter Maydell
On 21 April 2014 21:52, Peter Maydell wrote: > I think we get the various neon load/store insns right, but did you > check the pseudocode against our implementation or are you just > hoping that we never try to combine or split a load/store compared > to the pseudocode spec? Thinking more about t

Re: [Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-21 Thread Peter Maydell
On 21 April 2014 18:43, Paolo Bonzini wrote: > This series adds setend support by using the MO_BE/MO_LE that Richard > implemented. This is used by Raspbian's faster memcmp implementation. There are also "by hand" loads done in linux-user/main.c's implementation of ldrex/strex which need to hono

[Qemu-devel] [PATCH 0/3] target-arm: support setend instruction

2014-04-21 Thread Paolo Bonzini
This series adds setend support by using the MO_BE/MO_LE that Richard implemented. This is used by Raspbian's faster memcmp implementation. Paolo Bonzini (3): target-arm: pass DisasContext to gen_aa32_ld*/st* target-arm: introduce be8 tbflag target-arm: implement setend linux-user/main.c