aboutsummaryrefslogtreecommitdiff
path: root/target-mips
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-13 14:42:18 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-13 14:42:18 +0000
commit703eaf379ed63da63b0929e12137ad4edab9899d (patch)
tree65002c6514db34f020a72ddffb01cd825287c3ae /target-mips
parentf2e9ebef12c6f00d650eb06f33dbdd06db0919f2 (diff)
Don't decode CP0 XContext on 32bit MIPS.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2812 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips')
-rw-r--r--target-mips/translate.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index fb802f0c67..98794504f2 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -2190,10 +2190,11 @@ static void gen_mfc0 (DisasContext *ctx, int reg, int sel)
case 20:
switch (sel) {
case 0:
- /* 64 bit MMU only */
+#ifdef TARGET_MIPS64
gen_op_mfc0_xcontext();
rn = "XContext";
break;
+#endif
default:
goto die;
}
@@ -2788,10 +2789,11 @@ static void gen_mtc0 (DisasContext *ctx, int reg, int sel)
case 20:
switch (sel) {
case 0:
- /* 64 bit MMU only */
+#ifdef TARGET_MIPS64
/* Nothing writable in lower 32 bits */
rn = "XContext";
break;
+#endif
default:
goto die;
}
@@ -3377,10 +3379,11 @@ static void gen_dmfc0 (DisasContext *ctx, int reg, int sel)
case 20:
switch (sel) {
case 0:
- /* 64 bit MMU only */
+#ifdef TARGET_MIPS64
gen_op_dmfc0_xcontext();
rn = "XContext";
break;
+#endif
default:
goto die;
}
@@ -3966,10 +3969,11 @@ static void gen_dmtc0 (DisasContext *ctx, int reg, int sel)
case 20:
switch (sel) {
case 0:
- /* 64 bit MMU only */
+#ifdef TARGET_MIPS64
gen_op_dmtc0_xcontext();
rn = "XContext";
break;
+#endif
default:
goto die;
}