From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QLKcn-0000I5-Pf for qemu-devel@nongnu.org; Sat, 14 May 2011 15:35:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QLKcm-0002Gp-Oc for qemu-devel@nongnu.org; Sat, 14 May 2011 15:35:41 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:42999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QLKcm-0002Gl-L9 for qemu-devel@nongnu.org; Sat, 14 May 2011 15:35:40 -0400 Received: by qwj8 with SMTP id 8so2052435qwj.4 for ; Sat, 14 May 2011 12:35:40 -0700 (PDT) MIME-Version: 1.0 From: Blue Swirl Date: Sat, 14 May 2011 22:35:20 +0300 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: [Qemu-devel] [PATCH RFC 00/11] AREG0 elimination List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Here's a RFC series for eliminating AREG0. Blue Swirl (11): Move user emulator stuff from cpu-exec.c to user-exec.c Delete unused tb_invalidate_page_range The above should be OK to commit. cpu_loop_exit: avoid using AREG0 Delegate setup of TCG temporaries to targets These two are not, unless the overall plan is OK. TCG: fix negative frame offset calculations TCG/x86: use stack for TCG temps TCG/Sparc64: use stack for TCG temps But these three should be OK. I've tested lightly x86_64 and Sparc64 hosts. Add CONFIG_TARGET_NEEDS_AREG0 Don't compile legacy qemu_ld/st functions if target doesn't need them Should be OK, though the latter patch only touches x86. Add new qemu_ld and qemu_st functions sparc: use new qemu_ld and qemu_st functions The last two compile but QEMU segfaults. I just made a naive conversion for getting comments. Makefile.target | 14 +- configure | 6 + cpu-exec.c | 647 +---------------------------------------- dyngen-exec.h | 2 + exec-all.h | 3 +- hw/alpha_palcode.c | 2 +- linux-user/main.c | 22 +-- target-alpha/op_helper.c | 4 +- target-arm/op_helper.c | 6 +- target-cris/op_helper.c | 4 +- target-i386/op_helper.c | 16 +- target-lm32/op_helper.c | 6 +- target-m68k/op_helper.c | 6 +- target-microblaze/op_helper.c | 4 +- target-mips/op_helper.c | 4 +- target-ppc/op_helper.c | 3 +- target-sh4/op_helper.c | 10 +- target-sparc/helper.h | 1 - target-sparc/op_helper.c | 12 +- target-sparc/translate.c | 5 +- target-unicore32/op_helper.c | 2 +- tcg/arm/tcg-target.c | 2 + tcg/arm/tcg-target.h | 4 + tcg/hppa/tcg-target.c | 2 + tcg/hppa/tcg-target.h | 4 + tcg/i386/tcg-target.c | 62 +++-- tcg/i386/tcg-target.h | 4 + tcg/ia64/tcg-target.c | 2 + tcg/ia64/tcg-target.h | 4 + tcg/mips/tcg-target.c | 2 + tcg/mips/tcg-target.h | 4 + tcg/ppc/tcg-target.c | 2 + tcg/ppc/tcg-target.h | 4 + tcg/ppc64/tcg-target.c | 2 + tcg/ppc64/tcg-target.h | 4 + tcg/s390/tcg-target.c | 2 + tcg/s390/tcg-target.h | 4 + tcg/sparc/tcg-target.c | 5 +- tcg/sparc/tcg-target.h | 4 + tcg/tcg-op.h | 49 +++ tcg/tcg-opc.h | 3 + tcg/tcg.c | 12 +- translate-all.c | 2 - user-exec.c | 645 ++++++++++++++++++++++++++++++++++++++++ 44 files changed, 866 insertions(+), 741 deletions(-) create mode 100644 user-exec.c