]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target/loongarch: Fix exception ADEF/ADEM missing to update CSR_BADV
authorSong Gao <gaosong@loongson.cn>
Wed, 14 Jan 2026 07:24:17 +0000 (15:24 +0800)
committerBibo Mao <maobibo@loongson.cn>
Thu, 15 Jan 2026 06:35:52 +0000 (14:35 +0800)
Exception ADEM/ADEF need update CSR_BADV, the value from the virtual
address.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
target/loongarch/tcg/tcg_cpu.c

index 4b4bf39d097871f8eef262abbcb4bfe312087688..af922776692e290085ce0c965aff2799c3d6a352 100644 (file)
@@ -227,6 +227,7 @@ static void loongarch_cpu_do_transaction_failed(CPUState *cs, hwaddr physaddr,
 {
     CPULoongArchState *env = cpu_env(cs);
 
+    env->CSR_BADV = addr;
     if (access_type == MMU_INST_FETCH) {
         do_raise_exception(env, EXCCODE_ADEF, retaddr);
     } else {