mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
target/arm: Add wrapper macros for accessing tbflags
We're about to split tbflags into two parts. These macros will ensure that the correct part is used with the correct set of bits. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210419202257.161730-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
ae6eb1e9b3
commit
a729a46b05
5 changed files with 101 additions and 92 deletions
|
@ -3462,6 +3462,26 @@ FIELD(TBFLAG_A64, TCMA, 16, 2)
|
|||
FIELD(TBFLAG_A64, MTE_ACTIVE, 18, 1)
|
||||
FIELD(TBFLAG_A64, MTE0_ACTIVE, 19, 1)
|
||||
|
||||
/*
|
||||
* Helpers for using the above.
|
||||
*/
|
||||
#define DP_TBFLAG_ANY(DST, WHICH, VAL) \
|
||||
(DST = FIELD_DP32(DST, TBFLAG_ANY, WHICH, VAL))
|
||||
#define DP_TBFLAG_A64(DST, WHICH, VAL) \
|
||||
(DST = FIELD_DP32(DST, TBFLAG_A64, WHICH, VAL))
|
||||
#define DP_TBFLAG_A32(DST, WHICH, VAL) \
|
||||
(DST = FIELD_DP32(DST, TBFLAG_A32, WHICH, VAL))
|
||||
#define DP_TBFLAG_M32(DST, WHICH, VAL) \
|
||||
(DST = FIELD_DP32(DST, TBFLAG_M32, WHICH, VAL))
|
||||
#define DP_TBFLAG_AM32(DST, WHICH, VAL) \
|
||||
(DST = FIELD_DP32(DST, TBFLAG_AM32, WHICH, VAL))
|
||||
|
||||
#define EX_TBFLAG_ANY(IN, WHICH) FIELD_EX32(IN, TBFLAG_ANY, WHICH)
|
||||
#define EX_TBFLAG_A64(IN, WHICH) FIELD_EX32(IN, TBFLAG_A64, WHICH)
|
||||
#define EX_TBFLAG_A32(IN, WHICH) FIELD_EX32(IN, TBFLAG_A32, WHICH)
|
||||
#define EX_TBFLAG_M32(IN, WHICH) FIELD_EX32(IN, TBFLAG_M32, WHICH)
|
||||
#define EX_TBFLAG_AM32(IN, WHICH) FIELD_EX32(IN, TBFLAG_AM32, WHICH)
|
||||
|
||||
/**
|
||||
* cpu_mmu_index:
|
||||
* @env: The cpu environment
|
||||
|
@ -3472,7 +3492,7 @@ FIELD(TBFLAG_A64, MTE0_ACTIVE, 19, 1)
|
|||
*/
|
||||
static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
|
||||
{
|
||||
return FIELD_EX32(env->hflags, TBFLAG_ANY, MMUIDX);
|
||||
return EX_TBFLAG_ANY(env->hflags, MMUIDX);
|
||||
}
|
||||
|
||||
static inline bool bswap_code(bool sctlr_b)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue