Mark watchpoint features as unimplemented.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2643 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
ths 2007-04-09 14:15:41 +00:00
parent 62c5609aa5
commit 4e7a4a4e84
2 changed files with 9 additions and 3 deletions

View File

@ -1444,13 +1444,16 @@ void op_mtc0_config2 (void)
void op_mtc0_watchlo0 (void) void op_mtc0_watchlo0 (void)
{ {
env->CP0_WatchLo = (int32_t)T0; /* Watch exceptions for instructions, data loads, data stores
not implemented. */
env->CP0_WatchLo = (int32_t)(T0 & ~0x7);
RETURN(); RETURN();
} }
void op_mtc0_watchhi0 (void) void op_mtc0_watchhi0 (void)
{ {
env->CP0_WatchHi = T0 & 0x40FF0FF8; env->CP0_WatchHi = (T0 & 0x40FF0FF8);
env->CP0_WatchHi &= ~(env->CP0_WatchHi & T0 & 0x7);
RETURN(); RETURN();
} }
@ -1620,7 +1623,9 @@ void op_dmtc0_epc (void)
void op_dmtc0_watchlo0 (void) void op_dmtc0_watchlo0 (void)
{ {
env->CP0_WatchLo = T0; /* Watch exceptions for instructions, data loads, data stores
not implemented. */
env->CP0_WatchLo = T0 & ~0x7;
RETURN(); RETURN();
} }

View File

@ -5406,6 +5406,7 @@ void cpu_reset (CPUMIPSState *env)
env->CP0_EBase = 0x80000000; env->CP0_EBase = 0x80000000;
env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL); env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL);
env->CP0_WatchLo = 0; env->CP0_WatchLo = 0;
env->CP0_WatchHi = 0;
/* Count register increments in debug mode, EJTAG version 1 */ /* Count register increments in debug mode, EJTAG version 1 */
env->CP0_Debug = (1 << CP0DB_CNT) | (0x1 << CP0DB_VER); env->CP0_Debug = (1 << CP0DB_CNT) | (0x1 << CP0DB_VER);
#endif #endif