diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-02-18 00:19:08 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-02-18 00:19:08 +0000 |
commit | 925fd0f202e430fc18e1e4986cc066ea44504c9e (patch) | |
tree | b699d9187dc528f44c28bcf92d9ceb5fee4908fc /target-mips/op_helper.c | |
parent | 70705261e1c9762b149a2180e60b974ea9a5c2f0 (diff) |
Fix sign-extension of VPN field in TLB, by Herve Poussineau.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2433 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op_helper.c')
-rw-r--r-- | target-mips/op_helper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index 9596d04fb6..1b8d9351a9 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -395,7 +395,7 @@ static void fill_tlb (int idx) /* XXX: detect conflicting TLBs and raise a MCHECK exception when needed */ tlb = &env->tlb[idx]; - tlb->VPN = env->CP0_EntryHi & (int32_t)0xFFFFE000; + tlb->VPN = env->CP0_EntryHi & ~(target_ulong)0x1FFF; tlb->ASID = env->CP0_EntryHi & 0xFF; tlb->PageMask = env->CP0_PageMask; tlb->G = env->CP0_EntryLo0 & env->CP0_EntryLo1 & 1; |