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 <b...@kernel.crashing.org> >>> >>> Not that anything remotely recent supports tlbia but ... >>> >>> Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> >>> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> >>> --- >>> 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.