From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48043) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNtau-0008Rf-T1 for qemu-devel@nongnu.org; Wed, 12 Mar 2014 20:34:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNtao-0001Xt-TR for qemu-devel@nongnu.org; Wed, 12 Mar 2014 20:33:56 -0400 Message-ID: <5320FCEB.6050508@suse.de> Date: Thu, 13 Mar 2014 01:33:47 +0100 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1394410549-13751-1-git-send-email-afaerber@suse.de> <1394410549-13751-38-git-send-email-afaerber@suse.de> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-cpu v2 37/40] cputlb: Change tlb_flush_page() argument to CPUState List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Filippov Cc: Peter Maydell , Jia Liu , Alexander Graf , qemu-devel , Blue Swirl , qemu-ppc , Paolo Bonzini , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson Am 11.03.2014 16:05, schrieb Max Filippov: > On Mon, Mar 10, 2014 at 4:15 AM, Andreas F=C3=A4rber = wrote: >> diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c >> index 624ef54..612d3bf 100644 >> --- a/target-xtensa/op_helper.c >> +++ b/target-xtensa/op_helper.c >> @@ -730,21 +730,24 @@ void xtensa_tlb_set_entry_mmu(const CPUXtensaSta= te *env, >> void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb, >> unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte) >> { >> + XtensaCPU *cpu =3D xtensa_env_get_cpu(env); >> + CPUState *cs; >> xtensa_tlb_entry *entry =3D xtensa_tlb_get_entry(env, dtlb, wi, e= i); >> >> if (xtensa_option_enabled(env->config, XTENSA_OPTION_MMU)) { >> if (entry->variable) { >> + cs =3D CPU(cpu); >=20 > Maybe move it up and use cs everywhere, or drop cs and use CPU(cpu) > everywhere? Sure, if the !enabled && !variable path is of no performance concern, I'll happily change it to: diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c index c41d341..cae9cf4 100644 --- a/target-xtensa/op_helper.c +++ b/target-xtensa/op_helper.c @@ -733,12 +733,11 @@ void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb, unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte) { XtensaCPU *cpu =3D xtensa_env_get_cpu(env); - CPUState *cs; + CPUState *cs =3D CPU(cpu); xtensa_tlb_entry *entry =3D xtensa_tlb_get_entry(env, dtlb, wi, ei); if (xtensa_option_enabled(env->config, XTENSA_OPTION_MMU)) { if (entry->variable) { - cs =3D CPU(cpu); if (entry->asid) { tlb_flush_page(cs, entry->vaddr); } @@ -749,7 +748,7 @@ void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb, __func__, dtlb, wi, ei); } } else { - tlb_flush_page(CPU(cpu), entry->vaddr); + tlb_flush_page(cs, entry->vaddr); if (xtensa_option_enabled(env->config, XTENSA_OPTION_REGION_TRANSLATION)) { entry->paddr =3D pte & REGION_PAGE_MASK; Thanks, Andreas >=20 >> if (entry->asid) { >> - tlb_flush_page(env, entry->vaddr); >> + tlb_flush_page(cs, entry->vaddr); >> } >> xtensa_tlb_set_entry_mmu(env, entry, dtlb, wi, ei, vpn, p= te); >> - tlb_flush_page(env, entry->vaddr); >> + tlb_flush_page(cs, entry->vaddr); >> } else { >> qemu_log("%s %d, %d, %d trying to set immutable entry\n", >> __func__, dtlb, wi, ei); >> } >> } else { >> - tlb_flush_page(env, entry->vaddr); >> + tlb_flush_page(CPU(cpu), entry->vaddr); >> if (xtensa_option_enabled(env->config, >> XTENSA_OPTION_REGION_TRANSLATION)) { >> entry->paddr =3D pte & REGION_PAGE_MASK; --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg