From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b80C8-0002Ng-RK for qemu-devel@nongnu.org; Wed, 01 Jun 2016 03:04:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b80C4-0004k2-RA for qemu-devel@nongnu.org; Wed, 01 Jun 2016 03:04:00 -0400 References: <1464655277-14748-1-git-send-email-david@gibson.dropbear.id.au> <1464655277-14748-5-git-send-email-david@gibson.dropbear.id.au> <574E1021.8040805@ilande.co.uk> <20160601021511.GA15455@voom.fritz.box> From: Mark Cave-Ayland Message-ID: <574E88AC.7020608@ilande.co.uk> Date: Wed, 1 Jun 2016 08:03:08 +0100 MIME-Version: 1.0 In-Reply-To: <20160601021511.GA15455@voom.fritz.box> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-ppc] [PULL 04/12] ppc: tlbie, tlbia and tlbisync are HV only List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: peter.maydell@linaro.org, pbonzini@redhat.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, bharata.rao@gmail.com On 01/06/16 03:15, David Gibson wrote: > On Tue, May 31, 2016 at 11:28:49PM +0100, Mark Cave-Ayland wrote: >> On 31/05/16 01:41, David Gibson wrote: >> >>> From: Benjamin Herrenschmidt >>> >>> Not that anything remotely recent supports tlbia but ... >>> >>> Signed-off-by: Benjamin Herrenschmidt >>> Signed-off-by: David Gibson >>> --- >>> target-ppc/translate.c | 6 +++--- >>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/target-ppc/translate.c b/target-ppc/translate.c >>> index dfd3010..690ffd2 100644 >>> --- a/target-ppc/translate.c >>> +++ b/target-ppc/translate.c >>> @@ -4858,7 +4858,7 @@ static void gen_tlbie(DisasContext *ctx) >>> #if defined(CONFIG_USER_ONLY) >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> #else >>> - if (unlikely(ctx->pr)) { >>> + if (unlikely(ctx->pr || !ctx->hv)) { >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> return; >>> } >>> @@ -4879,7 +4879,7 @@ static void gen_tlbsync(DisasContext *ctx) >>> #if defined(CONFIG_USER_ONLY) >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> #else >>> - if (unlikely(ctx->pr)) { >>> + if (unlikely(ctx->pr || !ctx->hv)) { >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> return; >>> } >>> @@ -4898,7 +4898,7 @@ static void gen_slbia(DisasContext *ctx) >>> #if defined(CONFIG_USER_ONLY) >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> #else >>> - if (unlikely(ctx->pr)) { >>> + if (unlikely(ctx->pr || !ctx->hv)) { >>> gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); >>> return; >>> } >> >> Unfortunately this patch breaks qemu-system-ppc for both g3beige and >> mac99 under TCG causing a freeze in OpenBIOS when starting >> qemu-system-ppc with no parameters. > > Bother, sorry. > > I think this is because I applied this without the patch that treats > machines with no hypervisor mode (e.g. Apples) as always being in > hypervisor mode. No problem, I can cope for a couple of days or so. >> Note that there is also another regression that has recently landed in >> git master so you'll also need to revert >> e7c9136977cb99c6eb52c9139f7b8d8b5fa87db9 in order to get back to a >> functioning OpenBIOS. > > I'd preter to see it fixed rather than just reverted.. Looks like the original author has found the bug, so there should be a fix coming up for this soon (I only included it here in case you needed an explicit test case). ATB, Mark.