[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH] sparc: fix leon3 casa instruction when MMU is d
From: |
KONRAD Frederic |
Subject: |
[Qemu-devel] [RFC PATCH] sparc: fix leon3 casa instruction when MMU is disabled |
Date: |
Thu, 1 Mar 2018 15:22:53 +0100 |
Since the commit af7a06bac7d3abb2da48ef3277d2a415772d2ae8:
`casa [..](10), .., ..` triggers a data access exception when the MMU
is disabled.
This fixes this wrong behavior.
Signed-off-by: KONRAD Frederic <address@hidden>
---
Notes:
There is an other way to do that: emiting the instruction with a
MMU_PHYS_IDX when the MMU is disabled. I can switch to that if it's a
prefered method.
target/sparc/mmu_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/sparc/mmu_helper.c b/target/sparc/mmu_helper.c
index f8886ae..3cebf50 100644
--- a/target/sparc/mmu_helper.c
+++ b/target/sparc/mmu_helper.c
@@ -100,7 +100,7 @@ static int get_physical_address(CPUSPARCState *env, hwaddr
*physical,
is_user = mmu_idx == MMU_USER_IDX;
- if (mmu_idx == MMU_PHYS_IDX) {
+ if ((mmu_idx == MMU_PHYS_IDX) || ((env->mmuregs[0] & MMU_E) == 0)) {
*page_size = TARGET_PAGE_SIZE;
/* Boot mode: instruction fetches are taken from PROM */
if (rw == 2 && (env->mmuregs[0] & env->def.mmu_bm)) {
--
1.8.3.1
- [Qemu-devel] [RFC PATCH] sparc: fix leon3 casa instruction when MMU is disabled,
KONRAD Frederic <=