]> git.proxmox.com Git - mirror_qemu.git/commit
tcg: Use tlb_fill probe from tlb_vaddr_to_host
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 3 Apr 2019 03:16:56 +0000 (10:16 +0700)
committerRichard Henderson <richard.henderson@linaro.org>
Fri, 10 May 2019 18:12:50 +0000 (11:12 -0700)
commit4811e9095c0491bc6f5450e5012c9c4796b9e59d
treec29149b731e5babf0487ab2459d7c03265996a8e
parent69963f5709a0645934c169784820d0bee22208ba
tcg: Use tlb_fill probe from tlb_vaddr_to_host

Most of the existing users would continue around a loop which
would fault the tlb entry in via a normal load/store.

But for AArch64 SVE we have an existing emulation bug wherein we
would mark the first element of a no-fault vector load as faulted
(within the FFR, not via exception) just because we did not have
its address in the TLB.  Now we can properly only mark it as faulted
if there really is no valid, readable translation, while still not
raising an exception.  (Note that beyond the first element of the
vector, the hardware may report a fault for any reason whatsoever;
with at least one element loaded, forward progress is guaranteed.)

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/cputlb.c
include/exec/cpu_ldst.h
target/arm/sve_helper.c