On Thu, Jan 9, 2020 at 12:52 PM Richard Henderson <richard.hender...@linaro.org> wrote: > > We will want to be able to flush a tlb without resizing. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > accel/tcg/cputlb.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c > index eff427f137..e60e501334 100644 > --- a/accel/tcg/cputlb.c > +++ b/accel/tcg/cputlb.c > @@ -228,12 +228,8 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, > CPUTLBDescFast *fast) > } > } > > -static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) > +static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) > { > - CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx]; > - CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx]; > - > - tlb_mmu_resize_locked(desc, fast); > desc->n_used_entries = 0; > desc->large_page_addr = -1; > desc->large_page_mask = -1; > @@ -242,6 +238,15 @@ static void tlb_flush_one_mmuidx_locked(CPUArchState > *env, int mmu_idx) > memset(desc->vtable, -1, sizeof(desc->vtable)); > } > > +static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) > +{ > + CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx]; > + CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx]; > + > + tlb_mmu_resize_locked(desc, fast); > + tlb_mmu_flush_locked(desc, fast); > +} > + > static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t > mmu_idx) > { > env_tlb(env)->d[mmu_idx].n_used_entries++; > -- > 2.20.1 > >