Revision 4e7a4a4e
b/target-mips/op.c | ||
---|---|---|
1444 | 1444 |
|
1445 | 1445 |
void op_mtc0_watchlo0 (void) |
1446 | 1446 |
{ |
1447 |
env->CP0_WatchLo = (int32_t)T0; |
|
1447 |
/* Watch exceptions for instructions, data loads, data stores |
|
1448 |
not implemented. */ |
|
1449 |
env->CP0_WatchLo = (int32_t)(T0 & ~0x7); |
|
1448 | 1450 |
RETURN(); |
1449 | 1451 |
} |
1450 | 1452 |
|
1451 | 1453 |
void op_mtc0_watchhi0 (void) |
1452 | 1454 |
{ |
1453 |
env->CP0_WatchHi = T0 & 0x40FF0FF8; |
|
1455 |
env->CP0_WatchHi = (T0 & 0x40FF0FF8); |
|
1456 |
env->CP0_WatchHi &= ~(env->CP0_WatchHi & T0 & 0x7); |
|
1454 | 1457 |
RETURN(); |
1455 | 1458 |
} |
1456 | 1459 |
|
... | ... | |
1620 | 1623 |
|
1621 | 1624 |
void op_dmtc0_watchlo0 (void) |
1622 | 1625 |
{ |
1623 |
env->CP0_WatchLo = T0; |
|
1626 |
/* Watch exceptions for instructions, data loads, data stores |
|
1627 |
not implemented. */ |
|
1628 |
env->CP0_WatchLo = T0 & ~0x7; |
|
1624 | 1629 |
RETURN(); |
1625 | 1630 |
} |
1626 | 1631 |
|
b/target-mips/translate.c | ||
---|---|---|
5406 | 5406 |
env->CP0_EBase = 0x80000000; |
5407 | 5407 |
env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL); |
5408 | 5408 |
env->CP0_WatchLo = 0; |
5409 |
env->CP0_WatchHi = 0; |
|
5409 | 5410 |
/* Count register increments in debug mode, EJTAG version 1 */ |
5410 | 5411 |
env->CP0_Debug = (1 << CP0DB_CNT) | (0x1 << CP0DB_VER); |
5411 | 5412 |
#endif |
Also available in: Unified diff