2035 |
2035 |
rn = "SRSCtl";
|
2036 |
2036 |
break;
|
2037 |
2037 |
case 3:
|
2038 |
|
// gen_op_mfc0_srsmap(); /* shadow registers */
|
|
2038 |
gen_op_mfc0_srsmap();
|
2039 |
2039 |
rn = "SRSMap";
|
2040 |
|
// break;
|
|
2040 |
break;
|
2041 |
2041 |
default:
|
2042 |
2042 |
goto die;
|
2043 |
2043 |
}
|
... | ... | |
2120 |
2120 |
break;
|
2121 |
2121 |
case 18:
|
2122 |
2122 |
switch (sel) {
|
2123 |
|
case 0:
|
2124 |
|
gen_op_mfc0_watchlo0();
|
|
2123 |
case 0 ... 7:
|
|
2124 |
gen_op_mfc0_watchlo(sel);
|
2125 |
2125 |
rn = "WatchLo";
|
2126 |
2126 |
break;
|
2127 |
|
case 1:
|
2128 |
|
// gen_op_mfc0_watchlo1();
|
2129 |
|
rn = "WatchLo1";
|
2130 |
|
// break;
|
2131 |
|
case 2:
|
2132 |
|
// gen_op_mfc0_watchlo2();
|
2133 |
|
rn = "WatchLo2";
|
2134 |
|
// break;
|
2135 |
|
case 3:
|
2136 |
|
// gen_op_mfc0_watchlo3();
|
2137 |
|
rn = "WatchLo3";
|
2138 |
|
// break;
|
2139 |
|
case 4:
|
2140 |
|
// gen_op_mfc0_watchlo4();
|
2141 |
|
rn = "WatchLo4";
|
2142 |
|
// break;
|
2143 |
|
case 5:
|
2144 |
|
// gen_op_mfc0_watchlo5();
|
2145 |
|
rn = "WatchLo5";
|
2146 |
|
// break;
|
2147 |
|
case 6:
|
2148 |
|
// gen_op_mfc0_watchlo6();
|
2149 |
|
rn = "WatchLo6";
|
2150 |
|
// break;
|
2151 |
|
case 7:
|
2152 |
|
// gen_op_mfc0_watchlo7();
|
2153 |
|
rn = "WatchLo7";
|
2154 |
|
// break;
|
2155 |
2127 |
default:
|
2156 |
2128 |
goto die;
|
2157 |
2129 |
}
|
2158 |
2130 |
break;
|
2159 |
2131 |
case 19:
|
2160 |
2132 |
switch (sel) {
|
2161 |
|
case 0:
|
2162 |
|
gen_op_mfc0_watchhi0();
|
|
2133 |
case 0 ...7:
|
|
2134 |
gen_op_mfc0_watchhi(sel);
|
2163 |
2135 |
rn = "WatchHi";
|
2164 |
2136 |
break;
|
2165 |
|
case 1:
|
2166 |
|
// gen_op_mfc0_watchhi1();
|
2167 |
|
rn = "WatchHi1";
|
2168 |
|
// break;
|
2169 |
|
case 2:
|
2170 |
|
// gen_op_mfc0_watchhi2();
|
2171 |
|
rn = "WatchHi2";
|
2172 |
|
// break;
|
2173 |
|
case 3:
|
2174 |
|
// gen_op_mfc0_watchhi3();
|
2175 |
|
rn = "WatchHi3";
|
2176 |
|
// break;
|
2177 |
|
case 4:
|
2178 |
|
// gen_op_mfc0_watchhi4();
|
2179 |
|
rn = "WatchHi4";
|
2180 |
|
// break;
|
2181 |
|
case 5:
|
2182 |
|
// gen_op_mfc0_watchhi5();
|
2183 |
|
rn = "WatchHi5";
|
2184 |
|
// break;
|
2185 |
|
case 6:
|
2186 |
|
// gen_op_mfc0_watchhi6();
|
2187 |
|
rn = "WatchHi6";
|
2188 |
|
// break;
|
2189 |
|
case 7:
|
2190 |
|
// gen_op_mfc0_watchhi7();
|
2191 |
|
rn = "WatchHi7";
|
2192 |
|
// break;
|
2193 |
2137 |
default:
|
2194 |
2138 |
goto die;
|
2195 |
2139 |
}
|
... | ... | |
2625 |
2569 |
rn = "SRSCtl";
|
2626 |
2570 |
break;
|
2627 |
2571 |
case 3:
|
2628 |
|
// gen_op_mtc0_srsmap(); /* shadow registers */
|
|
2572 |
gen_op_mtc0_srsmap();
|
2629 |
2573 |
rn = "SRSMap";
|
2630 |
|
// break;
|
|
2574 |
break;
|
2631 |
2575 |
default:
|
2632 |
2576 |
goto die;
|
2633 |
2577 |
}
|
... | ... | |
2719 |
2663 |
break;
|
2720 |
2664 |
case 18:
|
2721 |
2665 |
switch (sel) {
|
2722 |
|
case 0:
|
2723 |
|
gen_op_mtc0_watchlo0();
|
|
2666 |
case 0 ... 7:
|
|
2667 |
gen_op_mtc0_watchlo(sel);
|
2724 |
2668 |
rn = "WatchLo";
|
2725 |
2669 |
break;
|
2726 |
|
case 1:
|
2727 |
|
// gen_op_mtc0_watchlo1();
|
2728 |
|
rn = "WatchLo1";
|
2729 |
|
// break;
|
2730 |
|
case 2:
|
2731 |
|
// gen_op_mtc0_watchlo2();
|
2732 |
|
rn = "WatchLo2";
|
2733 |
|
// break;
|
2734 |
|
case 3:
|
2735 |
|
// gen_op_mtc0_watchlo3();
|
2736 |
|
rn = "WatchLo3";
|
2737 |
|
// break;
|
2738 |
|
case 4:
|
2739 |
|
// gen_op_mtc0_watchlo4();
|
2740 |
|
rn = "WatchLo4";
|
2741 |
|
// break;
|
2742 |
|
case 5:
|
2743 |
|
// gen_op_mtc0_watchlo5();
|
2744 |
|
rn = "WatchLo5";
|
2745 |
|
// break;
|
2746 |
|
case 6:
|
2747 |
|
// gen_op_mtc0_watchlo6();
|
2748 |
|
rn = "WatchLo6";
|
2749 |
|
// break;
|
2750 |
|
case 7:
|
2751 |
|
// gen_op_mtc0_watchlo7();
|
2752 |
|
rn = "WatchLo7";
|
2753 |
|
// break;
|
2754 |
2670 |
default:
|
2755 |
2671 |
goto die;
|
2756 |
2672 |
}
|
2757 |
2673 |
break;
|
2758 |
2674 |
case 19:
|
2759 |
2675 |
switch (sel) {
|
2760 |
|
case 0:
|
2761 |
|
gen_op_mtc0_watchhi0();
|
|
2676 |
case 0 ... 7:
|
|
2677 |
gen_op_mtc0_watchhi(sel);
|
2762 |
2678 |
rn = "WatchHi";
|
2763 |
2679 |
break;
|
2764 |
|
case 1:
|
2765 |
|
// gen_op_mtc0_watchhi1();
|
2766 |
|
rn = "WatchHi1";
|
2767 |
|
// break;
|
2768 |
|
case 2:
|
2769 |
|
// gen_op_mtc0_watchhi2();
|
2770 |
|
rn = "WatchHi2";
|
2771 |
|
// break;
|
2772 |
|
case 3:
|
2773 |
|
// gen_op_mtc0_watchhi3();
|
2774 |
|
rn = "WatchHi3";
|
2775 |
|
// break;
|
2776 |
|
case 4:
|
2777 |
|
// gen_op_mtc0_watchhi4();
|
2778 |
|
rn = "WatchHi4";
|
2779 |
|
// break;
|
2780 |
|
case 5:
|
2781 |
|
// gen_op_mtc0_watchhi5();
|
2782 |
|
rn = "WatchHi5";
|
2783 |
|
// break;
|
2784 |
|
case 6:
|
2785 |
|
// gen_op_mtc0_watchhi6();
|
2786 |
|
rn = "WatchHi6";
|
2787 |
|
// break;
|
2788 |
|
case 7:
|
2789 |
|
// gen_op_mtc0_watchhi7();
|
2790 |
|
rn = "WatchHi7";
|
2791 |
|
// break;
|
2792 |
2680 |
default:
|
2793 |
2681 |
goto die;
|
2794 |
2682 |
}
|
... | ... | |
3309 |
3197 |
break;
|
3310 |
3198 |
case 18:
|
3311 |
3199 |
switch (sel) {
|
3312 |
|
case 0:
|
3313 |
|
gen_op_dmfc0_watchlo0();
|
|
3200 |
case 0 ... 7:
|
|
3201 |
gen_op_dmfc0_watchlo(sel);
|
3314 |
3202 |
rn = "WatchLo";
|
3315 |
3203 |
break;
|
3316 |
|
case 1:
|
3317 |
|
// gen_op_dmfc0_watchlo1();
|
3318 |
|
rn = "WatchLo1";
|
3319 |
|
// break;
|
3320 |
|
case 2:
|
3321 |
|
// gen_op_dmfc0_watchlo2();
|
3322 |
|
rn = "WatchLo2";
|
3323 |
|
// break;
|
3324 |
|
case 3:
|
3325 |
|
// gen_op_dmfc0_watchlo3();
|
3326 |
|
rn = "WatchLo3";
|
3327 |
|
// break;
|
3328 |
|
case 4:
|
3329 |
|
// gen_op_dmfc0_watchlo4();
|
3330 |
|
rn = "WatchLo4";
|
3331 |
|
// break;
|
3332 |
|
case 5:
|
3333 |
|
// gen_op_dmfc0_watchlo5();
|
3334 |
|
rn = "WatchLo5";
|
3335 |
|
// break;
|
3336 |
|
case 6:
|
3337 |
|
// gen_op_dmfc0_watchlo6();
|
3338 |
|
rn = "WatchLo6";
|
3339 |
|
// break;
|
3340 |
|
case 7:
|
3341 |
|
// gen_op_dmfc0_watchlo7();
|
3342 |
|
rn = "WatchLo7";
|
3343 |
|
// break;
|
3344 |
3204 |
default:
|
3345 |
3205 |
goto die;
|
3346 |
3206 |
}
|
3347 |
3207 |
break;
|
3348 |
3208 |
case 19:
|
3349 |
3209 |
switch (sel) {
|
3350 |
|
case 0:
|
3351 |
|
gen_op_mfc0_watchhi0();
|
|
3210 |
case 0 ... 7:
|
|
3211 |
gen_op_mfc0_watchhi(sel);
|
3352 |
3212 |
rn = "WatchHi";
|
3353 |
3213 |
break;
|
3354 |
|
case 1:
|
3355 |
|
// gen_op_mfc0_watchhi1();
|
3356 |
|
rn = "WatchHi1";
|
3357 |
|
// break;
|
3358 |
|
case 2:
|
3359 |
|
// gen_op_mfc0_watchhi2();
|
3360 |
|
rn = "WatchHi2";
|
3361 |
|
// break;
|
3362 |
|
case 3:
|
3363 |
|
// gen_op_mfc0_watchhi3();
|
3364 |
|
rn = "WatchHi3";
|
3365 |
|
// break;
|
3366 |
|
case 4:
|
3367 |
|
// gen_op_mfc0_watchhi4();
|
3368 |
|
rn = "WatchHi4";
|
3369 |
|
// break;
|
3370 |
|
case 5:
|
3371 |
|
// gen_op_mfc0_watchhi5();
|
3372 |
|
rn = "WatchHi5";
|
3373 |
|
// break;
|
3374 |
|
case 6:
|
3375 |
|
// gen_op_mfc0_watchhi6();
|
3376 |
|
rn = "WatchHi6";
|
3377 |
|
// break;
|
3378 |
|
case 7:
|
3379 |
|
// gen_op_mfc0_watchhi7();
|
3380 |
|
rn = "WatchHi7";
|
3381 |
|
// break;
|
3382 |
3214 |
default:
|
3383 |
3215 |
goto die;
|
3384 |
3216 |
}
|
... | ... | |
3814 |
3646 |
rn = "SRSCtl";
|
3815 |
3647 |
break;
|
3816 |
3648 |
case 3:
|
3817 |
|
gen_op_mtc0_srsmap(); /* shadow registers */
|
|
3649 |
gen_op_mtc0_srsmap();
|
3818 |
3650 |
rn = "SRSMap";
|
3819 |
3651 |
break;
|
3820 |
3652 |
default:
|
... | ... | |
3899 |
3731 |
break;
|
3900 |
3732 |
case 18:
|
3901 |
3733 |
switch (sel) {
|
3902 |
|
case 0:
|
3903 |
|
gen_op_mtc0_watchlo0();
|
|
3734 |
case 0 ... 7:
|
|
3735 |
gen_op_mtc0_watchlo(sel);
|
3904 |
3736 |
rn = "WatchLo";
|
3905 |
3737 |
break;
|
3906 |
|
case 1:
|
3907 |
|
// gen_op_mtc0_watchlo1();
|
3908 |
|
rn = "WatchLo1";
|
3909 |
|
// break;
|
3910 |
|
case 2:
|
3911 |
|
// gen_op_mtc0_watchlo2();
|
3912 |
|
rn = "WatchLo2";
|
3913 |
|
// break;
|
3914 |
|
case 3:
|
3915 |
|
// gen_op_mtc0_watchlo3();
|
3916 |
|
rn = "WatchLo3";
|
3917 |
|
// break;
|
3918 |
|
case 4:
|
3919 |
|
// gen_op_mtc0_watchlo4();
|
3920 |
|
rn = "WatchLo4";
|
3921 |
|
// break;
|
3922 |
|
case 5:
|
3923 |
|
// gen_op_mtc0_watchlo5();
|
3924 |
|
rn = "WatchLo5";
|
3925 |
|
// break;
|
3926 |
|
case 6:
|
3927 |
|
// gen_op_mtc0_watchlo6();
|
3928 |
|
rn = "WatchLo6";
|
3929 |
|
// break;
|
3930 |
|
case 7:
|
3931 |
|
// gen_op_mtc0_watchlo7();
|
3932 |
|
rn = "WatchLo7";
|
3933 |
|
// break;
|
3934 |
3738 |
default:
|
3935 |
3739 |
goto die;
|
3936 |
3740 |
}
|
3937 |
3741 |
break;
|
3938 |
3742 |
case 19:
|
3939 |
3743 |
switch (sel) {
|
3940 |
|
case 0:
|
3941 |
|
gen_op_mtc0_watchhi0();
|
|
3744 |
case 0 ... 7:
|
|
3745 |
gen_op_mtc0_watchhi(sel);
|
3942 |
3746 |
rn = "WatchHi";
|
3943 |
3747 |
break;
|
3944 |
|
case 1:
|
3945 |
|
// gen_op_mtc0_watchhi1();
|
3946 |
|
rn = "WatchHi1";
|
3947 |
|
// break;
|
3948 |
|
case 2:
|
3949 |
|
// gen_op_mtc0_watchhi2();
|
3950 |
|
rn = "WatchHi2";
|
3951 |
|
// break;
|
3952 |
|
case 3:
|
3953 |
|
// gen_op_mtc0_watchhi3();
|
3954 |
|
rn = "WatchHi3";
|
3955 |
|
// break;
|
3956 |
|
case 4:
|
3957 |
|
// gen_op_mtc0_watchhi4();
|
3958 |
|
rn = "WatchHi4";
|
3959 |
|
// break;
|
3960 |
|
case 5:
|
3961 |
|
// gen_op_mtc0_watchhi5();
|
3962 |
|
rn = "WatchHi5";
|
3963 |
|
// break;
|
3964 |
|
case 6:
|
3965 |
|
// gen_op_mtc0_watchhi6();
|
3966 |
|
rn = "WatchHi6";
|
3967 |
|
// break;
|
3968 |
|
case 7:
|
3969 |
|
// gen_op_mtc0_watchhi7();
|
3970 |
|
rn = "WatchHi7";
|
3971 |
|
// break;
|
3972 |
3748 |
default:
|
3973 |
3749 |
goto die;
|
3974 |
3750 |
}
|
... | ... | |
6269 |
6045 |
/* vectored interrupts not implemented, timer on int 7,
|
6270 |
6046 |
no performance counters. */
|
6271 |
6047 |
env->CP0_IntCtl = 0xe0000000;
|
6272 |
|
env->CP0_WatchLo = 0;
|
6273 |
|
env->CP0_WatchHi = 0;
|
|
6048 |
{
|
|
6049 |
int i;
|
|
6050 |
|
|
6051 |
for (i = 0; i < 7; i++) {
|
|
6052 |
env->CP0_WatchLo[i] = 0;
|
|
6053 |
env->CP0_WatchHi[i] = 0x80000000;
|
|
6054 |
}
|
|
6055 |
env->CP0_WatchLo[7] = 0;
|
|
6056 |
env->CP0_WatchHi[7] = 0;
|
|
6057 |
}
|
6274 |
6058 |
/* Count register increments in debug mode, EJTAG version 1 */
|
6275 |
6059 |
env->CP0_Debug = (1 << CP0DB_CNT) | (0x1 << CP0DB_VER);
|
6276 |
6060 |
#endif
|