From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45840) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5ehN-0005rJ-Bz for qemu-devel@nongnu.org; Thu, 18 Jun 2015 14:38:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5ehJ-0005MJ-7g for qemu-devel@nongnu.org; Thu, 18 Jun 2015 14:38:01 -0400 Received: from mail-yh0-f47.google.com ([209.85.213.47]:35638) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5ehJ-0005Lf-3z for qemu-devel@nongnu.org; Thu, 18 Jun 2015 14:37:57 -0400 Received: by yhak3 with SMTP id k3so62411260yha.2 for ; Thu, 18 Jun 2015 11:37:56 -0700 (PDT) MIME-Version: 1.0 Sender: peter.crosthwaite@petalogix.com In-Reply-To: <1403355502-12288-1-git-send-email-pbonzini@redhat.com> References: <1403355502-12288-1-git-send-email-pbonzini@redhat.com> Date: Thu, 18 Jun 2015 11:37:56 -0700 Message-ID: From: Peter Crosthwaite Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH v3 00/11] implement dynamic endianness switching List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , "qemu-devel@nongnu.org Developers" On Sat, Jun 21, 2014 at 5:58 AM, Paolo Bonzini wrote: > This fixes the Raspberry Pi optimized memcmp library (with both user-mode > and system-mode emulation). > > Compared to the previous submission, the main changes are: > > - I track access endianness by taking into account both SCTLR.B and CPSR.E, > to make the code easier to understand (though a little bit more > convoluted) > > - because of this, I prevent execution of BE32 executables with ARMv7 or v8 > CPUs. These CPUs do not have SCTLR.B. > > - because of this, I also included an untested patch to implement BE32 > mode in system emulation (BE8 should already work with the previous > versions of the series). > > Note that I also tested the rest only with BE32, since BE8 is not included > in linux-user-test-0.3 (it may be possible to convert BE32 to BE8 using > ld -r? I haven't tried yet and I'm going to travel for the rest of the > weekend). > > It is a bit late for 2.1, so I wouldn't complain if this is pushed out > to the next version. > I'm playing with this patch series to see if I can get it working for a BE ARMv8 guest I have but there are complications now that we support multiple ELs. I'll make some notes on the patches. In my rebasing, I am dropping the BE32 support for the moment to see if I can just get a minimal BE8 thing going. > Thanks, > > Paolo > > Paolo Bonzini (11): > linux-user: arm: fix coding style for some linux-user signal functions Can we send this through to trivial as a single? > linux-user: arm: pass env to get_user_code_* > target-arm: implement SCTLR.B, drop bswap_code Dropped these for the moment. > linux-user: arm: set CPSR.E correctly for BE8 mode > linux-user: arm: handle CPSR.E correctly in strex emulation > target-arm: implement SCTLR.EE > target-arm: pass DisasContext to gen_aa32_ld*/st* > target-arm: introduce tbflag for CPSR.E > target-arm: implement setend > target-arm: reorganize gen_aa32_ld/st to prepare for BE32 system emulation > target-arm: implement BE32 mode in system emulation Dropped these two. Regards, Peter > > linux-user/arm/target_cpu.h | 2 + > linux-user/main.c | 81 ++++++-- > linux-user/signal.c | 114 ++++++------ > target-arm/arm_ldst.h | 8 +- > target-arm/cpu.h | 85 ++++++++- > target-arm/helper.c | 46 ++++- > target-arm/helper.h | 1 + > target-arm/op_helper.c | 5 + > target-arm/translate-a64.c | 6 +- > target-arm/translate.c | 444 +++++++++++++++++++++++++++----------------- > target-arm/translate.h | 4 +- > 11 files changed, 525 insertions(+), 271 deletions(-) > > -- > 1.9.3 > >