mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 15:01:09 +00:00
target-mips: fix EntryHi.EHINV being cleared on TLB exception
While implementing TLB invalidation feature we forgot to modify part of code responsible for updating EntryHi during TLB exception. Consequently EntryHi.EHINV is unexpectedly cleared on the exception. Backports commit 701074a6fc7470d0ed54e4a4bcd4d491ad8da22e from qemu
This commit is contained in:
parent
943b9fc261
commit
bc434da124
|
@ -386,6 +386,7 @@ static void raise_mmu_exception(CPUMIPSState *env, target_ulong address,
|
|||
env->CP0_Context = (env->CP0_Context & ~0x007fffff) |
|
||||
((address >> 9) & 0x007ffff0);
|
||||
env->CP0_EntryHi = (env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask) |
|
||||
(env->CP0_EntryHi & (1 << CP0EnHi_EHINV)) |
|
||||
(address & (TARGET_PAGE_MASK << 1));
|
||||
#if defined(TARGET_MIPS64)
|
||||
env->CP0_EntryHi &= env->SEGMask;
|
||||
|
|
Loading…
Reference in a new issue