accel/tcg: Store some tlb flags in CPUTLBEntryFull
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 23 Feb 2023 05:17:52 +0000 (19:17 -1000)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 26 Jun 2023 15:33:00 +0000 (17:33 +0200)
commit58e8f1f616d117aed6283690419dc16f53b7a202
tree51c033440c2b72c4ca9d72fc868371257909063c
parent97e1576957c28a5fbcc810f92643e52069cc49b7
accel/tcg: Store some tlb flags in CPUTLBEntryFull

We have run out of bits we can use within the CPUTLBEntry comparators,
as TLB_FLAGS_MASK cannot overlap alignment.

Store slow_flags[] in CPUTLBEntryFull, and merge with the flags from
the comparator.  A new TLB_FORCE_SLOW bit is set within the comparator
as an indication that the slow path must be used.

Move TLB_BSWAP to TLB_SLOW_FLAGS_MASK.  Since we are out of bits,
we cannot create a new bit without moving an old one.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/cputlb.c
include/exec/cpu-all.h
include/exec/cpu-defs.h
include/hw/core/cpu.h