With function helper_invtlb_page_asid_or_g(), one TLB entry in
LoongArch emulated TLB is invalidated. Also invalidate_tlb_entry()
can be called so that only one QEMU TLB entry will be flushed.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
---
target/loongarch/tcg/tlb_helper.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/target/loongarch/tcg/tlb_helper.c b/target/loongarch/tcg/tlb_helper.c
index df11ff4995..d83e5fb7f8 100644
--- a/target/loongarch/tcg/tlb_helper.c
+++ b/target/loongarch/tcg/tlb_helper.c
@@ -571,7 +571,6 @@ void helper_invtlb_page_asid_or_g(CPULoongArchState *env,
target_ulong info, target_ulong addr)
{
int index, asid = info & 0x3ff;
- LoongArchTLB *tlb;
tlb_match func;
bool ret;
@@ -581,9 +580,7 @@ void helper_invtlb_page_asid_or_g(CPULoongArchState *env,
return;
}
- tlb = &env->tlb[index];
- tlb->tlb_misc = FIELD_DP64(tlb->tlb_misc, TLB_MISC, E, 0);
- tlb_flush(env_cpu(env));
+ invalidate_tlb(env, index);
}
/*
--
2.39.3