aboutsummaryrefslogtreecommitdiff
path: root/target-mips/op.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-04-09 14:15:41 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-04-09 14:15:41 +0000
commit4e7a4a4e84998ec1e57d6e2b466db1bee462002e (patch)
tree9e919f2f938e1d9f99a3627ab2a15cf38234ebab /target-mips/op.c
parent62c5609aa537a9c7f3c70e4baa5e67060368baa3 (diff)
Mark watchpoint features as unimplemented.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2643 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op.c')
-rw-r--r--target-mips/op.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/target-mips/op.c b/target-mips/op.c
index aec6a022f2..d7f0306fdd 100644
--- a/target-mips/op.c
+++ b/target-mips/op.c
@@ -1444,13 +1444,16 @@ void op_mtc0_config2 (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();
}
void op_mtc0_watchhi0 (void)
{
- env->CP0_WatchHi = T0 & 0x40FF0FF8;
+ env->CP0_WatchHi = (T0 & 0x40FF0FF8);
+ env->CP0_WatchHi &= ~(env->CP0_WatchHi & T0 & 0x7);
RETURN();
}
@@ -1620,7 +1623,9 @@ void op_dmtc0_epc (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();
}