fixed c0_context in tlb exception (Ralf Baechle)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1480 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2005-07-02 15:34:05 +00:00
parent 7a962d3087
commit 8549850891

View File

@ -263,10 +263,10 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
}
/* Raise exception */
env->CP0_BadVAddr = address;
env->CP0_Context =
(env->CP0_Context & 0x00000FFF) | (address & 0xFFFFF000);
env->CP0_Context = (env->CP0_Context & 0xff800000) |
((address >> 8) & 0x007ffff0);
env->CP0_EntryHi =
(env->CP0_EntryHi & 0x00000FFF) | (address & 0xFFFFF000);
(env->CP0_EntryHi & 0x000000FF) | (address & 0xFFFFF000);
env->exception_index = exception;
env->error_code = error_code;
ret = 1;