Commit 703eaf379ed63da63b0929e12137ad4edab9899d
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 | } |