Message ID | 20230817093121.1053890-2-gaosong@loongson.cn |
---|---|
State | New |
Headers | show |
Series | Add some checks before translating instructions | expand |
On 17/8/23 11:31, Song Gao wrote: > From: Jiajie Chen <c@jia.je> > > Add is_la64 function to check if the current cpucfg[1].arch equals to > 2(LA64). > > Signed-off-by: Jiajie Chen <c@jia.je> > Co-authored-by: Richard Henderson <richard.henderson@linaro.org> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > Signed-off-by: Song Gao <gaosong@loongson.cn> > --- > target/loongarch/cpu.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/target/loongarch/cpu.h b/target/loongarch/cpu.h index fa371ca8ba..5a71d64a04 100644 --- a/target/loongarch/cpu.h +++ b/target/loongarch/cpu.h @@ -132,6 +132,11 @@ FIELD(CPUCFG1, HP, 24, 1) FIELD(CPUCFG1, IOCSR_BRD, 25, 1) FIELD(CPUCFG1, MSG_INT, 26, 1) +/* cpucfg[1].arch */ +#define CPUCFG1_ARCH_LA32R 0 +#define CPUCFG1_ARCH_LA32 1 +#define CPUCFG1_ARCH_LA64 2 + /* cpucfg[2] bits */ FIELD(CPUCFG2, FP, 0, 1) FIELD(CPUCFG2, FP_SP, 1, 1) @@ -420,6 +425,11 @@ static inline int cpu_mmu_index(CPULoongArchState *env, bool ifetch) #endif } +static inline bool is_la64(CPULoongArchState *env) +{ + return FIELD_EX32(env->cpucfg[1], CPUCFG1, ARCH) == CPUCFG1_ARCH_LA64; +} + /* * LoongArch CPUs hardware flags. */