From e3f114f761fd44db3b33f5d704da48392fce4ce8 Mon Sep 17 00:00:00 2001 From: Alexandre Courbot Date: Wed, 26 Jan 2011 11:57:53 +0900 Subject: target-sh4: update PTEH upon MMU exception Update the PTEH register to contain the VPN at which an MMU exception occured as specified by the SH4 reference. Signed-off-by: Alexandre Courbot Signed-off-by: Aurelien Jarno --- target-sh4/helper.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'target-sh4') diff --git a/target-sh4/helper.c b/target-sh4/helper.c index 785e9e5..d2038bd 100644 --- a/target-sh4/helper.c +++ b/target-sh4/helper.c @@ -453,6 +453,10 @@ int cpu_sh4_handle_mmu_fault(CPUState * env, target_ulong address, int rw, if (ret != MMU_OK) { env->tea = address; + if (ret != MMU_DTLB_MULTIPLE && ret != MMU_ITLB_MULTIPLE) { + env->pteh = (env->pteh & PTEH_ASID_MASK) | + (address & PTEH_VPN_MASK); + } switch (ret) { case MMU_ITLB_MISS: case MMU_DTLB_MISS_READ: -- cgit v1.1