summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJiajie Chen <c@jia.je>2023-09-30 19:28:23 +0800
committerSong Gao <gaosong@loongson.cn>2023-10-13 09:50:16 +0800
commit32f4916cfb569b6b3eb8a29e8aca586ab990920e (patch)
tree7bb9055a99eb43ae503db249551c0a0d3a6efb6b
parent63011373ad22c794a013da69663c03f1297a5c56 (diff)
downloadfocaccia-qemu-32f4916cfb569b6b3eb8a29e8aca586ab990920e.tar.gz
focaccia-qemu-32f4916cfb569b6b3eb8a29e8aca586ab990920e.zip
target/loongarch: fix ASXE flag conflict
HW_FLAGS_EUEN_ASXE acccidentally conflicts with HW_FLAGS_CRMD_PG,
enabling LASX instructions even when CSR_EUEN.ASXE=0.

Closes: https://gitlab.com/qemu-project/qemu/-/issues/1907
Signed-off-by: Jiajie Chen <c@jia.je>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20230930112837.1871691-1-c@jia.je>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Diffstat (limited to '')
-rw-r--r--target/loongarch/cpu.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/target/loongarch/cpu.h b/target/loongarch/cpu.h
index 40e70a8119..8b54cf109c 100644
--- a/target/loongarch/cpu.h
+++ b/target/loongarch/cpu.h
@@ -458,11 +458,11 @@ static inline void set_pc(CPULoongArchState *env, uint64_t value)
  * LoongArch CPUs hardware flags.
  */
 #define HW_FLAGS_PLV_MASK   R_CSR_CRMD_PLV_MASK  /* 0x03 */
-#define HW_FLAGS_CRMD_PG    R_CSR_CRMD_PG_MASK   /* 0x10 */
 #define HW_FLAGS_EUEN_FPE   0x04
 #define HW_FLAGS_EUEN_SXE   0x08
-#define HW_FLAGS_EUEN_ASXE  0x10
+#define HW_FLAGS_CRMD_PG    R_CSR_CRMD_PG_MASK   /* 0x10 */
 #define HW_FLAGS_VA32       0x20
+#define HW_FLAGS_EUEN_ASXE  0x40
 
 static inline void cpu_get_tb_cpu_state(CPULoongArchState *env, vaddr *pc,
                                         uint64_t *cs_base, uint32_t *flags)