On Wed, Jun 01, 2016 at 08:03:08AM +0100, Mark Cave-Ayland wrote: > 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.
Cédric, Not sure if you've seen this thread, but one of the HV-mode patches caused a regression on Mac. I think it's because I didn't include the other patch which treats Apple-mode PPCs as always having HV=1. Can you make sending your updated version of that patch a priority, even if the rest of the batch of HV patches isn't ready yet. > >> 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). Ok. So, yeah, I'm not really set up to test Mac machines which means I don't easily catch regressions like this. Mark, Could you look into adding a testcase to "make check" that will at least catch these unsubtle breaks boot type regressions? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature