]> git.proxmox.com Git - mirror_qemu.git/commit - accel/tcg/user-exec.c
tcg: Add CPUClass::tlb_fill
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 2 Apr 2019 07:37:51 +0000 (14:37 +0700)
committerRichard Henderson <richard.henderson@linaro.org>
Fri, 10 May 2019 14:55:06 +0000 (07:55 -0700)
commitda6bbf8513e621a8fc2fd315d77318f36547474d
treee5e71300053bad1fda664ea1113a46eff43e4fce
parentefb4f3b62c69383a7308d7b739a3193e7c0ccae8
tcg: Add CPUClass::tlb_fill

This hook will replace the (user-only mode specific) handle_mmu_fault
hook, and the (system mode specific) tlb_fill function.

The handle_mmu_fault hook was written as if there was a valid
way to recover from an mmu fault, and had 3 possible return states.
In reality, the only valid action is to raise an exception,
return to the main loop, and deliver the SIGSEGV to the guest.

Note that all of the current implementations of handle_mmu_fault
for guests which support linux-user do in fact only ever return 1,
which is the signal to return to the main loop.

Using the hook for system mode requires that all targets be converted,
so for now the hook is (optionally) used only from user-only mode.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/user-exec.c
include/qom/cpu.h