On Mon, 2012-05-21 at 08:16 +0200, Alexander Graf wrote: > > On 21.05.2012, at 04:01, Benjamin Herrenschmidt > <b...@kernel.crashing.org> wrote: > > > Without that, reset from SLOF crashes in full emulation. > > > > Reported-by: Thomas Huth <th...@linux.vnet.ibm.com> > > Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> > > --- > > target-ppc/translate_init.c | 1 + > > 1 files changed, 1 insertions(+), 0 deletions(-) > > > > diff --git a/target-ppc/translate_init.c > b/target-ppc/translate_init.c > > index ae03065..fbf7705 100644 > > --- a/target-ppc/translate_init.c > > +++ b/target-ppc/translate_init.c > > @@ -10285,6 +10285,7 @@ static void ppc_cpu_reset(CPUState *s) > > env->error_code = 0; > > /* Flush all TLBs */ > > tlb_flush(env, 1); > > + tb_flush(env); > > Shouldn't this be true for all CPUs? I remember talking about reset > with Peter a while ago... but don't remember the conclusions :)
Possibly. I noticed other targets do that too (ARM iirc), in this case I think it's the ROM being reloaded that doesn't flush the cached translations for the vectors (I -think-, that's from memory). But there could be all sort of other context changes, so it seems like the safest thing to do. Cheers, Ben.