[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] ppc: CPU reset must flush translation buffer
From: |
Benjamin Herrenschmidt |
Subject: |
Re: [Qemu-devel] ppc: CPU reset must flush translation buffer |
Date: |
Mon, 21 May 2012 16:26:51 +1000 |
On Mon, 2012-05-21 at 08:16 +0200, Alexander Graf wrote:
>
> On 21.05.2012, at 04:01, Benjamin Herrenschmidt
> <address@hidden> wrote:
>
> > Without that, reset from SLOF crashes in full emulation.
> >
> > Reported-by: Thomas Huth <address@hidden>
> > Signed-off-by: Benjamin Herrenschmidt <address@hidden>
> > ---
> > 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.