[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/3] target/loongarch: Fix PGD CSR for LoongArch32
From: |
Jiaxun Yang |
Subject: |
[PATCH 3/3] target/loongarch: Fix PGD CSR for LoongArch32 |
Date: |
Sun, 22 Dec 2024 23:40:27 +0000 |
As per manual, the source of PGD CSR is relevant to highest bit of
BADV. In LoongArch32, all CSRs are 32 bits only, thus we should check
bit 31 of BADV to determine PGDH/PGDL for LoongArch32.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
target/loongarch/tcg/csr_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/loongarch/tcg/csr_helper.c
b/target/loongarch/tcg/csr_helper.c
index
15f94caefabc7722263fa46e948e21de37b4203c..ca8100eedfb37fd3b45b3de0c0fc0fad599c4685
100644
--- a/target/loongarch/tcg/csr_helper.c
+++ b/target/loongarch/tcg/csr_helper.c
@@ -26,7 +26,7 @@ target_ulong helper_csrrd_pgd(CPULoongArchState *env)
v = env->CSR_BADV;
}
- if ((v >> 63) & 0x1) {
+ if (v >> (is_la64(env) ? 63 : 31) & 0x1) {
v = env->CSR_PGDH;
} else {
v = env->CSR_PGDL;
--
2.43.0
[PATCH 1/3] target/loongarch: Enable rotr.w/rotri.w for LoongArch32, Jiaxun Yang, 2024/12/22
[PATCH 3/3] target/loongarch: Fix PGD CSR for LoongArch32,
Jiaxun Yang <=