[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/31] target/loongarch: Add function to check current arch
From: |
Song Gao |
Subject: |
[PULL 06/31] target/loongarch: Add function to check current arch |
Date: |
Thu, 24 Aug 2023 17:23:44 +0800 |
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>
Message-ID: <20230817093121.1053890-2-gaosong@loongson.cn>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230821125959.28666-7-philmd@linaro.org>
---
target/loongarch/cpu.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/target/loongarch/cpu.h b/target/loongarch/cpu.h
index c50b3a5ef3..3235ad081f 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)
@@ -421,6 +426,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.
*/
--
2.39.1
- [PULL 00/31] loongarch-to-apply queue, Song Gao, 2023/08/24
- [PULL 02/31] target/loongarch: Remove duplicated disas_set_info assignment, Song Gao, 2023/08/24
- [PULL 03/31] target/loongarch: Fix loongarch_la464_initfn() misses setting LSPW, Song Gao, 2023/08/24
- [PULL 05/31] target/loongarch: Extract 64-bit specifics to loongarch64_cpu_class_init, Song Gao, 2023/08/24
- [PULL 07/31] target/loongarch: Add new object class for loongarch32 cpus, Song Gao, 2023/08/24
- [PULL 09/31] target/loongarch: Support LoongArch32 TLB entry, Song Gao, 2023/08/24
- [PULL 04/31] target/loongarch: Introduce abstract TYPE_LOONGARCH64_CPU, Song Gao, 2023/08/24
- [PULL 08/31] target/loongarch: Add GDB support for loongarch32 mode, Song Gao, 2023/08/24
- [PULL 06/31] target/loongarch: Add function to check current arch,
Song Gao <=
- [PULL 01/31] target/loongarch: Log I/O write accesses to CSR registers, Song Gao, 2023/08/24
- [PULL 22/31] hw/loongarch: Remove restriction of la464 cores in the virt machine, Song Gao, 2023/08/24
- [PULL 23/31] target/loongarch: Add avail_FP/FP_SP/FP_DP to check fpu instructions, Song Gao, 2023/08/24
- [PULL 15/31] target/loongarch: Extract make_address_pc() helper, Song Gao, 2023/08/24
- [PULL 18/31] target/loongarch: Sign extend results in VA32 mode, Song Gao, 2023/08/24
- [PULL 27/31] target/loongarch: Add avail_IOCSR to check iocsr instructions, Song Gao, 2023/08/24
- [PULL 12/31] target/loongarch: Add LA64 & VA32 to DisasContext, Song Gao, 2023/08/24
- [PULL 16/31] target/loongarch: Extract set_pc() helper, Song Gao, 2023/08/24
- [PULL 20/31] target/loongarch: Add avail_64 to check la64-only instructions, Song Gao, 2023/08/24
- [PULL 24/31] target/loongarch: Add avail_LSPW to check LSPW instructions, Song Gao, 2023/08/24