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 | } |