mirror of https://gitlab.com/qemu-project/qemu
cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked
There is only one caller for tlb_table_flush_by_mmuidx. Place the result at the earlier line number, due to an expected user in the near future. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
755ee1f301
commit
f1293145d6
|
@ -224,11 +224,16 @@ static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void tlb_table_flush_by_mmuidx(CPUArchState *env, int mmu_idx)
|
static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
|
||||||
{
|
{
|
||||||
tlb_mmu_resize_locked(env, mmu_idx);
|
tlb_mmu_resize_locked(env, mmu_idx);
|
||||||
memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx));
|
|
||||||
env_tlb(env)->d[mmu_idx].n_used_entries = 0;
|
env_tlb(env)->d[mmu_idx].n_used_entries = 0;
|
||||||
|
env_tlb(env)->d[mmu_idx].large_page_addr = -1;
|
||||||
|
env_tlb(env)->d[mmu_idx].large_page_mask = -1;
|
||||||
|
env_tlb(env)->d[mmu_idx].vindex = 0;
|
||||||
|
memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx));
|
||||||
|
memset(env_tlb(env)->d[mmu_idx].vtable, -1,
|
||||||
|
sizeof(env_tlb(env)->d[0].vtable));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
|
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
|
||||||
|
@ -289,16 +294,6 @@ void tlb_flush_counts(size_t *pfull, size_t *ppart, size_t *pelide)
|
||||||
*pelide = elide;
|
*pelide = elide;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
|
|
||||||
{
|
|
||||||
tlb_table_flush_by_mmuidx(env, mmu_idx);
|
|
||||||
env_tlb(env)->d[mmu_idx].large_page_addr = -1;
|
|
||||||
env_tlb(env)->d[mmu_idx].large_page_mask = -1;
|
|
||||||
env_tlb(env)->d[mmu_idx].vindex = 0;
|
|
||||||
memset(env_tlb(env)->d[mmu_idx].vtable, -1,
|
|
||||||
sizeof(env_tlb(env)->d[0].vtable));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data data)
|
static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data data)
|
||||||
{
|
{
|
||||||
CPUArchState *env = cpu->env_ptr;
|
CPUArchState *env = cpu->env_ptr;
|
||||||
|
|
Loading…
Reference in New Issue