]> git.proxmox.com Git - qemu.git/commitdiff
Fix Xcontext fill, by Here Poussineau.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Sep 2008 21:21:26 +0000 (21:21 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Sep 2008 21:21:26 +0000 (21:21 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5284 c046a42c-6fe2-441c-8c8c-71466251a162

target-mips/helper.c

index b3790217f15e251cd43c0c321f6a71b7181b35da..9340ad01234a5c282829ced1d2153045fb07a473 100644 (file)
@@ -304,7 +304,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
 #if defined(TARGET_MIPS64)
         env->CP0_EntryHi &= env->SEGMask;
         env->CP0_XContext = (env->CP0_XContext & ((~0ULL) << (env->SEGBITS - 7))) |
-                            ((address & 0xC00000000000ULL) >> (env->SEGBITS - 9)) |
+                            ((address & 0xC00000000000ULL) >> (55 - env->SEGBITS)) |
                             ((address & ((1ULL << env->SEGBITS) - 1) & 0xFFFFFFFFFFFFE000ULL) >> 9);
 #endif
         env->exception_index = exception;