accel/tcg: Add tlb_flush_page_bits_by_mmuidx*
commit3ab6e68cd035de244d9bf999900349a69939ad41
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 16 Oct 2020 21:07:53 +0000 (16 14:07 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 20 Oct 2020 15:12:00 +0000 (20 16:12 +0100)
tree8e46f33644cf8b694277a2993f01c10fd7040fe5
parent722bde6789c55f9f872026f796ecabecbec5d82b
accel/tcg: Add tlb_flush_page_bits_by_mmuidx*

On ARM, the Top Byte Ignore feature means that only 56 bits of
the address are significant in the virtual address.  We are
required to give the entire 64-bit address to FAR_ELx on fault,
which means that we do not "clean" the top byte early in TCG.

This new interface allows us to flush all 256 possible aliases
for a given page, currently missed by tlb_flush_page*.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20201016210754.818257-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
accel/tcg/cputlb.c
include/exec/exec-all.h