tcg: Release mmap_lock on translation fault
commit52ba13f042714c4086416973fb88e2465e0888a1
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 9 Jul 2019 08:33:36 +0000 (9 10:33 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Sun, 14 Jul 2019 10:19:01 +0000 (14 12:19 +0200)
treed7504bd7a0d6b1ca6f741897e39ee3eed34a68c1
parent2fbb2353ce8d098e172cd25024fc221c1c8e3591
tcg: Release mmap_lock on translation fault

Turn helper_retaddr into a multi-state flag that may now also
indicate when we're performing a read on behalf of the translator.
In this case, release the mmap_lock before the longjmp back to
the main cpu loop, and thereby avoid a failing assert therein.

Fixes: https://bugs.launchpad.net/qemu/+bug/1832353
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/user-exec.c
include/exec/cpu_ldst_useronly_template.h