|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [PATCH v2 1/9] accel/tcg: Store some tlb flags in CPUTLBEntryFull |
Date: | Thu, 22 Jun 2023 11:58:25 +0200 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 |
On 21/6/23 14:18, Richard Henderson wrote:
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. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- include/exec/cpu-all.h | 21 +++++++-- include/exec/cpu-defs.h | 6 +++ accel/tcg/cputlb.c | 96 ++++++++++++++++++++++++----------------- 3 files changed, 80 insertions(+), 43 deletions(-)
Do you mind squashing this for clarity? -- >8 -- diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h index c174d5371a..c0f19e5893 100644 --- a/include/exec/cpu-defs.h +++ b/include/exec/cpu-defs.h @@ -130,3 +130,3 @@ typedef struct CPUTLBEntryFull { */ - uint8_t slow_flags[3]; + uint8_t slow_flags[MMU_ACCESS_COUNT]; diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 4871ad85f0..d07763fdeb 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -86,2 +86,3 @@ typedef enum MMUAccessType { MMU_INST_FETCH = 2 +#define MMU_ACCESS_COUNT 3 } MMUAccessType; --- Otherwise, Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[Prev in Thread] | Current Thread | [Next in Thread] |