From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAFpL-00085m-W8 for qemu-devel@nongnu.org; Fri, 16 Aug 2013 04:56:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VAFpF-0003Mi-Nn for qemu-devel@nongnu.org; Fri, 16 Aug 2013 04:56:11 -0400 Received: from cantor2.suse.de ([195.135.220.15]:33024 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAFpF-0003MX-I1 for qemu-devel@nongnu.org; Fri, 16 Aug 2013 04:56:05 -0400 Message-ID: <520DE91F.3080301@suse.de> Date: Fri, 16 Aug 2013 10:55:59 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1375726045-20797-1-git-send-email-rth@twiddle.net> <1375726045-20797-9-git-send-email-rth@twiddle.net> In-Reply-To: <1375726045-20797-9-git-send-email-rth@twiddle.net> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-next 8/8] tcg-arm: Rearrange slow-path qemu_ld/st List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org, Aurelien Jarno Am 05.08.2013 20:07, schrieb Richard Henderson: > Instead of using a branch-call-branch sequence, arrange for a > call-branch sequence, using the ARM's conditional call insn. > This reduces the size of the slow-path within the TB, and makes > the GETPC_EXT implementation identical for TCG and not-TCG. >=20 > Signed-off-by: Richard Henderson > --- > include/exec/exec-all.h | 23 +---- > tcg/arm/tcg-target.c | 269 +++++++++++++++++++++++-----------------= -------- > 2 files changed, 133 insertions(+), 159 deletions(-) >=20 > diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h > index b70028a..b3402a1 100644 > --- a/include/exec/exec-all.h > +++ b/include/exec/exec-all.h [...] > @@ -1087,17 +1091,44 @@ static inline void tcg_out_goto_label(TCGContex= t *s, int cond, int label_index) > =20 > #include "exec/softmmu_defs.h" > =20 > +static uint32_t arm_ldbu_mmu(CPUState *env, target_ulong addr, int idx= ) > +{ > + return (uint8_t)helper_ret_ldb_mmu(env, addr, idx, GETPC()); > +} > + > +static uint32_t arm_ldbs_mmu(CPUState *env, target_ulong addr, int idx= ) > +{ > + return (int8_t)helper_ret_ldb_mmu(env, addr, idx, GETPC()); > +} > + > +static uint32_t arm_ldwu_mmu(CPUState *env, target_ulong addr, int idx= ) > +{ > + return (uint16_t)helper_ret_ldw_mmu(env, addr, idx, GETPC()); > +} > + > +static uint32_t arm_ldws_mmu(CPUState *env, target_ulong addr, int idx= ) > +{ > + return (int16_t)helper_ret_ldw_mmu(env, addr, idx, GETPC()); > +} Either CPUState *cpu or CPUArchState *env. I assume you meant the latter when passing it to a helper? Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg