Fix CP0_IntCtl handling.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2645 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/target-mips/op.c b/target-mips/op.c
index 4eb8a89..026b08a 100644
--- a/target-mips/op.c
+++ b/target-mips/op.c
@@ -1374,8 +1374,9 @@
 
 void op_mtc0_intctl (void)
 {
-    /* vectored interrupts not implemented */
-    env->CP0_IntCtl = 0;
+    /* vectored interrupts not implemented, timer on int 7,
+       no performance counters. */
+    env->CP0_IntCtl |= T0 & 0x000002e0;
     RETURN();
 }
 
diff --git a/target-mips/translate.c b/target-mips/translate.c
index a1af8ab..0d9226a 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -5405,6 +5405,9 @@
     /* SMP not implemented */
     env->CP0_EBase = 0x80000000;
     env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL);
+    /* vectored interrupts not implemented, timer on int 7,
+       no performance counters. */
+    env->CP0_IntCtl = 0xe0000000;
     env->CP0_WatchLo = 0;
     env->CP0_WatchHi = 0;
     /* Count register increments in debug mode, EJTAG version 1 */