From: Alexandre Courbot Date: Wed, 26 Jan 2011 02:57:53 +0000 (+0900) Subject: target-sh4: update PTEH upon MMU exception X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e3f114f761fd44db3b33f5d704da48392fce4ce8;p=qemu.git 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 --- diff --git a/target-sh4/helper.c b/target-sh4/helper.c index 785e9e54e7..d2038bd842 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: