mirror of https://gitee.com/openkylin/qemu.git
tcg: Remove CPUClass::handle_mmu_fault
This hook is now completely replaced by tlb_fill. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
c319dc1357
commit
69963f5709
|
@ -63,7 +63,6 @@ static inline int handle_cpu_signal(uintptr_t pc, siginfo_t *info,
|
|||
{
|
||||
CPUState *cpu = current_cpu;
|
||||
CPUClass *cc;
|
||||
int ret;
|
||||
unsigned long address = (unsigned long)info->si_addr;
|
||||
MMUAccessType access_type;
|
||||
|
||||
|
@ -156,15 +155,9 @@ static inline int handle_cpu_signal(uintptr_t pc, siginfo_t *info,
|
|||
helper_retaddr = 0;
|
||||
|
||||
cc = CPU_GET_CLASS(cpu);
|
||||
if (cc->tlb_fill) {
|
||||
access_type = is_write ? MMU_DATA_STORE : MMU_DATA_LOAD;
|
||||
cc->tlb_fill(cpu, address, 0, access_type, MMU_USER_IDX, false, pc);
|
||||
g_assert_not_reached();
|
||||
} else {
|
||||
ret = cc->handle_mmu_fault(cpu, address, 0, is_write, MMU_USER_IDX);
|
||||
g_assert(ret > 0);
|
||||
cpu_loop_exit_restore(cpu, pc);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(__i386__)
|
||||
|
|
|
@ -117,7 +117,6 @@ struct TranslationBlock;
|
|||
* This always includes at least the program counter; some targets
|
||||
* will need to do more. If this hook is not implemented then the
|
||||
* default is to call @set_pc(tb->pc).
|
||||
* @handle_mmu_fault: Callback for handling an MMU fault.
|
||||
* @tlb_fill: Callback for handling a softmmu tlb miss or user-only
|
||||
* address fault. For system mode, if the access is valid, call
|
||||
* tlb_set_page and return true; if the access is invalid, and
|
||||
|
@ -195,8 +194,6 @@ typedef struct CPUClass {
|
|||
Error **errp);
|
||||
void (*set_pc)(CPUState *cpu, vaddr value);
|
||||
void (*synchronize_from_tb)(CPUState *cpu, struct TranslationBlock *tb);
|
||||
int (*handle_mmu_fault)(CPUState *cpu, vaddr address, int size, int rw,
|
||||
int mmu_index);
|
||||
bool (*tlb_fill)(CPUState *cpu, vaddr address, int size,
|
||||
MMUAccessType access_type, int mmu_idx,
|
||||
bool probe, uintptr_t retaddr);
|
||||
|
|
Loading…
Reference in New Issue