From 9be6d4c6d2935123c64664d0862db17d2981a7f5 Mon Sep 17 00:00:00 2001 From: Yongbok Kim Date: Fri, 17 Aug 2018 14:24:11 -0400 Subject: [PATCH] target/mips: Don't update BadVAddr register in Debug Mode BadVAddr should not be updated if (env->hflags & MIPS_HFLAG_DM) is set. Backports commit e807bcc1513f2d79c992a08b252fa32e69c6e8b2 from qemu --- qemu/target/mips/helper.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qemu/target/mips/helper.c b/qemu/target/mips/helper.c index a4961c4b..5c83017b 100644 --- a/qemu/target/mips/helper.c +++ b/qemu/target/mips/helper.c @@ -491,7 +491,9 @@ static void raise_mmu_exception(CPUMIPSState *env, target_ulong address, break; } /* Raise exception */ - env->CP0_BadVAddr = address; + if (!(env->hflags & MIPS_HFLAG_DM)) { + env->CP0_BadVAddr = address; + } env->CP0_Context = (env->CP0_Context & ~0x007fffff) | ((address >> 9) & 0x007ffff0); env->CP0_EntryHi = (env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask) |