Revision e034e2c3 target-mips/op.c

b/target-mips/op.c
1328 1328
    /* 1k pages not implemented */
1329 1329
    val = T0 & ((TARGET_PAGE_MASK << 1) | 0xFF);
1330 1330
#ifdef TARGET_MIPS64
1331
    val = T0 & 0xC00000FFFFFFFFFFULL;
1331
    val &= env->SEGMask;
1332 1332
#endif
1333 1333
    old = env->CP0_EntryHi;
1334 1334
    env->CP0_EntryHi = val;
......
1526 1526
#ifdef TARGET_MIPS64
1527 1527
void op_mtc0_xcontext (void)
1528 1528
{
1529
    env->CP0_XContext = (env->CP0_XContext & 0x1ffffffffULL) | (T0 & ~0x1ffffffffULL);
1529
    target_ulong mask = (1ULL << (env->SEGBITS - 7)) - 1;
1530
    env->CP0_XContext = (env->CP0_XContext & mask) | (T0 & ~mask);
1530 1531
    RETURN();
1531 1532
}
1532 1533

  

Also available in: Unified diff