Commit 703eaf379ed63da63b0929e12137ad4edab9899d

Authored by ths
1 parent f2e9ebef

Don't decode CP0 XContext on 32bit MIPS.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2812 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 8 additions and 4 deletions
target-mips/translate.c
@@ -2190,10 +2190,11 @@ static void gen_mfc0 (DisasContext *ctx, int reg, int sel) @@ -2190,10 +2190,11 @@ static void gen_mfc0 (DisasContext *ctx, int reg, int sel)
2190 case 20: 2190 case 20:
2191 switch (sel) { 2191 switch (sel) {
2192 case 0: 2192 case 0:
2193 - /* 64 bit MMU only */ 2193 +#ifdef TARGET_MIPS64
2194 gen_op_mfc0_xcontext(); 2194 gen_op_mfc0_xcontext();
2195 rn = "XContext"; 2195 rn = "XContext";
2196 break; 2196 break;
  2197 +#endif
2197 default: 2198 default:
2198 goto die; 2199 goto die;
2199 } 2200 }
@@ -2788,10 +2789,11 @@ static void gen_mtc0 (DisasContext *ctx, int reg, int sel) @@ -2788,10 +2789,11 @@ static void gen_mtc0 (DisasContext *ctx, int reg, int sel)
2788 case 20: 2789 case 20:
2789 switch (sel) { 2790 switch (sel) {
2790 case 0: 2791 case 0:
2791 - /* 64 bit MMU only */ 2792 +#ifdef TARGET_MIPS64
2792 /* Nothing writable in lower 32 bits */ 2793 /* Nothing writable in lower 32 bits */
2793 rn = "XContext"; 2794 rn = "XContext";
2794 break; 2795 break;
  2796 +#endif
2795 default: 2797 default:
2796 goto die; 2798 goto die;
2797 } 2799 }
@@ -3377,10 +3379,11 @@ static void gen_dmfc0 (DisasContext *ctx, int reg, int sel) @@ -3377,10 +3379,11 @@ static void gen_dmfc0 (DisasContext *ctx, int reg, int sel)
3377 case 20: 3379 case 20:
3378 switch (sel) { 3380 switch (sel) {
3379 case 0: 3381 case 0:
3380 - /* 64 bit MMU only */ 3382 +#ifdef TARGET_MIPS64
3381 gen_op_dmfc0_xcontext(); 3383 gen_op_dmfc0_xcontext();
3382 rn = "XContext"; 3384 rn = "XContext";
3383 break; 3385 break;
  3386 +#endif
3384 default: 3387 default:
3385 goto die; 3388 goto die;
3386 } 3389 }
@@ -3966,10 +3969,11 @@ static void gen_dmtc0 (DisasContext *ctx, int reg, int sel) @@ -3966,10 +3969,11 @@ static void gen_dmtc0 (DisasContext *ctx, int reg, int sel)
3966 case 20: 3969 case 20:
3967 switch (sel) { 3970 switch (sel) {
3968 case 0: 3971 case 0:
3969 - /* 64 bit MMU only */ 3972 +#ifdef TARGET_MIPS64
3970 gen_op_dmtc0_xcontext(); 3973 gen_op_dmtc0_xcontext();
3971 rn = "XContext"; 3974 rn = "XContext";
3972 break; 3975 break;
  3976 +#endif
3973 default: 3977 default:
3974 goto die; 3978 goto die;
3975 } 3979 }