On 9 October 2018 at 18:45, Emilio G. Cota <[email protected]> wrote: > As far as I can tell tlb_flush does not need to be called > this early. tlb_flush is eventually called after the CPU > has been realized. > > This change paves the way to the introduction of tlb_init, > which will be called from cpu_exec_realizefn. > > Signed-off-by: Emilio G. Cota <[email protected]> > --- > target/alpha/cpu.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c > index b08078e7fc..a953897fcc 100644 > --- a/target/alpha/cpu.c > +++ b/target/alpha/cpu.c > @@ -201,7 +201,6 @@ static void alpha_cpu_initfn(Object *obj) > CPUAlphaState *env = &cpu->env; > > cs->env_ptr = env; > - tlb_flush(cs); > > env->lock_addr = -1; > #if defined(CONFIG_USER_ONLY) > -- > 2.17.1
Definitely agreed that we don't want to tlb_flush in the target cpu initfn. What's the codepath by which tlb_flush gets called on cpu reset? I had a quick look but couldn't find it... (The other dubious-looking bit of flushing in the target/alpha code is the code that generates calls to tb_flush()... we have very few calls to tb_flush outside the 'core' code and I suspect they could all be avoided.) thanks -- PMM
