qemu/target/i386/tcg/sysemu
Paolo Bonzini b04dc92e01 target-i386: mmu: fix handling of noncanonical virtual addresses
mmu_translate is supposed to return an error code for page faults; it is
not able to handle other exceptions.  The #GP case for noncanonical
virtual addresses is not handled correctly, and incorrectly raised as
a page fault with error code 1.  Since it cannot happen for nested
page tables, move it directly to handle_mmu_fault, even before the
invocation of mmu_translate.

Fixes: #676
Fixes: 661ff4879e ("target/i386: extract mmu_translate", 2021-05-11)
Cc: qemu-stable@nongnu.org
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-11-08 08:55:20 +01:00
..
bpt_helper.c target/i386: Tidy hw_breakpoint_remove 2021-07-13 08:13:19 -07:00
excp_helper.c target-i386: mmu: fix handling of noncanonical virtual addresses 2021-11-08 08:55:20 +01:00
fpu_helper.c i386: separate fpu_helper sysemu-only parts 2021-05-10 15:41:51 -04:00
meson.build i386: split seg_helper into user-only and sysemu parts 2021-05-10 15:41:52 -04:00
misc_helper.c target/i386: Added changed priority check for VIRQ 2021-09-13 13:56:26 +02:00
seg_helper.c target/i386: Move x86_cpu_exec_interrupt() under sysemu/ folder 2021-09-14 12:00:21 -07:00
smm_helper.c i386: split smm helper (sysemu) 2021-05-10 15:41:51 -04:00
svm_helper.c target/i386: Added vVMLOAD and vVMSAVE feature 2021-09-13 13:56:26 +02:00
tcg-cpu.c