target/loongarch: Add parameter tlb pointer with fill_tlb_entry

With function fill_tlb_entry(), it will update LoongArch emulated
TLB information. Here parameter tlb pointer is added so that TLB
entry will be updated based on relative TLB CSR registers.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Bibo Mao 2025-07-24 19:57:34 +08:00
parent 2dad56b50d
commit 5a1d5dbccc

View file

@ -143,9 +143,8 @@ static void invalidate_tlb(CPULoongArchState *env, int index)
invalidate_tlb_entry(env, index);
}
static void fill_tlb_entry(CPULoongArchState *env, int index)
static void fill_tlb_entry(CPULoongArchState *env, LoongArchTLB *tlb)
{
LoongArchTLB *tlb = &env->tlb[index];
uint64_t lo0, lo1, csr_vppn;
uint16_t csr_asid;
uint8_t csr_ps;
@ -312,7 +311,7 @@ void helper_tlbwr(CPULoongArchState *env)
return;
}
fill_tlb_entry(env, index);
fill_tlb_entry(env, env->tlb + index);
}
void helper_tlbfill(CPULoongArchState *env)
@ -350,7 +349,7 @@ void helper_tlbfill(CPULoongArchState *env)
}
invalidate_tlb(env, index);
fill_tlb_entry(env, index);
fill_tlb_entry(env, env->tlb + index);
}
void helper_tlbclr(CPULoongArchState *env)