Revision fd88b6ab target-mips/translate.c
b/target-mips/translate.c | ||
---|---|---|
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 |
Also available in: Unified diff