From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33784) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VE5FV-0002LM-4d for qemu-devel@nongnu.org; Mon, 26 Aug 2013 18:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VE5FP-0003Y1-AL for qemu-devel@nongnu.org; Mon, 26 Aug 2013 18:27:01 -0400 Received: from mail-ea0-x232.google.com ([2a00:1450:4013:c01::232]:35238) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VE5FP-0003Xt-4T for qemu-devel@nongnu.org; Mon, 26 Aug 2013 18:26:55 -0400 Received: by mail-ea0-f178.google.com with SMTP id a15so1873007eae.23 for ; Mon, 26 Aug 2013 15:26:54 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <521BD62A.50203@redhat.com> Date: Tue, 27 Aug 2013 00:26:50 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1377550812-908-1-git-send-email-rth@twiddle.net> <1377550812-908-6-git-send-email-rth@twiddle.net> In-Reply-To: <1377550812-908-6-git-send-email-rth@twiddle.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 5/7] tcg: Add mmu helpers that take a return address argument List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: aurelien@aurel32.net, qemu-devel@nongnu.org, anthony@codemonkey.ws Il 26/08/2013 23:00, Richard Henderson ha scritto: > Allow the code that tcg generates to be less obtuse, passing in > the return address directly instead of computing it in the helper. > > Maintain the old entrance point unchanged as an alternate entry point. > > Delete the helper_st*_cmmu prototypes; the implementations did not exist. > > Signed-off-by: Richard Henderson Something that can be done on top of this patch: what about moving the "-1" to helper_ret_*? It is common to pretty much all the targets (except ARM has -2), and it would allow some simplifications. For example I played with return address helpers on 32-bit PPC, and you could use a li rN, retaddr mtlr rN b st_trampoline[i] sequence instead of one of li rN, retaddr mtlr rN bl st_trampoline[i] b retaddr or li rN, retaddr mtlr rN addi rN, rN, -1 b st_trampoline[i] Paolo