target/i386: Implement x86_cpu_record_sigsegv
commitf74bd157c62f5c064418d038f9003c9c4b3dad0e
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 18 Sep 2021 02:10:25 +0000 (17 19:10 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 2 Nov 2021 11:00:52 +0000 (2 07:00 -0400)
treee27f0cb209ae71fccc0cb8ef099d3ce4a6cce9ed
parent860e0b965be0ac3b8e455c3d80d4ca6f5e30a97a
target/i386: Implement x86_cpu_record_sigsegv

Record cr2, error_code, and exception_index.  That last means
that we must exit to cpu_loop ourselves, instead of letting
exception_index being overwritten.

Use the maperr parameter to properly set PG_ERROR_P_MASK.

Reviewed by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/i386/tcg/helper-tcg.h
target/i386/tcg/tcg-cpu.c
target/i386/tcg/user/excp_helper.c