|
@@ -129,6 +129,8 @@ WORD_TYPE helper_le_ld_name(CPUArchState *env, target_ulong addr,
|
|
|
if (!VICTIM_TLB_HIT(ADDR_READ, addr)) {
|
|
|
tlb_fill(ENV_GET_CPU(env), addr, DATA_SIZE, READ_ACCESS_TYPE,
|
|
|
mmu_idx, retaddr);
|
|
|
+ index = tlb_index(env, mmu_idx, addr);
|
|
|
+ entry = tlb_entry(env, mmu_idx, addr);
|
|
|
}
|
|
|
tlb_addr = entry->ADDR_READ;
|
|
|
}
|
|
@@ -198,6 +200,8 @@ WORD_TYPE helper_be_ld_name(CPUArchState *env, target_ulong addr,
|
|
|
if (!VICTIM_TLB_HIT(ADDR_READ, addr)) {
|
|
|
tlb_fill(ENV_GET_CPU(env), addr, DATA_SIZE, READ_ACCESS_TYPE,
|
|
|
mmu_idx, retaddr);
|
|
|
+ index = tlb_index(env, mmu_idx, addr);
|
|
|
+ entry = tlb_entry(env, mmu_idx, addr);
|
|
|
}
|
|
|
tlb_addr = entry->ADDR_READ;
|
|
|
}
|
|
@@ -294,6 +298,8 @@ void helper_le_st_name(CPUArchState *env, target_ulong addr, DATA_TYPE val,
|
|
|
if (!VICTIM_TLB_HIT(addr_write, addr)) {
|
|
|
tlb_fill(ENV_GET_CPU(env), addr, DATA_SIZE, MMU_DATA_STORE,
|
|
|
mmu_idx, retaddr);
|
|
|
+ index = tlb_index(env, mmu_idx, addr);
|
|
|
+ entry = tlb_entry(env, mmu_idx, addr);
|
|
|
}
|
|
|
tlb_addr = tlb_addr_write(entry) & ~TLB_INVALID_MASK;
|
|
|
}
|
|
@@ -372,6 +378,8 @@ void helper_be_st_name(CPUArchState *env, target_ulong addr, DATA_TYPE val,
|
|
|
if (!VICTIM_TLB_HIT(addr_write, addr)) {
|
|
|
tlb_fill(ENV_GET_CPU(env), addr, DATA_SIZE, MMU_DATA_STORE,
|
|
|
mmu_idx, retaddr);
|
|
|
+ index = tlb_index(env, mmu_idx, addr);
|
|
|
+ entry = tlb_entry(env, mmu_idx, addr);
|
|
|
}
|
|
|
tlb_addr = tlb_addr_write(entry) & ~TLB_INVALID_MASK;
|
|
|
}
|