diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2023-02-22 19:17:52 -1000 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-06-26 17:33:00 +0200 |
commit | 58e8f1f616d117aed6283690419dc16f53b7a202 (patch) | |
tree | 51c033440c2b72c4ca9d72fc868371257909063c /include/exec/cpu-defs.h | |
parent | 97e1576957c28a5fbcc810f92643e52069cc49b7 (diff) | |
download | qemu-58e8f1f616d117aed6283690419dc16f53b7a202.zip qemu-58e8f1f616d117aed6283690419dc16f53b7a202.tar.gz qemu-58e8f1f616d117aed6283690419dc16f53b7a202.tar.bz2 |
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>
Diffstat (limited to 'include/exec/cpu-defs.h')
-rw-r--r-- | include/exec/cpu-defs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h index e6a0794..fb4c8d4 100644 --- a/include/exec/cpu-defs.h +++ b/include/exec/cpu-defs.h @@ -125,6 +125,12 @@ typedef struct CPUTLBEntryFull { uint8_t lg_page_size; /* + * Additional tlb flags for use by the slow path. If non-zero, + * the corresponding CPUTLBEntry comparator must have TLB_FORCE_SLOW. + */ + uint8_t slow_flags[MMU_ACCESS_COUNT]; + + /* * Allow target-specific additions to this structure. * This may be used to cache items from the guest cpu * page tables for later use by the implementation. |