Commit 9c67ef0cb545ff165bfdd077b93f608eceabe0d7

Authored by ths
1 parent ab508019

Fix Xcontext fill, by Here Poussineau.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5284 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 1 deletions
target-mips/helper.c
@@ -304,7 +304,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw, @@ -304,7 +304,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
304 #if defined(TARGET_MIPS64) 304 #if defined(TARGET_MIPS64)
305 env->CP0_EntryHi &= env->SEGMask; 305 env->CP0_EntryHi &= env->SEGMask;
306 env->CP0_XContext = (env->CP0_XContext & ((~0ULL) << (env->SEGBITS - 7))) | 306 env->CP0_XContext = (env->CP0_XContext & ((~0ULL) << (env->SEGBITS - 7))) |
307 - ((address & 0xC00000000000ULL) >> (env->SEGBITS - 9)) | 307 + ((address & 0xC00000000000ULL) >> (55 - env->SEGBITS)) |
308 ((address & ((1ULL << env->SEGBITS) - 1) & 0xFFFFFFFFFFFFE000ULL) >> 9); 308 ((address & ((1ULL << env->SEGBITS) - 1) & 0xFFFFFFFFFFFFE000ULL) >> 9);
309 #endif 309 #endif
310 env->exception_index = exception; 310 env->exception_index = exception;