Revision 876d4b07 target-mips/translate.c
b/target-mips/translate.c | ||
---|---|---|
2353 | 2353 |
break; |
2354 | 2354 |
default: |
2355 | 2355 |
goto die; |
2356 |
} |
|
2356 |
}
|
|
2357 | 2357 |
break; |
2358 | 2358 |
case 4: |
2359 | 2359 |
switch (sel) { |
... | ... | |
2367 | 2367 |
// break; |
2368 | 2368 |
default: |
2369 | 2369 |
goto die; |
2370 |
} |
|
2370 |
}
|
|
2371 | 2371 |
break; |
2372 | 2372 |
case 5: |
2373 | 2373 |
switch (sel) { |
... | ... | |
2381 | 2381 |
break; |
2382 | 2382 |
default: |
2383 | 2383 |
goto die; |
2384 |
} |
|
2384 |
}
|
|
2385 | 2385 |
break; |
2386 | 2386 |
case 6: |
2387 | 2387 |
switch (sel) { |
... | ... | |
2411 | 2411 |
// break; |
2412 | 2412 |
default: |
2413 | 2413 |
goto die; |
2414 |
} |
|
2414 |
}
|
|
2415 | 2415 |
break; |
2416 | 2416 |
case 7: |
2417 | 2417 |
switch (sel) { |
... | ... | |
2421 | 2421 |
break; |
2422 | 2422 |
default: |
2423 | 2423 |
goto die; |
2424 |
} |
|
2424 |
}
|
|
2425 | 2425 |
break; |
2426 | 2426 |
case 8: |
2427 | 2427 |
/* ignored */ |
... | ... | |
2433 | 2433 |
gen_op_mtc0_count(); |
2434 | 2434 |
rn = "Count"; |
2435 | 2435 |
break; |
2436 |
/* 6,7 are implementation dependent */ |
|
2436 |
/* 6,7 are implementation dependent */
|
|
2437 | 2437 |
default: |
2438 | 2438 |
goto die; |
2439 |
} |
|
2440 |
/* Stop translation as we may have switched the execution mode */ |
|
2441 |
ctx->bstate = BS_STOP; |
|
2439 |
}
|
|
2440 |
/* Stop translation as we may have switched the execution mode */
|
|
2441 |
ctx->bstate = BS_STOP;
|
|
2442 | 2442 |
break; |
2443 | 2443 |
case 10: |
2444 | 2444 |
switch (sel) { |
... | ... | |
2448 | 2448 |
break; |
2449 | 2449 |
default: |
2450 | 2450 |
goto die; |
2451 |
} |
|
2451 |
}
|
|
2452 | 2452 |
break; |
2453 | 2453 |
case 11: |
2454 | 2454 |
switch (sel) { |
... | ... | |
2459 | 2459 |
/* 6,7 are implementation dependent */ |
2460 | 2460 |
default: |
2461 | 2461 |
goto die; |
2462 |
} |
|
2463 |
/* Stop translation as we may have switched the execution mode */ |
|
2464 |
ctx->bstate = BS_STOP; |
|
2462 |
}
|
|
2463 |
/* Stop translation as we may have switched the execution mode */
|
|
2464 |
ctx->bstate = BS_STOP;
|
|
2465 | 2465 |
break; |
2466 | 2466 |
case 12: |
2467 | 2467 |
switch (sel) { |
... | ... | |
2483 | 2483 |
// break; |
2484 | 2484 |
default: |
2485 | 2485 |
goto die; |
2486 |
} |
|
2487 |
/* Stop translation as we may have switched the execution mode */ |
|
2488 |
ctx->bstate = BS_STOP; |
|
2486 |
}
|
|
2487 |
/* Stop translation as we may have switched the execution mode */
|
|
2488 |
ctx->bstate = BS_STOP;
|
|
2489 | 2489 |
break; |
2490 | 2490 |
case 13: |
2491 | 2491 |
switch (sel) { |
... | ... | |
2495 | 2495 |
break; |
2496 | 2496 |
default: |
2497 | 2497 |
goto die; |
2498 |
} |
|
2499 |
/* Stop translation as we may have switched the execution mode */ |
|
2500 |
ctx->bstate = BS_STOP; |
|
2498 |
}
|
|
2499 |
/* Stop translation as we may have switched the execution mode */
|
|
2500 |
ctx->bstate = BS_STOP;
|
|
2501 | 2501 |
break; |
2502 | 2502 |
case 14: |
2503 | 2503 |
switch (sel) { |
... | ... | |
2507 | 2507 |
break; |
2508 | 2508 |
default: |
2509 | 2509 |
goto die; |
2510 |
} |
|
2510 |
}
|
|
2511 | 2511 |
break; |
2512 | 2512 |
case 15: |
2513 | 2513 |
switch (sel) { |
... | ... | |
2969 | 2969 |
// break; |
2970 | 2970 |
default: |
2971 | 2971 |
goto die; |
2972 |
} |
|
2972 |
}
|
|
2973 | 2973 |
break; |
2974 | 2974 |
case 5: |
2975 | 2975 |
switch (sel) { |
... | ... | |
2983 | 2983 |
break; |
2984 | 2984 |
default: |
2985 | 2985 |
goto die; |
2986 |
} |
|
2986 |
}
|
|
2987 | 2987 |
break; |
2988 | 2988 |
case 6: |
2989 | 2989 |
switch (sel) { |
... | ... | |
3013 | 3013 |
// break; |
3014 | 3014 |
default: |
3015 | 3015 |
goto die; |
3016 |
} |
|
3016 |
}
|
|
3017 | 3017 |
break; |
3018 | 3018 |
case 7: |
3019 | 3019 |
switch (sel) { |
... | ... | |
3023 | 3023 |
break; |
3024 | 3024 |
default: |
3025 | 3025 |
goto die; |
3026 |
} |
|
3026 |
}
|
|
3027 | 3027 |
break; |
3028 | 3028 |
case 8: |
3029 | 3029 |
switch (sel) { |
... | ... | |
3033 | 3033 |
break; |
3034 | 3034 |
default: |
3035 | 3035 |
goto die; |
3036 |
} |
|
3036 |
}
|
|
3037 | 3037 |
break; |
3038 | 3038 |
case 9: |
3039 | 3039 |
switch (sel) { |
... | ... | |
3044 | 3044 |
/* 6,7 are implementation dependent */ |
3045 | 3045 |
default: |
3046 | 3046 |
goto die; |
3047 |
} |
|
3047 |
}
|
|
3048 | 3048 |
break; |
3049 | 3049 |
case 10: |
3050 | 3050 |
switch (sel) { |
... | ... | |
3054 | 3054 |
break; |
3055 | 3055 |
default: |
3056 | 3056 |
goto die; |
3057 |
} |
|
3057 |
}
|
|
3058 | 3058 |
break; |
3059 | 3059 |
case 11: |
3060 | 3060 |
switch (sel) { |
... | ... | |
3062 | 3062 |
gen_op_mfc0_compare(); |
3063 | 3063 |
rn = "Compare"; |
3064 | 3064 |
break; |
3065 |
/* 6,7 are implementation dependent */ |
|
3065 |
/* 6,7 are implementation dependent */
|
|
3066 | 3066 |
default: |
3067 | 3067 |
goto die; |
3068 |
} |
|
3068 |
}
|
|
3069 | 3069 |
break; |
3070 | 3070 |
case 12: |
3071 | 3071 |
switch (sel) { |
... | ... | |
3087 | 3087 |
break; |
3088 | 3088 |
default: |
3089 | 3089 |
goto die; |
3090 |
} |
|
3090 |
}
|
|
3091 | 3091 |
break; |
3092 | 3092 |
case 13: |
3093 | 3093 |
switch (sel) { |
... | ... | |
3097 | 3097 |
break; |
3098 | 3098 |
default: |
3099 | 3099 |
goto die; |
3100 |
} |
|
3100 |
}
|
|
3101 | 3101 |
break; |
3102 | 3102 |
case 14: |
3103 | 3103 |
switch (sel) { |
... | ... | |
3107 | 3107 |
break; |
3108 | 3108 |
default: |
3109 | 3109 |
goto die; |
3110 |
} |
|
3110 |
}
|
|
3111 | 3111 |
break; |
3112 | 3112 |
case 15: |
3113 | 3113 |
switch (sel) { |
... | ... | |
3121 | 3121 |
break; |
3122 | 3122 |
default: |
3123 | 3123 |
goto die; |
3124 |
} |
|
3124 |
}
|
|
3125 | 3125 |
break; |
3126 | 3126 |
case 16: |
3127 | 3127 |
switch (sel) { |
... | ... | |
3406 | 3406 |
} |
3407 | 3407 |
break; |
3408 | 3408 |
default: |
3409 |
goto die; |
|
3409 |
goto die;
|
|
3410 | 3410 |
} |
3411 | 3411 |
#if defined MIPS_DEBUG_DISAS |
3412 | 3412 |
if (loglevel & CPU_LOG_TB_IN_ASM) { |
... | ... | |
3537 | 3537 |
break; |
3538 | 3538 |
default: |
3539 | 3539 |
goto die; |
3540 |
} |
|
3540 |
}
|
|
3541 | 3541 |
break; |
3542 | 3542 |
case 4: |
3543 | 3543 |
switch (sel) { |
... | ... | |
3551 | 3551 |
// break; |
3552 | 3552 |
default: |
3553 | 3553 |
goto die; |
3554 |
} |
|
3554 |
}
|
|
3555 | 3555 |
break; |
3556 | 3556 |
case 5: |
3557 | 3557 |
switch (sel) { |
... | ... | |
3565 | 3565 |
break; |
3566 | 3566 |
default: |
3567 | 3567 |
goto die; |
3568 |
} |
|
3568 |
}
|
|
3569 | 3569 |
break; |
3570 | 3570 |
case 6: |
3571 | 3571 |
switch (sel) { |
... | ... | |
3595 | 3595 |
// break; |
3596 | 3596 |
default: |
3597 | 3597 |
goto die; |
3598 |
} |
|
3598 |
}
|
|
3599 | 3599 |
break; |
3600 | 3600 |
case 7: |
3601 | 3601 |
switch (sel) { |
... | ... | |
3605 | 3605 |
break; |
3606 | 3606 |
default: |
3607 | 3607 |
goto die; |
3608 |
} |
|
3608 |
}
|
|
3609 | 3609 |
break; |
3610 | 3610 |
case 8: |
3611 | 3611 |
/* ignored */ |
... | ... | |
3617 | 3617 |
gen_op_mtc0_count(); |
3618 | 3618 |
rn = "Count"; |
3619 | 3619 |
break; |
3620 |
/* 6,7 are implementation dependent */ |
|
3620 |
/* 6,7 are implementation dependent */
|
|
3621 | 3621 |
default: |
3622 | 3622 |
goto die; |
3623 |
} |
|
3624 |
/* Stop translation as we may have switched the execution mode */ |
|
3625 |
ctx->bstate = BS_STOP; |
|
3623 |
}
|
|
3624 |
/* Stop translation as we may have switched the execution mode */
|
|
3625 |
ctx->bstate = BS_STOP;
|
|
3626 | 3626 |
break; |
3627 | 3627 |
case 10: |
3628 | 3628 |
switch (sel) { |
... | ... | |
3632 | 3632 |
break; |
3633 | 3633 |
default: |
3634 | 3634 |
goto die; |
3635 |
} |
|
3635 |
}
|
|
3636 | 3636 |
break; |
3637 | 3637 |
case 11: |
3638 | 3638 |
switch (sel) { |
... | ... | |
3640 | 3640 |
gen_op_mtc0_compare(); |
3641 | 3641 |
rn = "Compare"; |
3642 | 3642 |
break; |
3643 |
/* 6,7 are implementation dependent */ |
|
3643 |
/* 6,7 are implementation dependent */
|
|
3644 | 3644 |
default: |
3645 | 3645 |
goto die; |
3646 |
} |
|
3647 |
/* Stop translation as we may have switched the execution mode */ |
|
3648 |
ctx->bstate = BS_STOP; |
|
3646 |
}
|
|
3647 |
/* Stop translation as we may have switched the execution mode */
|
|
3648 |
ctx->bstate = BS_STOP;
|
|
3649 | 3649 |
break; |
3650 | 3650 |
case 12: |
3651 | 3651 |
switch (sel) { |
... | ... | |
3665 | 3665 |
gen_op_mtc0_srsmap(); /* shadow registers */ |
3666 | 3666 |
rn = "SRSMap"; |
3667 | 3667 |
break; |
3668 |
default: |
|
3668 |
default:
|
|
3669 | 3669 |
goto die; |
3670 |
} |
|
3671 |
/* Stop translation as we may have switched the execution mode */ |
|
3672 |
ctx->bstate = BS_STOP; |
|
3670 |
}
|
|
3671 |
/* Stop translation as we may have switched the execution mode */
|
|
3672 |
ctx->bstate = BS_STOP;
|
|
3673 | 3673 |
break; |
3674 | 3674 |
case 13: |
3675 | 3675 |
switch (sel) { |
... | ... | |
3679 | 3679 |
break; |
3680 | 3680 |
default: |
3681 | 3681 |
goto die; |
3682 |
} |
|
3683 |
/* Stop translation as we may have switched the execution mode */ |
|
3684 |
ctx->bstate = BS_STOP; |
|
3682 |
}
|
|
3683 |
/* Stop translation as we may have switched the execution mode */
|
|
3684 |
ctx->bstate = BS_STOP;
|
|
3685 | 3685 |
break; |
3686 | 3686 |
case 14: |
3687 | 3687 |
switch (sel) { |
... | ... | |
3691 | 3691 |
break; |
3692 | 3692 |
default: |
3693 | 3693 |
goto die; |
3694 |
} |
|
3694 |
}
|
|
3695 | 3695 |
break; |
3696 | 3696 |
case 15: |
3697 | 3697 |
switch (sel) { |
... | ... | |
3705 | 3705 |
break; |
3706 | 3706 |
default: |
3707 | 3707 |
goto die; |
3708 |
} |
|
3708 |
}
|
|
3709 | 3709 |
break; |
3710 | 3710 |
case 16: |
3711 | 3711 |
switch (sel) { |
... | ... | |
3844 | 3844 |
case 22: |
3845 | 3845 |
/* ignored */ |
3846 | 3846 |
rn = "Diagnostic"; /* implementation dependent */ |
3847 |
break; |
|
3847 |
break;
|
|
3848 | 3848 |
case 23: |
3849 | 3849 |
switch (sel) { |
3850 | 3850 |
case 0: |
... | ... | |
3920 | 3920 |
default: |
3921 | 3921 |
goto die; |
3922 | 3922 |
} |
3923 |
break; |
|
3923 |
break;
|
|
3924 | 3924 |
case 26: |
3925 |
/* ignored */ |
|
3925 |
/* ignored */
|
|
3926 | 3926 |
rn = "ECC"; |
3927 |
break; |
|
3927 |
break;
|
|
3928 | 3928 |
case 27: |
3929 | 3929 |
switch (sel) { |
3930 | 3930 |
case 0 ... 3: |
... | ... | |
3934 | 3934 |
default: |
3935 | 3935 |
goto die; |
3936 | 3936 |
} |
3937 |
break; |
|
3937 |
break;
|
|
3938 | 3938 |
case 28: |
3939 | 3939 |
switch (sel) { |
3940 | 3940 |
case 0: |
... | ... | |
3975 | 3975 |
rn = "invalid sel"; |
3976 | 3976 |
goto die; |
3977 | 3977 |
} |
3978 |
break; |
|
3978 |
break;
|
|
3979 | 3979 |
case 30: |
3980 | 3980 |
switch (sel) { |
3981 | 3981 |
case 0: |
... | ... | |
3995 | 3995 |
default: |
3996 | 3996 |
goto die; |
3997 | 3997 |
} |
3998 |
/* Stop translation as we may have switched the execution mode */ |
|
3999 |
ctx->bstate = BS_STOP; |
|
3998 |
/* Stop translation as we may have switched the execution mode */
|
|
3999 |
ctx->bstate = BS_STOP;
|
|
4000 | 4000 |
break; |
4001 | 4001 |
default: |
4002 |
goto die; |
|
4002 |
goto die;
|
|
4003 | 4003 |
} |
4004 | 4004 |
#if defined MIPS_DEBUG_DISAS |
4005 | 4005 |
if (loglevel & CPU_LOG_TB_IN_ASM) { |
Also available in: Unified diff