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:
parent
2dad56b50d
commit
5a1d5dbccc
1 changed files with 3 additions and 4 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue