Commit d9bea114849319e2dd31f027411089575f1d23a1
1 parent
f8393946
target-mips: variable names consistency
Use a consistent naming of arguments and TCG variables across the whole file, the same as in tcg/tcg-op.h: - arg1, arg2, ... for arguments - t0, t1, t2, ... for variables Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7106 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
768 additions
and
766 deletions
target-mips/op_helper.c
| ... | ... | @@ -67,25 +67,25 @@ static void do_restore_state (void *pc_ptr) |
| 67 | 67 | } |
| 68 | 68 | #endif |
| 69 | 69 | |
| 70 | -target_ulong helper_clo (target_ulong t0) | |
| 70 | +target_ulong helper_clo (target_ulong arg1) | |
| 71 | 71 | { |
| 72 | - return clo32(t0); | |
| 72 | + return clo32(arg1); | |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | -target_ulong helper_clz (target_ulong t0) | |
| 75 | +target_ulong helper_clz (target_ulong arg1) | |
| 76 | 76 | { |
| 77 | - return clz32(t0); | |
| 77 | + return clz32(arg1); | |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | 80 | #if defined(TARGET_MIPS64) |
| 81 | -target_ulong helper_dclo (target_ulong t0) | |
| 81 | +target_ulong helper_dclo (target_ulong arg1) | |
| 82 | 82 | { |
| 83 | - return clo64(t0); | |
| 83 | + return clo64(arg1); | |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | -target_ulong helper_dclz (target_ulong t0) | |
| 86 | +target_ulong helper_dclz (target_ulong arg1) | |
| 87 | 87 | { |
| 88 | - return clz64(t0); | |
| 88 | + return clz64(arg1); | |
| 89 | 89 | } |
| 90 | 90 | #endif /* TARGET_MIPS64 */ |
| 91 | 91 | |
| ... | ... | @@ -101,126 +101,126 @@ static inline void set_HILO (uint64_t HILO) |
| 101 | 101 | env->active_tc.HI[0] = (int32_t)(HILO >> 32); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | -static inline void set_HIT0_LO (target_ulong t0, uint64_t HILO) | |
| 104 | +static inline void set_HIT0_LO (target_ulong arg1, uint64_t HILO) | |
| 105 | 105 | { |
| 106 | 106 | env->active_tc.LO[0] = (int32_t)(HILO & 0xFFFFFFFF); |
| 107 | - t0 = env->active_tc.HI[0] = (int32_t)(HILO >> 32); | |
| 107 | + arg1 = env->active_tc.HI[0] = (int32_t)(HILO >> 32); | |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | -static inline void set_HI_LOT0 (target_ulong t0, uint64_t HILO) | |
| 110 | +static inline void set_HI_LOT0 (target_ulong arg1, uint64_t HILO) | |
| 111 | 111 | { |
| 112 | - t0 = env->active_tc.LO[0] = (int32_t)(HILO & 0xFFFFFFFF); | |
| 112 | + arg1 = env->active_tc.LO[0] = (int32_t)(HILO & 0xFFFFFFFF); | |
| 113 | 113 | env->active_tc.HI[0] = (int32_t)(HILO >> 32); |
| 114 | 114 | } |
| 115 | 115 | |
| 116 | 116 | /* Multiplication variants of the vr54xx. */ |
| 117 | -target_ulong helper_muls (target_ulong t0, target_ulong t1) | |
| 117 | +target_ulong helper_muls (target_ulong arg1, target_ulong arg2) | |
| 118 | 118 | { |
| 119 | - set_HI_LOT0(t0, 0 - ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 119 | + set_HI_LOT0(arg1, 0 - ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 120 | 120 | |
| 121 | - return t0; | |
| 121 | + return arg1; | |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | -target_ulong helper_mulsu (target_ulong t0, target_ulong t1) | |
| 124 | +target_ulong helper_mulsu (target_ulong arg1, target_ulong arg2) | |
| 125 | 125 | { |
| 126 | - set_HI_LOT0(t0, 0 - ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 126 | + set_HI_LOT0(arg1, 0 - ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 127 | 127 | |
| 128 | - return t0; | |
| 128 | + return arg1; | |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | -target_ulong helper_macc (target_ulong t0, target_ulong t1) | |
| 131 | +target_ulong helper_macc (target_ulong arg1, target_ulong arg2) | |
| 132 | 132 | { |
| 133 | - set_HI_LOT0(t0, ((int64_t)get_HILO()) + ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 133 | + set_HI_LOT0(arg1, ((int64_t)get_HILO()) + ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 134 | 134 | |
| 135 | - return t0; | |
| 135 | + return arg1; | |
| 136 | 136 | } |
| 137 | 137 | |
| 138 | -target_ulong helper_macchi (target_ulong t0, target_ulong t1) | |
| 138 | +target_ulong helper_macchi (target_ulong arg1, target_ulong arg2) | |
| 139 | 139 | { |
| 140 | - set_HIT0_LO(t0, ((int64_t)get_HILO()) + ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 140 | + set_HIT0_LO(arg1, ((int64_t)get_HILO()) + ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 141 | 141 | |
| 142 | - return t0; | |
| 142 | + return arg1; | |
| 143 | 143 | } |
| 144 | 144 | |
| 145 | -target_ulong helper_maccu (target_ulong t0, target_ulong t1) | |
| 145 | +target_ulong helper_maccu (target_ulong arg1, target_ulong arg2) | |
| 146 | 146 | { |
| 147 | - set_HI_LOT0(t0, ((uint64_t)get_HILO()) + ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 147 | + set_HI_LOT0(arg1, ((uint64_t)get_HILO()) + ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 148 | 148 | |
| 149 | - return t0; | |
| 149 | + return arg1; | |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | -target_ulong helper_macchiu (target_ulong t0, target_ulong t1) | |
| 152 | +target_ulong helper_macchiu (target_ulong arg1, target_ulong arg2) | |
| 153 | 153 | { |
| 154 | - set_HIT0_LO(t0, ((uint64_t)get_HILO()) + ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 154 | + set_HIT0_LO(arg1, ((uint64_t)get_HILO()) + ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 155 | 155 | |
| 156 | - return t0; | |
| 156 | + return arg1; | |
| 157 | 157 | } |
| 158 | 158 | |
| 159 | -target_ulong helper_msac (target_ulong t0, target_ulong t1) | |
| 159 | +target_ulong helper_msac (target_ulong arg1, target_ulong arg2) | |
| 160 | 160 | { |
| 161 | - set_HI_LOT0(t0, ((int64_t)get_HILO()) - ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 161 | + set_HI_LOT0(arg1, ((int64_t)get_HILO()) - ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 162 | 162 | |
| 163 | - return t0; | |
| 163 | + return arg1; | |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | -target_ulong helper_msachi (target_ulong t0, target_ulong t1) | |
| 166 | +target_ulong helper_msachi (target_ulong arg1, target_ulong arg2) | |
| 167 | 167 | { |
| 168 | - set_HIT0_LO(t0, ((int64_t)get_HILO()) - ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 168 | + set_HIT0_LO(arg1, ((int64_t)get_HILO()) - ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 169 | 169 | |
| 170 | - return t0; | |
| 170 | + return arg1; | |
| 171 | 171 | } |
| 172 | 172 | |
| 173 | -target_ulong helper_msacu (target_ulong t0, target_ulong t1) | |
| 173 | +target_ulong helper_msacu (target_ulong arg1, target_ulong arg2) | |
| 174 | 174 | { |
| 175 | - set_HI_LOT0(t0, ((uint64_t)get_HILO()) - ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 175 | + set_HI_LOT0(arg1, ((uint64_t)get_HILO()) - ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 176 | 176 | |
| 177 | - return t0; | |
| 177 | + return arg1; | |
| 178 | 178 | } |
| 179 | 179 | |
| 180 | -target_ulong helper_msachiu (target_ulong t0, target_ulong t1) | |
| 180 | +target_ulong helper_msachiu (target_ulong arg1, target_ulong arg2) | |
| 181 | 181 | { |
| 182 | - set_HIT0_LO(t0, ((uint64_t)get_HILO()) - ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 182 | + set_HIT0_LO(arg1, ((uint64_t)get_HILO()) - ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 183 | 183 | |
| 184 | - return t0; | |
| 184 | + return arg1; | |
| 185 | 185 | } |
| 186 | 186 | |
| 187 | -target_ulong helper_mulhi (target_ulong t0, target_ulong t1) | |
| 187 | +target_ulong helper_mulhi (target_ulong arg1, target_ulong arg2) | |
| 188 | 188 | { |
| 189 | - set_HIT0_LO(t0, (int64_t)(int32_t)t0 * (int64_t)(int32_t)t1); | |
| 189 | + set_HIT0_LO(arg1, (int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2); | |
| 190 | 190 | |
| 191 | - return t0; | |
| 191 | + return arg1; | |
| 192 | 192 | } |
| 193 | 193 | |
| 194 | -target_ulong helper_mulhiu (target_ulong t0, target_ulong t1) | |
| 194 | +target_ulong helper_mulhiu (target_ulong arg1, target_ulong arg2) | |
| 195 | 195 | { |
| 196 | - set_HIT0_LO(t0, (uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1); | |
| 196 | + set_HIT0_LO(arg1, (uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2); | |
| 197 | 197 | |
| 198 | - return t0; | |
| 198 | + return arg1; | |
| 199 | 199 | } |
| 200 | 200 | |
| 201 | -target_ulong helper_mulshi (target_ulong t0, target_ulong t1) | |
| 201 | +target_ulong helper_mulshi (target_ulong arg1, target_ulong arg2) | |
| 202 | 202 | { |
| 203 | - set_HIT0_LO(t0, 0 - ((int64_t)(int32_t)t0 * (int64_t)(int32_t)t1)); | |
| 203 | + set_HIT0_LO(arg1, 0 - ((int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg2)); | |
| 204 | 204 | |
| 205 | - return t0; | |
| 205 | + return arg1; | |
| 206 | 206 | } |
| 207 | 207 | |
| 208 | -target_ulong helper_mulshiu (target_ulong t0, target_ulong t1) | |
| 208 | +target_ulong helper_mulshiu (target_ulong arg1, target_ulong arg2) | |
| 209 | 209 | { |
| 210 | - set_HIT0_LO(t0, 0 - ((uint64_t)(uint32_t)t0 * (uint64_t)(uint32_t)t1)); | |
| 210 | + set_HIT0_LO(arg1, 0 - ((uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2)); | |
| 211 | 211 | |
| 212 | - return t0; | |
| 212 | + return arg1; | |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | #ifdef TARGET_MIPS64 |
| 216 | -void helper_dmult (target_ulong t0, target_ulong t1) | |
| 216 | +void helper_dmult (target_ulong arg1, target_ulong arg2) | |
| 217 | 217 | { |
| 218 | - muls64(&(env->active_tc.LO[0]), &(env->active_tc.HI[0]), t0, t1); | |
| 218 | + muls64(&(env->active_tc.LO[0]), &(env->active_tc.HI[0]), arg1, arg2); | |
| 219 | 219 | } |
| 220 | 220 | |
| 221 | -void helper_dmultu (target_ulong t0, target_ulong t1) | |
| 221 | +void helper_dmultu (target_ulong arg1, target_ulong arg2) | |
| 222 | 222 | { |
| 223 | - mulu64(&(env->active_tc.LO[0]), &(env->active_tc.HI[0]), t0, t1); | |
| 223 | + mulu64(&(env->active_tc.LO[0]), &(env->active_tc.HI[0]), arg1, arg2); | |
| 224 | 224 | } |
| 225 | 225 | #endif |
| 226 | 226 | |
| ... | ... | @@ -232,7 +232,7 @@ void helper_dmultu (target_ulong t0, target_ulong t1) |
| 232 | 232 | #define GET_OFFSET(addr, offset) (addr - (offset)) |
| 233 | 233 | #endif |
| 234 | 234 | |
| 235 | -target_ulong helper_lwl(target_ulong t0, target_ulong t1, int mem_idx) | |
| 235 | +target_ulong helper_lwl(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 236 | 236 | { |
| 237 | 237 | target_ulong tmp; |
| 238 | 238 | |
| ... | ... | @@ -249,27 +249,27 @@ target_ulong helper_lwl(target_ulong t0, target_ulong t1, int mem_idx) |
| 249 | 249 | case 2: ldfun = ldub_user; break; |
| 250 | 250 | } |
| 251 | 251 | #endif |
| 252 | - tmp = ldfun(t0); | |
| 253 | - t1 = (t1 & 0x00FFFFFF) | (tmp << 24); | |
| 252 | + tmp = ldfun(arg2); | |
| 253 | + arg1 = (arg1 & 0x00FFFFFF) | (tmp << 24); | |
| 254 | 254 | |
| 255 | - if (GET_LMASK(t0) <= 2) { | |
| 256 | - tmp = ldfun(GET_OFFSET(t0, 1)); | |
| 257 | - t1 = (t1 & 0xFF00FFFF) | (tmp << 16); | |
| 255 | + if (GET_LMASK(arg2) <= 2) { | |
| 256 | + tmp = ldfun(GET_OFFSET(arg2, 1)); | |
| 257 | + arg1 = (arg1 & 0xFF00FFFF) | (tmp << 16); | |
| 258 | 258 | } |
| 259 | 259 | |
| 260 | - if (GET_LMASK(t0) <= 1) { | |
| 261 | - tmp = ldfun(GET_OFFSET(t0, 2)); | |
| 262 | - t1 = (t1 & 0xFFFF00FF) | (tmp << 8); | |
| 260 | + if (GET_LMASK(arg2) <= 1) { | |
| 261 | + tmp = ldfun(GET_OFFSET(arg2, 2)); | |
| 262 | + arg1 = (arg1 & 0xFFFF00FF) | (tmp << 8); | |
| 263 | 263 | } |
| 264 | 264 | |
| 265 | - if (GET_LMASK(t0) == 0) { | |
| 266 | - tmp = ldfun(GET_OFFSET(t0, 3)); | |
| 267 | - t1 = (t1 & 0xFFFFFF00) | tmp; | |
| 265 | + if (GET_LMASK(arg2) == 0) { | |
| 266 | + tmp = ldfun(GET_OFFSET(arg2, 3)); | |
| 267 | + arg1 = (arg1 & 0xFFFFFF00) | tmp; | |
| 268 | 268 | } |
| 269 | - return (int32_t)t1; | |
| 269 | + return (int32_t)arg1; | |
| 270 | 270 | } |
| 271 | 271 | |
| 272 | -target_ulong helper_lwr(target_ulong t0, target_ulong t1, int mem_idx) | |
| 272 | +target_ulong helper_lwr(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 273 | 273 | { |
| 274 | 274 | target_ulong tmp; |
| 275 | 275 | |
| ... | ... | @@ -286,27 +286,27 @@ target_ulong helper_lwr(target_ulong t0, target_ulong t1, int mem_idx) |
| 286 | 286 | case 2: ldfun = ldub_user; break; |
| 287 | 287 | } |
| 288 | 288 | #endif |
| 289 | - tmp = ldfun(t0); | |
| 290 | - t1 = (t1 & 0xFFFFFF00) | tmp; | |
| 289 | + tmp = ldfun(arg2); | |
| 290 | + arg1 = (arg1 & 0xFFFFFF00) | tmp; | |
| 291 | 291 | |
| 292 | - if (GET_LMASK(t0) >= 1) { | |
| 293 | - tmp = ldfun(GET_OFFSET(t0, -1)); | |
| 294 | - t1 = (t1 & 0xFFFF00FF) | (tmp << 8); | |
| 292 | + if (GET_LMASK(arg2) >= 1) { | |
| 293 | + tmp = ldfun(GET_OFFSET(arg2, -1)); | |
| 294 | + arg1 = (arg1 & 0xFFFF00FF) | (tmp << 8); | |
| 295 | 295 | } |
| 296 | 296 | |
| 297 | - if (GET_LMASK(t0) >= 2) { | |
| 298 | - tmp = ldfun(GET_OFFSET(t0, -2)); | |
| 299 | - t1 = (t1 & 0xFF00FFFF) | (tmp << 16); | |
| 297 | + if (GET_LMASK(arg2) >= 2) { | |
| 298 | + tmp = ldfun(GET_OFFSET(arg2, -2)); | |
| 299 | + arg1 = (arg1 & 0xFF00FFFF) | (tmp << 16); | |
| 300 | 300 | } |
| 301 | 301 | |
| 302 | - if (GET_LMASK(t0) == 3) { | |
| 303 | - tmp = ldfun(GET_OFFSET(t0, -3)); | |
| 304 | - t1 = (t1 & 0x00FFFFFF) | (tmp << 24); | |
| 302 | + if (GET_LMASK(arg2) == 3) { | |
| 303 | + tmp = ldfun(GET_OFFSET(arg2, -3)); | |
| 304 | + arg1 = (arg1 & 0x00FFFFFF) | (tmp << 24); | |
| 305 | 305 | } |
| 306 | - return (int32_t)t1; | |
| 306 | + return (int32_t)arg1; | |
| 307 | 307 | } |
| 308 | 308 | |
| 309 | -void helper_swl(target_ulong t0, target_ulong t1, int mem_idx) | |
| 309 | +void helper_swl(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 310 | 310 | { |
| 311 | 311 | #ifdef CONFIG_USER_ONLY |
| 312 | 312 | #define stfun stb_raw |
| ... | ... | @@ -321,19 +321,19 @@ void helper_swl(target_ulong t0, target_ulong t1, int mem_idx) |
| 321 | 321 | case 2: stfun = stb_user; break; |
| 322 | 322 | } |
| 323 | 323 | #endif |
| 324 | - stfun(t0, (uint8_t)(t1 >> 24)); | |
| 324 | + stfun(arg2, (uint8_t)(arg1 >> 24)); | |
| 325 | 325 | |
| 326 | - if (GET_LMASK(t0) <= 2) | |
| 327 | - stfun(GET_OFFSET(t0, 1), (uint8_t)(t1 >> 16)); | |
| 326 | + if (GET_LMASK(arg2) <= 2) | |
| 327 | + stfun(GET_OFFSET(arg2, 1), (uint8_t)(arg1 >> 16)); | |
| 328 | 328 | |
| 329 | - if (GET_LMASK(t0) <= 1) | |
| 330 | - stfun(GET_OFFSET(t0, 2), (uint8_t)(t1 >> 8)); | |
| 329 | + if (GET_LMASK(arg2) <= 1) | |
| 330 | + stfun(GET_OFFSET(arg2, 2), (uint8_t)(arg1 >> 8)); | |
| 331 | 331 | |
| 332 | - if (GET_LMASK(t0) == 0) | |
| 333 | - stfun(GET_OFFSET(t0, 3), (uint8_t)t1); | |
| 332 | + if (GET_LMASK(arg2) == 0) | |
| 333 | + stfun(GET_OFFSET(arg2, 3), (uint8_t)arg1); | |
| 334 | 334 | } |
| 335 | 335 | |
| 336 | -void helper_swr(target_ulong t0, target_ulong t1, int mem_idx) | |
| 336 | +void helper_swr(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 337 | 337 | { |
| 338 | 338 | #ifdef CONFIG_USER_ONLY |
| 339 | 339 | #define stfun stb_raw |
| ... | ... | @@ -348,16 +348,16 @@ void helper_swr(target_ulong t0, target_ulong t1, int mem_idx) |
| 348 | 348 | case 2: stfun = stb_user; break; |
| 349 | 349 | } |
| 350 | 350 | #endif |
| 351 | - stfun(t0, (uint8_t)t1); | |
| 351 | + stfun(arg2, (uint8_t)arg1); | |
| 352 | 352 | |
| 353 | - if (GET_LMASK(t0) >= 1) | |
| 354 | - stfun(GET_OFFSET(t0, -1), (uint8_t)(t1 >> 8)); | |
| 353 | + if (GET_LMASK(arg2) >= 1) | |
| 354 | + stfun(GET_OFFSET(arg2, -1), (uint8_t)(arg1 >> 8)); | |
| 355 | 355 | |
| 356 | - if (GET_LMASK(t0) >= 2) | |
| 357 | - stfun(GET_OFFSET(t0, -2), (uint8_t)(t1 >> 16)); | |
| 356 | + if (GET_LMASK(arg2) >= 2) | |
| 357 | + stfun(GET_OFFSET(arg2, -2), (uint8_t)(arg1 >> 16)); | |
| 358 | 358 | |
| 359 | - if (GET_LMASK(t0) == 3) | |
| 360 | - stfun(GET_OFFSET(t0, -3), (uint8_t)(t1 >> 24)); | |
| 359 | + if (GET_LMASK(arg2) == 3) | |
| 360 | + stfun(GET_OFFSET(arg2, -3), (uint8_t)(arg1 >> 24)); | |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | 363 | #if defined(TARGET_MIPS64) |
| ... | ... | @@ -370,7 +370,7 @@ void helper_swr(target_ulong t0, target_ulong t1, int mem_idx) |
| 370 | 370 | #define GET_LMASK64(v) (((v) & 7) ^ 7) |
| 371 | 371 | #endif |
| 372 | 372 | |
| 373 | -target_ulong helper_ldl(target_ulong t0, target_ulong t1, int mem_idx) | |
| 373 | +target_ulong helper_ldl(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 374 | 374 | { |
| 375 | 375 | uint64_t tmp; |
| 376 | 376 | |
| ... | ... | @@ -387,48 +387,48 @@ target_ulong helper_ldl(target_ulong t0, target_ulong t1, int mem_idx) |
| 387 | 387 | case 2: ldfun = ldub_user; break; |
| 388 | 388 | } |
| 389 | 389 | #endif |
| 390 | - tmp = ldfun(t0); | |
| 391 | - t1 = (t1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
| 390 | + tmp = ldfun(arg2); | |
| 391 | + arg1 = (arg1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
| 392 | 392 | |
| 393 | - if (GET_LMASK64(t0) <= 6) { | |
| 394 | - tmp = ldfun(GET_OFFSET(t0, 1)); | |
| 395 | - t1 = (t1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
| 393 | + if (GET_LMASK64(arg2) <= 6) { | |
| 394 | + tmp = ldfun(GET_OFFSET(arg2, 1)); | |
| 395 | + arg1 = (arg1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
| 396 | 396 | } |
| 397 | 397 | |
| 398 | - if (GET_LMASK64(t0) <= 5) { | |
| 399 | - tmp = ldfun(GET_OFFSET(t0, 2)); | |
| 400 | - t1 = (t1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
| 398 | + if (GET_LMASK64(arg2) <= 5) { | |
| 399 | + tmp = ldfun(GET_OFFSET(arg2, 2)); | |
| 400 | + arg1 = (arg1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
| 401 | 401 | } |
| 402 | 402 | |
| 403 | - if (GET_LMASK64(t0) <= 4) { | |
| 404 | - tmp = ldfun(GET_OFFSET(t0, 3)); | |
| 405 | - t1 = (t1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
| 403 | + if (GET_LMASK64(arg2) <= 4) { | |
| 404 | + tmp = ldfun(GET_OFFSET(arg2, 3)); | |
| 405 | + arg1 = (arg1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
| 406 | 406 | } |
| 407 | 407 | |
| 408 | - if (GET_LMASK64(t0) <= 3) { | |
| 409 | - tmp = ldfun(GET_OFFSET(t0, 4)); | |
| 410 | - t1 = (t1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
| 408 | + if (GET_LMASK64(arg2) <= 3) { | |
| 409 | + tmp = ldfun(GET_OFFSET(arg2, 4)); | |
| 410 | + arg1 = (arg1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | - if (GET_LMASK64(t0) <= 2) { | |
| 414 | - tmp = ldfun(GET_OFFSET(t0, 5)); | |
| 415 | - t1 = (t1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
| 413 | + if (GET_LMASK64(arg2) <= 2) { | |
| 414 | + tmp = ldfun(GET_OFFSET(arg2, 5)); | |
| 415 | + arg1 = (arg1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
| 416 | 416 | } |
| 417 | 417 | |
| 418 | - if (GET_LMASK64(t0) <= 1) { | |
| 419 | - tmp = ldfun(GET_OFFSET(t0, 6)); | |
| 420 | - t1 = (t1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
| 418 | + if (GET_LMASK64(arg2) <= 1) { | |
| 419 | + tmp = ldfun(GET_OFFSET(arg2, 6)); | |
| 420 | + arg1 = (arg1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
| 421 | 421 | } |
| 422 | 422 | |
| 423 | - if (GET_LMASK64(t0) == 0) { | |
| 424 | - tmp = ldfun(GET_OFFSET(t0, 7)); | |
| 425 | - t1 = (t1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
| 423 | + if (GET_LMASK64(arg2) == 0) { | |
| 424 | + tmp = ldfun(GET_OFFSET(arg2, 7)); | |
| 425 | + arg1 = (arg1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
| 426 | 426 | } |
| 427 | 427 | |
| 428 | - return t1; | |
| 428 | + return arg1; | |
| 429 | 429 | } |
| 430 | 430 | |
| 431 | -target_ulong helper_ldr(target_ulong t0, target_ulong t1, int mem_idx) | |
| 431 | +target_ulong helper_ldr(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 432 | 432 | { |
| 433 | 433 | uint64_t tmp; |
| 434 | 434 | |
| ... | ... | @@ -445,48 +445,48 @@ target_ulong helper_ldr(target_ulong t0, target_ulong t1, int mem_idx) |
| 445 | 445 | case 2: ldfun = ldub_user; break; |
| 446 | 446 | } |
| 447 | 447 | #endif |
| 448 | - tmp = ldfun(t0); | |
| 449 | - t1 = (t1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
| 448 | + tmp = ldfun(arg2); | |
| 449 | + arg1 = (arg1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
| 450 | 450 | |
| 451 | - if (GET_LMASK64(t0) >= 1) { | |
| 452 | - tmp = ldfun(GET_OFFSET(t0, -1)); | |
| 453 | - t1 = (t1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
| 451 | + if (GET_LMASK64(arg2) >= 1) { | |
| 452 | + tmp = ldfun(GET_OFFSET(arg2, -1)); | |
| 453 | + arg1 = (arg1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
| 454 | 454 | } |
| 455 | 455 | |
| 456 | - if (GET_LMASK64(t0) >= 2) { | |
| 457 | - tmp = ldfun(GET_OFFSET(t0, -2)); | |
| 458 | - t1 = (t1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
| 456 | + if (GET_LMASK64(arg2) >= 2) { | |
| 457 | + tmp = ldfun(GET_OFFSET(arg2, -2)); | |
| 458 | + arg1 = (arg1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
| 459 | 459 | } |
| 460 | 460 | |
| 461 | - if (GET_LMASK64(t0) >= 3) { | |
| 462 | - tmp = ldfun(GET_OFFSET(t0, -3)); | |
| 463 | - t1 = (t1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
| 461 | + if (GET_LMASK64(arg2) >= 3) { | |
| 462 | + tmp = ldfun(GET_OFFSET(arg2, -3)); | |
| 463 | + arg1 = (arg1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
| 464 | 464 | } |
| 465 | 465 | |
| 466 | - if (GET_LMASK64(t0) >= 4) { | |
| 467 | - tmp = ldfun(GET_OFFSET(t0, -4)); | |
| 468 | - t1 = (t1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
| 466 | + if (GET_LMASK64(arg2) >= 4) { | |
| 467 | + tmp = ldfun(GET_OFFSET(arg2, -4)); | |
| 468 | + arg1 = (arg1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
| 469 | 469 | } |
| 470 | 470 | |
| 471 | - if (GET_LMASK64(t0) >= 5) { | |
| 472 | - tmp = ldfun(GET_OFFSET(t0, -5)); | |
| 473 | - t1 = (t1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
| 471 | + if (GET_LMASK64(arg2) >= 5) { | |
| 472 | + tmp = ldfun(GET_OFFSET(arg2, -5)); | |
| 473 | + arg1 = (arg1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
| 474 | 474 | } |
| 475 | 475 | |
| 476 | - if (GET_LMASK64(t0) >= 6) { | |
| 477 | - tmp = ldfun(GET_OFFSET(t0, -6)); | |
| 478 | - t1 = (t1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
| 476 | + if (GET_LMASK64(arg2) >= 6) { | |
| 477 | + tmp = ldfun(GET_OFFSET(arg2, -6)); | |
| 478 | + arg1 = (arg1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
| 479 | 479 | } |
| 480 | 480 | |
| 481 | - if (GET_LMASK64(t0) == 7) { | |
| 482 | - tmp = ldfun(GET_OFFSET(t0, -7)); | |
| 483 | - t1 = (t1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
| 481 | + if (GET_LMASK64(arg2) == 7) { | |
| 482 | + tmp = ldfun(GET_OFFSET(arg2, -7)); | |
| 483 | + arg1 = (arg1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
| 484 | 484 | } |
| 485 | 485 | |
| 486 | - return t1; | |
| 486 | + return arg1; | |
| 487 | 487 | } |
| 488 | 488 | |
| 489 | -void helper_sdl(target_ulong t0, target_ulong t1, int mem_idx) | |
| 489 | +void helper_sdl(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 490 | 490 | { |
| 491 | 491 | #ifdef CONFIG_USER_ONLY |
| 492 | 492 | #define stfun stb_raw |
| ... | ... | @@ -501,31 +501,31 @@ void helper_sdl(target_ulong t0, target_ulong t1, int mem_idx) |
| 501 | 501 | case 2: stfun = stb_user; break; |
| 502 | 502 | } |
| 503 | 503 | #endif |
| 504 | - stfun(t0, (uint8_t)(t1 >> 56)); | |
| 504 | + stfun(arg2, (uint8_t)(arg1 >> 56)); | |
| 505 | 505 | |
| 506 | - if (GET_LMASK64(t0) <= 6) | |
| 507 | - stfun(GET_OFFSET(t0, 1), (uint8_t)(t1 >> 48)); | |
| 506 | + if (GET_LMASK64(arg2) <= 6) | |
| 507 | + stfun(GET_OFFSET(arg2, 1), (uint8_t)(arg1 >> 48)); | |
| 508 | 508 | |
| 509 | - if (GET_LMASK64(t0) <= 5) | |
| 510 | - stfun(GET_OFFSET(t0, 2), (uint8_t)(t1 >> 40)); | |
| 509 | + if (GET_LMASK64(arg2) <= 5) | |
| 510 | + stfun(GET_OFFSET(arg2, 2), (uint8_t)(arg1 >> 40)); | |
| 511 | 511 | |
| 512 | - if (GET_LMASK64(t0) <= 4) | |
| 513 | - stfun(GET_OFFSET(t0, 3), (uint8_t)(t1 >> 32)); | |
| 512 | + if (GET_LMASK64(arg2) <= 4) | |
| 513 | + stfun(GET_OFFSET(arg2, 3), (uint8_t)(arg1 >> 32)); | |
| 514 | 514 | |
| 515 | - if (GET_LMASK64(t0) <= 3) | |
| 516 | - stfun(GET_OFFSET(t0, 4), (uint8_t)(t1 >> 24)); | |
| 515 | + if (GET_LMASK64(arg2) <= 3) | |
| 516 | + stfun(GET_OFFSET(arg2, 4), (uint8_t)(arg1 >> 24)); | |
| 517 | 517 | |
| 518 | - if (GET_LMASK64(t0) <= 2) | |
| 519 | - stfun(GET_OFFSET(t0, 5), (uint8_t)(t1 >> 16)); | |
| 518 | + if (GET_LMASK64(arg2) <= 2) | |
| 519 | + stfun(GET_OFFSET(arg2, 5), (uint8_t)(arg1 >> 16)); | |
| 520 | 520 | |
| 521 | - if (GET_LMASK64(t0) <= 1) | |
| 522 | - stfun(GET_OFFSET(t0, 6), (uint8_t)(t1 >> 8)); | |
| 521 | + if (GET_LMASK64(arg2) <= 1) | |
| 522 | + stfun(GET_OFFSET(arg2, 6), (uint8_t)(arg1 >> 8)); | |
| 523 | 523 | |
| 524 | - if (GET_LMASK64(t0) <= 0) | |
| 525 | - stfun(GET_OFFSET(t0, 7), (uint8_t)t1); | |
| 524 | + if (GET_LMASK64(arg2) <= 0) | |
| 525 | + stfun(GET_OFFSET(arg2, 7), (uint8_t)arg1); | |
| 526 | 526 | } |
| 527 | 527 | |
| 528 | -void helper_sdr(target_ulong t0, target_ulong t1, int mem_idx) | |
| 528 | +void helper_sdr(target_ulong arg1, target_ulong arg2, int mem_idx) | |
| 529 | 529 | { |
| 530 | 530 | #ifdef CONFIG_USER_ONLY |
| 531 | 531 | #define stfun stb_raw |
| ... | ... | @@ -540,28 +540,28 @@ void helper_sdr(target_ulong t0, target_ulong t1, int mem_idx) |
| 540 | 540 | case 2: stfun = stb_user; break; |
| 541 | 541 | } |
| 542 | 542 | #endif |
| 543 | - stfun(t0, (uint8_t)t1); | |
| 543 | + stfun(arg2, (uint8_t)arg1); | |
| 544 | 544 | |
| 545 | - if (GET_LMASK64(t0) >= 1) | |
| 546 | - stfun(GET_OFFSET(t0, -1), (uint8_t)(t1 >> 8)); | |
| 545 | + if (GET_LMASK64(arg2) >= 1) | |
| 546 | + stfun(GET_OFFSET(arg2, -1), (uint8_t)(arg1 >> 8)); | |
| 547 | 547 | |
| 548 | - if (GET_LMASK64(t0) >= 2) | |
| 549 | - stfun(GET_OFFSET(t0, -2), (uint8_t)(t1 >> 16)); | |
| 548 | + if (GET_LMASK64(arg2) >= 2) | |
| 549 | + stfun(GET_OFFSET(arg2, -2), (uint8_t)(arg1 >> 16)); | |
| 550 | 550 | |
| 551 | - if (GET_LMASK64(t0) >= 3) | |
| 552 | - stfun(GET_OFFSET(t0, -3), (uint8_t)(t1 >> 24)); | |
| 551 | + if (GET_LMASK64(arg2) >= 3) | |
| 552 | + stfun(GET_OFFSET(arg2, -3), (uint8_t)(arg1 >> 24)); | |
| 553 | 553 | |
| 554 | - if (GET_LMASK64(t0) >= 4) | |
| 555 | - stfun(GET_OFFSET(t0, -4), (uint8_t)(t1 >> 32)); | |
| 554 | + if (GET_LMASK64(arg2) >= 4) | |
| 555 | + stfun(GET_OFFSET(arg2, -4), (uint8_t)(arg1 >> 32)); | |
| 556 | 556 | |
| 557 | - if (GET_LMASK64(t0) >= 5) | |
| 558 | - stfun(GET_OFFSET(t0, -5), (uint8_t)(t1 >> 40)); | |
| 557 | + if (GET_LMASK64(arg2) >= 5) | |
| 558 | + stfun(GET_OFFSET(arg2, -5), (uint8_t)(arg1 >> 40)); | |
| 559 | 559 | |
| 560 | - if (GET_LMASK64(t0) >= 6) | |
| 561 | - stfun(GET_OFFSET(t0, -6), (uint8_t)(t1 >> 48)); | |
| 560 | + if (GET_LMASK64(arg2) >= 6) | |
| 561 | + stfun(GET_OFFSET(arg2, -6), (uint8_t)(arg1 >> 48)); | |
| 562 | 562 | |
| 563 | - if (GET_LMASK64(t0) == 7) | |
| 564 | - stfun(GET_OFFSET(t0, -7), (uint8_t)(t1 >> 56)); | |
| 563 | + if (GET_LMASK64(arg2) == 7) | |
| 564 | + stfun(GET_OFFSET(arg2, -7), (uint8_t)(arg1 >> 56)); | |
| 565 | 565 | } |
| 566 | 566 | #endif /* TARGET_MIPS64 */ |
| 567 | 567 | |
| ... | ... | @@ -805,7 +805,7 @@ target_ulong helper_dmfc0_watchlo (uint32_t sel) |
| 805 | 805 | } |
| 806 | 806 | #endif /* TARGET_MIPS64 */ |
| 807 | 807 | |
| 808 | -void helper_mtc0_index (target_ulong t0) | |
| 808 | +void helper_mtc0_index (target_ulong arg1) | |
| 809 | 809 | { |
| 810 | 810 | int num = 1; |
| 811 | 811 | unsigned int tmp = env->tlb->nb_tlb; |
| ... | ... | @@ -814,10 +814,10 @@ void helper_mtc0_index (target_ulong t0) |
| 814 | 814 | tmp >>= 1; |
| 815 | 815 | num <<= 1; |
| 816 | 816 | } while (tmp); |
| 817 | - env->CP0_Index = (env->CP0_Index & 0x80000000) | (t0 & (num - 1)); | |
| 817 | + env->CP0_Index = (env->CP0_Index & 0x80000000) | (arg1 & (num - 1)); | |
| 818 | 818 | } |
| 819 | 819 | |
| 820 | -void helper_mtc0_mvpcontrol (target_ulong t0) | |
| 820 | +void helper_mtc0_mvpcontrol (target_ulong arg1) | |
| 821 | 821 | { |
| 822 | 822 | uint32_t mask = 0; |
| 823 | 823 | uint32_t newval; |
| ... | ... | @@ -827,21 +827,21 @@ void helper_mtc0_mvpcontrol (target_ulong t0) |
| 827 | 827 | (1 << CP0MVPCo_EVP); |
| 828 | 828 | if (env->mvp->CP0_MVPControl & (1 << CP0MVPCo_VPC)) |
| 829 | 829 | mask |= (1 << CP0MVPCo_STLB); |
| 830 | - newval = (env->mvp->CP0_MVPControl & ~mask) | (t0 & mask); | |
| 830 | + newval = (env->mvp->CP0_MVPControl & ~mask) | (arg1 & mask); | |
| 831 | 831 | |
| 832 | 832 | // TODO: Enable/disable shared TLB, enable/disable VPEs. |
| 833 | 833 | |
| 834 | 834 | env->mvp->CP0_MVPControl = newval; |
| 835 | 835 | } |
| 836 | 836 | |
| 837 | -void helper_mtc0_vpecontrol (target_ulong t0) | |
| 837 | +void helper_mtc0_vpecontrol (target_ulong arg1) | |
| 838 | 838 | { |
| 839 | 839 | uint32_t mask; |
| 840 | 840 | uint32_t newval; |
| 841 | 841 | |
| 842 | 842 | mask = (1 << CP0VPECo_YSI) | (1 << CP0VPECo_GSI) | |
| 843 | 843 | (1 << CP0VPECo_TE) | (0xff << CP0VPECo_TargTC); |
| 844 | - newval = (env->CP0_VPEControl & ~mask) | (t0 & mask); | |
| 844 | + newval = (env->CP0_VPEControl & ~mask) | (arg1 & mask); | |
| 845 | 845 | |
| 846 | 846 | /* Yield scheduler intercept not implemented. */ |
| 847 | 847 | /* Gating storage scheduler intercept not implemented. */ |
| ... | ... | @@ -851,7 +851,7 @@ void helper_mtc0_vpecontrol (target_ulong t0) |
| 851 | 851 | env->CP0_VPEControl = newval; |
| 852 | 852 | } |
| 853 | 853 | |
| 854 | -void helper_mtc0_vpeconf0 (target_ulong t0) | |
| 854 | +void helper_mtc0_vpeconf0 (target_ulong arg1) | |
| 855 | 855 | { |
| 856 | 856 | uint32_t mask = 0; |
| 857 | 857 | uint32_t newval; |
| ... | ... | @@ -861,14 +861,14 @@ void helper_mtc0_vpeconf0 (target_ulong t0) |
| 861 | 861 | mask |= (0xff << CP0VPEC0_XTC); |
| 862 | 862 | mask |= (1 << CP0VPEC0_MVP) | (1 << CP0VPEC0_VPA); |
| 863 | 863 | } |
| 864 | - newval = (env->CP0_VPEConf0 & ~mask) | (t0 & mask); | |
| 864 | + newval = (env->CP0_VPEConf0 & ~mask) | (arg1 & mask); | |
| 865 | 865 | |
| 866 | 866 | // TODO: TC exclusive handling due to ERL/EXL. |
| 867 | 867 | |
| 868 | 868 | env->CP0_VPEConf0 = newval; |
| 869 | 869 | } |
| 870 | 870 | |
| 871 | -void helper_mtc0_vpeconf1 (target_ulong t0) | |
| 871 | +void helper_mtc0_vpeconf1 (target_ulong arg1) | |
| 872 | 872 | { |
| 873 | 873 | uint32_t mask = 0; |
| 874 | 874 | uint32_t newval; |
| ... | ... | @@ -876,7 +876,7 @@ void helper_mtc0_vpeconf1 (target_ulong t0) |
| 876 | 876 | if (env->mvp->CP0_MVPControl & (1 << CP0MVPCo_VPC)) |
| 877 | 877 | mask |= (0xff << CP0VPEC1_NCX) | (0xff << CP0VPEC1_NCP2) | |
| 878 | 878 | (0xff << CP0VPEC1_NCP1); |
| 879 | - newval = (env->CP0_VPEConf1 & ~mask) | (t0 & mask); | |
| 879 | + newval = (env->CP0_VPEConf1 & ~mask) | (arg1 & mask); | |
| 880 | 880 | |
| 881 | 881 | /* UDI not implemented. */ |
| 882 | 882 | /* CP2 not implemented. */ |
| ... | ... | @@ -886,60 +886,60 @@ void helper_mtc0_vpeconf1 (target_ulong t0) |
| 886 | 886 | env->CP0_VPEConf1 = newval; |
| 887 | 887 | } |
| 888 | 888 | |
| 889 | -void helper_mtc0_yqmask (target_ulong t0) | |
| 889 | +void helper_mtc0_yqmask (target_ulong arg1) | |
| 890 | 890 | { |
| 891 | 891 | /* Yield qualifier inputs not implemented. */ |
| 892 | 892 | env->CP0_YQMask = 0x00000000; |
| 893 | 893 | } |
| 894 | 894 | |
| 895 | -void helper_mtc0_vpeopt (target_ulong t0) | |
| 895 | +void helper_mtc0_vpeopt (target_ulong arg1) | |
| 896 | 896 | { |
| 897 | - env->CP0_VPEOpt = t0 & 0x0000ffff; | |
| 897 | + env->CP0_VPEOpt = arg1 & 0x0000ffff; | |
| 898 | 898 | } |
| 899 | 899 | |
| 900 | -void helper_mtc0_entrylo0 (target_ulong t0) | |
| 900 | +void helper_mtc0_entrylo0 (target_ulong arg1) | |
| 901 | 901 | { |
| 902 | 902 | /* Large physaddr (PABITS) not implemented */ |
| 903 | 903 | /* 1k pages not implemented */ |
| 904 | - env->CP0_EntryLo0 = t0 & 0x3FFFFFFF; | |
| 904 | + env->CP0_EntryLo0 = arg1 & 0x3FFFFFFF; | |
| 905 | 905 | } |
| 906 | 906 | |
| 907 | -void helper_mtc0_tcstatus (target_ulong t0) | |
| 907 | +void helper_mtc0_tcstatus (target_ulong arg1) | |
| 908 | 908 | { |
| 909 | 909 | uint32_t mask = env->CP0_TCStatus_rw_bitmask; |
| 910 | 910 | uint32_t newval; |
| 911 | 911 | |
| 912 | - newval = (env->active_tc.CP0_TCStatus & ~mask) | (t0 & mask); | |
| 912 | + newval = (env->active_tc.CP0_TCStatus & ~mask) | (arg1 & mask); | |
| 913 | 913 | |
| 914 | 914 | // TODO: Sync with CP0_Status. |
| 915 | 915 | |
| 916 | 916 | env->active_tc.CP0_TCStatus = newval; |
| 917 | 917 | } |
| 918 | 918 | |
| 919 | -void helper_mttc0_tcstatus (target_ulong t0) | |
| 919 | +void helper_mttc0_tcstatus (target_ulong arg1) | |
| 920 | 920 | { |
| 921 | 921 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 922 | 922 | |
| 923 | 923 | // TODO: Sync with CP0_Status. |
| 924 | 924 | |
| 925 | 925 | if (other_tc == env->current_tc) |
| 926 | - env->active_tc.CP0_TCStatus = t0; | |
| 926 | + env->active_tc.CP0_TCStatus = arg1; | |
| 927 | 927 | else |
| 928 | - env->tcs[other_tc].CP0_TCStatus = t0; | |
| 928 | + env->tcs[other_tc].CP0_TCStatus = arg1; | |
| 929 | 929 | } |
| 930 | 930 | |
| 931 | -void helper_mtc0_tcbind (target_ulong t0) | |
| 931 | +void helper_mtc0_tcbind (target_ulong arg1) | |
| 932 | 932 | { |
| 933 | 933 | uint32_t mask = (1 << CP0TCBd_TBE); |
| 934 | 934 | uint32_t newval; |
| 935 | 935 | |
| 936 | 936 | if (env->mvp->CP0_MVPControl & (1 << CP0MVPCo_VPC)) |
| 937 | 937 | mask |= (1 << CP0TCBd_CurVPE); |
| 938 | - newval = (env->active_tc.CP0_TCBind & ~mask) | (t0 & mask); | |
| 938 | + newval = (env->active_tc.CP0_TCBind & ~mask) | (arg1 & mask); | |
| 939 | 939 | env->active_tc.CP0_TCBind = newval; |
| 940 | 940 | } |
| 941 | 941 | |
| 942 | -void helper_mttc0_tcbind (target_ulong t0) | |
| 942 | +void helper_mttc0_tcbind (target_ulong arg1) | |
| 943 | 943 | { |
| 944 | 944 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 945 | 945 | uint32_t mask = (1 << CP0TCBd_TBE); |
| ... | ... | @@ -948,122 +948,122 @@ void helper_mttc0_tcbind (target_ulong t0) |
| 948 | 948 | if (env->mvp->CP0_MVPControl & (1 << CP0MVPCo_VPC)) |
| 949 | 949 | mask |= (1 << CP0TCBd_CurVPE); |
| 950 | 950 | if (other_tc == env->current_tc) { |
| 951 | - newval = (env->active_tc.CP0_TCBind & ~mask) | (t0 & mask); | |
| 951 | + newval = (env->active_tc.CP0_TCBind & ~mask) | (arg1 & mask); | |
| 952 | 952 | env->active_tc.CP0_TCBind = newval; |
| 953 | 953 | } else { |
| 954 | - newval = (env->tcs[other_tc].CP0_TCBind & ~mask) | (t0 & mask); | |
| 954 | + newval = (env->tcs[other_tc].CP0_TCBind & ~mask) | (arg1 & mask); | |
| 955 | 955 | env->tcs[other_tc].CP0_TCBind = newval; |
| 956 | 956 | } |
| 957 | 957 | } |
| 958 | 958 | |
| 959 | -void helper_mtc0_tcrestart (target_ulong t0) | |
| 959 | +void helper_mtc0_tcrestart (target_ulong arg1) | |
| 960 | 960 | { |
| 961 | - env->active_tc.PC = t0; | |
| 961 | + env->active_tc.PC = arg1; | |
| 962 | 962 | env->active_tc.CP0_TCStatus &= ~(1 << CP0TCSt_TDS); |
| 963 | 963 | env->CP0_LLAddr = 0ULL; |
| 964 | 964 | /* MIPS16 not implemented. */ |
| 965 | 965 | } |
| 966 | 966 | |
| 967 | -void helper_mttc0_tcrestart (target_ulong t0) | |
| 967 | +void helper_mttc0_tcrestart (target_ulong arg1) | |
| 968 | 968 | { |
| 969 | 969 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 970 | 970 | |
| 971 | 971 | if (other_tc == env->current_tc) { |
| 972 | - env->active_tc.PC = t0; | |
| 972 | + env->active_tc.PC = arg1; | |
| 973 | 973 | env->active_tc.CP0_TCStatus &= ~(1 << CP0TCSt_TDS); |
| 974 | 974 | env->CP0_LLAddr = 0ULL; |
| 975 | 975 | /* MIPS16 not implemented. */ |
| 976 | 976 | } else { |
| 977 | - env->tcs[other_tc].PC = t0; | |
| 977 | + env->tcs[other_tc].PC = arg1; | |
| 978 | 978 | env->tcs[other_tc].CP0_TCStatus &= ~(1 << CP0TCSt_TDS); |
| 979 | 979 | env->CP0_LLAddr = 0ULL; |
| 980 | 980 | /* MIPS16 not implemented. */ |
| 981 | 981 | } |
| 982 | 982 | } |
| 983 | 983 | |
| 984 | -void helper_mtc0_tchalt (target_ulong t0) | |
| 984 | +void helper_mtc0_tchalt (target_ulong arg1) | |
| 985 | 985 | { |
| 986 | - env->active_tc.CP0_TCHalt = t0 & 0x1; | |
| 986 | + env->active_tc.CP0_TCHalt = arg1 & 0x1; | |
| 987 | 987 | |
| 988 | 988 | // TODO: Halt TC / Restart (if allocated+active) TC. |
| 989 | 989 | } |
| 990 | 990 | |
| 991 | -void helper_mttc0_tchalt (target_ulong t0) | |
| 991 | +void helper_mttc0_tchalt (target_ulong arg1) | |
| 992 | 992 | { |
| 993 | 993 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 994 | 994 | |
| 995 | 995 | // TODO: Halt TC / Restart (if allocated+active) TC. |
| 996 | 996 | |
| 997 | 997 | if (other_tc == env->current_tc) |
| 998 | - env->active_tc.CP0_TCHalt = t0; | |
| 998 | + env->active_tc.CP0_TCHalt = arg1; | |
| 999 | 999 | else |
| 1000 | - env->tcs[other_tc].CP0_TCHalt = t0; | |
| 1000 | + env->tcs[other_tc].CP0_TCHalt = arg1; | |
| 1001 | 1001 | } |
| 1002 | 1002 | |
| 1003 | -void helper_mtc0_tccontext (target_ulong t0) | |
| 1003 | +void helper_mtc0_tccontext (target_ulong arg1) | |
| 1004 | 1004 | { |
| 1005 | - env->active_tc.CP0_TCContext = t0; | |
| 1005 | + env->active_tc.CP0_TCContext = arg1; | |
| 1006 | 1006 | } |
| 1007 | 1007 | |
| 1008 | -void helper_mttc0_tccontext (target_ulong t0) | |
| 1008 | +void helper_mttc0_tccontext (target_ulong arg1) | |
| 1009 | 1009 | { |
| 1010 | 1010 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1011 | 1011 | |
| 1012 | 1012 | if (other_tc == env->current_tc) |
| 1013 | - env->active_tc.CP0_TCContext = t0; | |
| 1013 | + env->active_tc.CP0_TCContext = arg1; | |
| 1014 | 1014 | else |
| 1015 | - env->tcs[other_tc].CP0_TCContext = t0; | |
| 1015 | + env->tcs[other_tc].CP0_TCContext = arg1; | |
| 1016 | 1016 | } |
| 1017 | 1017 | |
| 1018 | -void helper_mtc0_tcschedule (target_ulong t0) | |
| 1018 | +void helper_mtc0_tcschedule (target_ulong arg1) | |
| 1019 | 1019 | { |
| 1020 | - env->active_tc.CP0_TCSchedule = t0; | |
| 1020 | + env->active_tc.CP0_TCSchedule = arg1; | |
| 1021 | 1021 | } |
| 1022 | 1022 | |
| 1023 | -void helper_mttc0_tcschedule (target_ulong t0) | |
| 1023 | +void helper_mttc0_tcschedule (target_ulong arg1) | |
| 1024 | 1024 | { |
| 1025 | 1025 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1026 | 1026 | |
| 1027 | 1027 | if (other_tc == env->current_tc) |
| 1028 | - env->active_tc.CP0_TCSchedule = t0; | |
| 1028 | + env->active_tc.CP0_TCSchedule = arg1; | |
| 1029 | 1029 | else |
| 1030 | - env->tcs[other_tc].CP0_TCSchedule = t0; | |
| 1030 | + env->tcs[other_tc].CP0_TCSchedule = arg1; | |
| 1031 | 1031 | } |
| 1032 | 1032 | |
| 1033 | -void helper_mtc0_tcschefback (target_ulong t0) | |
| 1033 | +void helper_mtc0_tcschefback (target_ulong arg1) | |
| 1034 | 1034 | { |
| 1035 | - env->active_tc.CP0_TCScheFBack = t0; | |
| 1035 | + env->active_tc.CP0_TCScheFBack = arg1; | |
| 1036 | 1036 | } |
| 1037 | 1037 | |
| 1038 | -void helper_mttc0_tcschefback (target_ulong t0) | |
| 1038 | +void helper_mttc0_tcschefback (target_ulong arg1) | |
| 1039 | 1039 | { |
| 1040 | 1040 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1041 | 1041 | |
| 1042 | 1042 | if (other_tc == env->current_tc) |
| 1043 | - env->active_tc.CP0_TCScheFBack = t0; | |
| 1043 | + env->active_tc.CP0_TCScheFBack = arg1; | |
| 1044 | 1044 | else |
| 1045 | - env->tcs[other_tc].CP0_TCScheFBack = t0; | |
| 1045 | + env->tcs[other_tc].CP0_TCScheFBack = arg1; | |
| 1046 | 1046 | } |
| 1047 | 1047 | |
| 1048 | -void helper_mtc0_entrylo1 (target_ulong t0) | |
| 1048 | +void helper_mtc0_entrylo1 (target_ulong arg1) | |
| 1049 | 1049 | { |
| 1050 | 1050 | /* Large physaddr (PABITS) not implemented */ |
| 1051 | 1051 | /* 1k pages not implemented */ |
| 1052 | - env->CP0_EntryLo1 = t0 & 0x3FFFFFFF; | |
| 1052 | + env->CP0_EntryLo1 = arg1 & 0x3FFFFFFF; | |
| 1053 | 1053 | } |
| 1054 | 1054 | |
| 1055 | -void helper_mtc0_context (target_ulong t0) | |
| 1055 | +void helper_mtc0_context (target_ulong arg1) | |
| 1056 | 1056 | { |
| 1057 | - env->CP0_Context = (env->CP0_Context & 0x007FFFFF) | (t0 & ~0x007FFFFF); | |
| 1057 | + env->CP0_Context = (env->CP0_Context & 0x007FFFFF) | (arg1 & ~0x007FFFFF); | |
| 1058 | 1058 | } |
| 1059 | 1059 | |
| 1060 | -void helper_mtc0_pagemask (target_ulong t0) | |
| 1060 | +void helper_mtc0_pagemask (target_ulong arg1) | |
| 1061 | 1061 | { |
| 1062 | 1062 | /* 1k pages not implemented */ |
| 1063 | - env->CP0_PageMask = t0 & (0x1FFFFFFF & (TARGET_PAGE_MASK << 1)); | |
| 1063 | + env->CP0_PageMask = arg1 & (0x1FFFFFFF & (TARGET_PAGE_MASK << 1)); | |
| 1064 | 1064 | } |
| 1065 | 1065 | |
| 1066 | -void helper_mtc0_pagegrain (target_ulong t0) | |
| 1066 | +void helper_mtc0_pagegrain (target_ulong arg1) | |
| 1067 | 1067 | { |
| 1068 | 1068 | /* SmartMIPS not implemented */ |
| 1069 | 1069 | /* Large physaddr (PABITS) not implemented */ |
| ... | ... | @@ -1071,52 +1071,52 @@ void helper_mtc0_pagegrain (target_ulong t0) |
| 1071 | 1071 | env->CP0_PageGrain = 0; |
| 1072 | 1072 | } |
| 1073 | 1073 | |
| 1074 | -void helper_mtc0_wired (target_ulong t0) | |
| 1074 | +void helper_mtc0_wired (target_ulong arg1) | |
| 1075 | 1075 | { |
| 1076 | - env->CP0_Wired = t0 % env->tlb->nb_tlb; | |
| 1076 | + env->CP0_Wired = arg1 % env->tlb->nb_tlb; | |
| 1077 | 1077 | } |
| 1078 | 1078 | |
| 1079 | -void helper_mtc0_srsconf0 (target_ulong t0) | |
| 1079 | +void helper_mtc0_srsconf0 (target_ulong arg1) | |
| 1080 | 1080 | { |
| 1081 | - env->CP0_SRSConf0 |= t0 & env->CP0_SRSConf0_rw_bitmask; | |
| 1081 | + env->CP0_SRSConf0 |= arg1 & env->CP0_SRSConf0_rw_bitmask; | |
| 1082 | 1082 | } |
| 1083 | 1083 | |
| 1084 | -void helper_mtc0_srsconf1 (target_ulong t0) | |
| 1084 | +void helper_mtc0_srsconf1 (target_ulong arg1) | |
| 1085 | 1085 | { |
| 1086 | - env->CP0_SRSConf1 |= t0 & env->CP0_SRSConf1_rw_bitmask; | |
| 1086 | + env->CP0_SRSConf1 |= arg1 & env->CP0_SRSConf1_rw_bitmask; | |
| 1087 | 1087 | } |
| 1088 | 1088 | |
| 1089 | -void helper_mtc0_srsconf2 (target_ulong t0) | |
| 1089 | +void helper_mtc0_srsconf2 (target_ulong arg1) | |
| 1090 | 1090 | { |
| 1091 | - env->CP0_SRSConf2 |= t0 & env->CP0_SRSConf2_rw_bitmask; | |
| 1091 | + env->CP0_SRSConf2 |= arg1 & env->CP0_SRSConf2_rw_bitmask; | |
| 1092 | 1092 | } |
| 1093 | 1093 | |
| 1094 | -void helper_mtc0_srsconf3 (target_ulong t0) | |
| 1094 | +void helper_mtc0_srsconf3 (target_ulong arg1) | |
| 1095 | 1095 | { |
| 1096 | - env->CP0_SRSConf3 |= t0 & env->CP0_SRSConf3_rw_bitmask; | |
| 1096 | + env->CP0_SRSConf3 |= arg1 & env->CP0_SRSConf3_rw_bitmask; | |
| 1097 | 1097 | } |
| 1098 | 1098 | |
| 1099 | -void helper_mtc0_srsconf4 (target_ulong t0) | |
| 1099 | +void helper_mtc0_srsconf4 (target_ulong arg1) | |
| 1100 | 1100 | { |
| 1101 | - env->CP0_SRSConf4 |= t0 & env->CP0_SRSConf4_rw_bitmask; | |
| 1101 | + env->CP0_SRSConf4 |= arg1 & env->CP0_SRSConf4_rw_bitmask; | |
| 1102 | 1102 | } |
| 1103 | 1103 | |
| 1104 | -void helper_mtc0_hwrena (target_ulong t0) | |
| 1104 | +void helper_mtc0_hwrena (target_ulong arg1) | |
| 1105 | 1105 | { |
| 1106 | - env->CP0_HWREna = t0 & 0x0000000F; | |
| 1106 | + env->CP0_HWREna = arg1 & 0x0000000F; | |
| 1107 | 1107 | } |
| 1108 | 1108 | |
| 1109 | -void helper_mtc0_count (target_ulong t0) | |
| 1109 | +void helper_mtc0_count (target_ulong arg1) | |
| 1110 | 1110 | { |
| 1111 | - cpu_mips_store_count(env, t0); | |
| 1111 | + cpu_mips_store_count(env, arg1); | |
| 1112 | 1112 | } |
| 1113 | 1113 | |
| 1114 | -void helper_mtc0_entryhi (target_ulong t0) | |
| 1114 | +void helper_mtc0_entryhi (target_ulong arg1) | |
| 1115 | 1115 | { |
| 1116 | 1116 | target_ulong old, val; |
| 1117 | 1117 | |
| 1118 | 1118 | /* 1k pages not implemented */ |
| 1119 | - val = t0 & ((TARGET_PAGE_MASK << 1) | 0xFF); | |
| 1119 | + val = arg1 & ((TARGET_PAGE_MASK << 1) | 0xFF); | |
| 1120 | 1120 | #if defined(TARGET_MIPS64) |
| 1121 | 1121 | val &= env->SEGMask; |
| 1122 | 1122 | #endif |
| ... | ... | @@ -1131,32 +1131,32 @@ void helper_mtc0_entryhi (target_ulong t0) |
| 1131 | 1131 | cpu_mips_tlb_flush(env, 1); |
| 1132 | 1132 | } |
| 1133 | 1133 | |
| 1134 | -void helper_mttc0_entryhi(target_ulong t0) | |
| 1134 | +void helper_mttc0_entryhi(target_ulong arg1) | |
| 1135 | 1135 | { |
| 1136 | 1136 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1137 | 1137 | int32_t tcstatus; |
| 1138 | 1138 | |
| 1139 | - env->CP0_EntryHi = (env->CP0_EntryHi & 0xff) | (t0 & ~0xff); | |
| 1139 | + env->CP0_EntryHi = (env->CP0_EntryHi & 0xff) | (arg1 & ~0xff); | |
| 1140 | 1140 | if (other_tc == env->current_tc) { |
| 1141 | - tcstatus = (env->active_tc.CP0_TCStatus & ~0xff) | (t0 & 0xff); | |
| 1141 | + tcstatus = (env->active_tc.CP0_TCStatus & ~0xff) | (arg1 & 0xff); | |
| 1142 | 1142 | env->active_tc.CP0_TCStatus = tcstatus; |
| 1143 | 1143 | } else { |
| 1144 | - tcstatus = (env->tcs[other_tc].CP0_TCStatus & ~0xff) | (t0 & 0xff); | |
| 1144 | + tcstatus = (env->tcs[other_tc].CP0_TCStatus & ~0xff) | (arg1 & 0xff); | |
| 1145 | 1145 | env->tcs[other_tc].CP0_TCStatus = tcstatus; |
| 1146 | 1146 | } |
| 1147 | 1147 | } |
| 1148 | 1148 | |
| 1149 | -void helper_mtc0_compare (target_ulong t0) | |
| 1149 | +void helper_mtc0_compare (target_ulong arg1) | |
| 1150 | 1150 | { |
| 1151 | - cpu_mips_store_compare(env, t0); | |
| 1151 | + cpu_mips_store_compare(env, arg1); | |
| 1152 | 1152 | } |
| 1153 | 1153 | |
| 1154 | -void helper_mtc0_status (target_ulong t0) | |
| 1154 | +void helper_mtc0_status (target_ulong arg1) | |
| 1155 | 1155 | { |
| 1156 | 1156 | uint32_t val, old; |
| 1157 | 1157 | uint32_t mask = env->CP0_Status_rw_bitmask; |
| 1158 | 1158 | |
| 1159 | - val = t0 & mask; | |
| 1159 | + val = arg1 & mask; | |
| 1160 | 1160 | old = env->CP0_Status; |
| 1161 | 1161 | env->CP0_Status = (env->CP0_Status & ~mask) | val; |
| 1162 | 1162 | compute_hflags(env); |
| ... | ... | @@ -1175,34 +1175,34 @@ void helper_mtc0_status (target_ulong t0) |
| 1175 | 1175 | cpu_mips_update_irq(env); |
| 1176 | 1176 | } |
| 1177 | 1177 | |
| 1178 | -void helper_mttc0_status(target_ulong t0) | |
| 1178 | +void helper_mttc0_status(target_ulong arg1) | |
| 1179 | 1179 | { |
| 1180 | 1180 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1181 | 1181 | int32_t tcstatus = env->tcs[other_tc].CP0_TCStatus; |
| 1182 | 1182 | |
| 1183 | - env->CP0_Status = t0 & ~0xf1000018; | |
| 1184 | - tcstatus = (tcstatus & ~(0xf << CP0TCSt_TCU0)) | (t0 & (0xf << CP0St_CU0)); | |
| 1185 | - tcstatus = (tcstatus & ~(1 << CP0TCSt_TMX)) | ((t0 & (1 << CP0St_MX)) << (CP0TCSt_TMX - CP0St_MX)); | |
| 1186 | - tcstatus = (tcstatus & ~(0x3 << CP0TCSt_TKSU)) | ((t0 & (0x3 << CP0St_KSU)) << (CP0TCSt_TKSU - CP0St_KSU)); | |
| 1183 | + env->CP0_Status = arg1 & ~0xf1000018; | |
| 1184 | + tcstatus = (tcstatus & ~(0xf << CP0TCSt_TCU0)) | (arg1 & (0xf << CP0St_CU0)); | |
| 1185 | + tcstatus = (tcstatus & ~(1 << CP0TCSt_TMX)) | ((arg1 & (1 << CP0St_MX)) << (CP0TCSt_TMX - CP0St_MX)); | |
| 1186 | + tcstatus = (tcstatus & ~(0x3 << CP0TCSt_TKSU)) | ((arg1 & (0x3 << CP0St_KSU)) << (CP0TCSt_TKSU - CP0St_KSU)); | |
| 1187 | 1187 | if (other_tc == env->current_tc) |
| 1188 | 1188 | env->active_tc.CP0_TCStatus = tcstatus; |
| 1189 | 1189 | else |
| 1190 | 1190 | env->tcs[other_tc].CP0_TCStatus = tcstatus; |
| 1191 | 1191 | } |
| 1192 | 1192 | |
| 1193 | -void helper_mtc0_intctl (target_ulong t0) | |
| 1193 | +void helper_mtc0_intctl (target_ulong arg1) | |
| 1194 | 1194 | { |
| 1195 | 1195 | /* vectored interrupts not implemented, no performance counters. */ |
| 1196 | - env->CP0_IntCtl = (env->CP0_IntCtl & ~0x000002e0) | (t0 & 0x000002e0); | |
| 1196 | + env->CP0_IntCtl = (env->CP0_IntCtl & ~0x000002e0) | (arg1 & 0x000002e0); | |
| 1197 | 1197 | } |
| 1198 | 1198 | |
| 1199 | -void helper_mtc0_srsctl (target_ulong t0) | |
| 1199 | +void helper_mtc0_srsctl (target_ulong arg1) | |
| 1200 | 1200 | { |
| 1201 | 1201 | uint32_t mask = (0xf << CP0SRSCtl_ESS) | (0xf << CP0SRSCtl_PSS); |
| 1202 | - env->CP0_SRSCtl = (env->CP0_SRSCtl & ~mask) | (t0 & mask); | |
| 1202 | + env->CP0_SRSCtl = (env->CP0_SRSCtl & ~mask) | (arg1 & mask); | |
| 1203 | 1203 | } |
| 1204 | 1204 | |
| 1205 | -void helper_mtc0_cause (target_ulong t0) | |
| 1205 | +void helper_mtc0_cause (target_ulong arg1) | |
| 1206 | 1206 | { |
| 1207 | 1207 | uint32_t mask = 0x00C00300; |
| 1208 | 1208 | uint32_t old = env->CP0_Cause; |
| ... | ... | @@ -1210,7 +1210,7 @@ void helper_mtc0_cause (target_ulong t0) |
| 1210 | 1210 | if (env->insn_flags & ISA_MIPS32R2) |
| 1211 | 1211 | mask |= 1 << CP0Ca_DC; |
| 1212 | 1212 | |
| 1213 | - env->CP0_Cause = (env->CP0_Cause & ~mask) | (t0 & mask); | |
| 1213 | + env->CP0_Cause = (env->CP0_Cause & ~mask) | (arg1 & mask); | |
| 1214 | 1214 | |
| 1215 | 1215 | if ((old ^ env->CP0_Cause) & (1 << CP0Ca_DC)) { |
| 1216 | 1216 | if (env->CP0_Cause & (1 << CP0Ca_DC)) |
| ... | ... | @@ -1221,66 +1221,66 @@ void helper_mtc0_cause (target_ulong t0) |
| 1221 | 1221 | |
| 1222 | 1222 | /* Handle the software interrupt as an hardware one, as they |
| 1223 | 1223 | are very similar */ |
| 1224 | - if (t0 & CP0Ca_IP_mask) { | |
| 1224 | + if (arg1 & CP0Ca_IP_mask) { | |
| 1225 | 1225 | cpu_mips_update_irq(env); |
| 1226 | 1226 | } |
| 1227 | 1227 | } |
| 1228 | 1228 | |
| 1229 | -void helper_mtc0_ebase (target_ulong t0) | |
| 1229 | +void helper_mtc0_ebase (target_ulong arg1) | |
| 1230 | 1230 | { |
| 1231 | 1231 | /* vectored interrupts not implemented */ |
| 1232 | 1232 | /* Multi-CPU not implemented */ |
| 1233 | - env->CP0_EBase = 0x80000000 | (t0 & 0x3FFFF000); | |
| 1233 | + env->CP0_EBase = 0x80000000 | (arg1 & 0x3FFFF000); | |
| 1234 | 1234 | } |
| 1235 | 1235 | |
| 1236 | -void helper_mtc0_config0 (target_ulong t0) | |
| 1236 | +void helper_mtc0_config0 (target_ulong arg1) | |
| 1237 | 1237 | { |
| 1238 | - env->CP0_Config0 = (env->CP0_Config0 & 0x81FFFFF8) | (t0 & 0x00000007); | |
| 1238 | + env->CP0_Config0 = (env->CP0_Config0 & 0x81FFFFF8) | (arg1 & 0x00000007); | |
| 1239 | 1239 | } |
| 1240 | 1240 | |
| 1241 | -void helper_mtc0_config2 (target_ulong t0) | |
| 1241 | +void helper_mtc0_config2 (target_ulong arg1) | |
| 1242 | 1242 | { |
| 1243 | 1243 | /* tertiary/secondary caches not implemented */ |
| 1244 | 1244 | env->CP0_Config2 = (env->CP0_Config2 & 0x8FFF0FFF); |
| 1245 | 1245 | } |
| 1246 | 1246 | |
| 1247 | -void helper_mtc0_watchlo (target_ulong t0, uint32_t sel) | |
| 1247 | +void helper_mtc0_watchlo (target_ulong arg1, uint32_t sel) | |
| 1248 | 1248 | { |
| 1249 | 1249 | /* Watch exceptions for instructions, data loads, data stores |
| 1250 | 1250 | not implemented. */ |
| 1251 | - env->CP0_WatchLo[sel] = (t0 & ~0x7); | |
| 1251 | + env->CP0_WatchLo[sel] = (arg1 & ~0x7); | |
| 1252 | 1252 | } |
| 1253 | 1253 | |
| 1254 | -void helper_mtc0_watchhi (target_ulong t0, uint32_t sel) | |
| 1254 | +void helper_mtc0_watchhi (target_ulong arg1, uint32_t sel) | |
| 1255 | 1255 | { |
| 1256 | - env->CP0_WatchHi[sel] = (t0 & 0x40FF0FF8); | |
| 1257 | - env->CP0_WatchHi[sel] &= ~(env->CP0_WatchHi[sel] & t0 & 0x7); | |
| 1256 | + env->CP0_WatchHi[sel] = (arg1 & 0x40FF0FF8); | |
| 1257 | + env->CP0_WatchHi[sel] &= ~(env->CP0_WatchHi[sel] & arg1 & 0x7); | |
| 1258 | 1258 | } |
| 1259 | 1259 | |
| 1260 | -void helper_mtc0_xcontext (target_ulong t0) | |
| 1260 | +void helper_mtc0_xcontext (target_ulong arg1) | |
| 1261 | 1261 | { |
| 1262 | 1262 | target_ulong mask = (1ULL << (env->SEGBITS - 7)) - 1; |
| 1263 | - env->CP0_XContext = (env->CP0_XContext & mask) | (t0 & ~mask); | |
| 1263 | + env->CP0_XContext = (env->CP0_XContext & mask) | (arg1 & ~mask); | |
| 1264 | 1264 | } |
| 1265 | 1265 | |
| 1266 | -void helper_mtc0_framemask (target_ulong t0) | |
| 1266 | +void helper_mtc0_framemask (target_ulong arg1) | |
| 1267 | 1267 | { |
| 1268 | - env->CP0_Framemask = t0; /* XXX */ | |
| 1268 | + env->CP0_Framemask = arg1; /* XXX */ | |
| 1269 | 1269 | } |
| 1270 | 1270 | |
| 1271 | -void helper_mtc0_debug (target_ulong t0) | |
| 1271 | +void helper_mtc0_debug (target_ulong arg1) | |
| 1272 | 1272 | { |
| 1273 | - env->CP0_Debug = (env->CP0_Debug & 0x8C03FC1F) | (t0 & 0x13300120); | |
| 1274 | - if (t0 & (1 << CP0DB_DM)) | |
| 1273 | + env->CP0_Debug = (env->CP0_Debug & 0x8C03FC1F) | (arg1 & 0x13300120); | |
| 1274 | + if (arg1 & (1 << CP0DB_DM)) | |
| 1275 | 1275 | env->hflags |= MIPS_HFLAG_DM; |
| 1276 | 1276 | else |
| 1277 | 1277 | env->hflags &= ~MIPS_HFLAG_DM; |
| 1278 | 1278 | } |
| 1279 | 1279 | |
| 1280 | -void helper_mttc0_debug(target_ulong t0) | |
| 1280 | +void helper_mttc0_debug(target_ulong arg1) | |
| 1281 | 1281 | { |
| 1282 | 1282 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1283 | - uint32_t val = t0 & ((1 << CP0DB_SSt) | (1 << CP0DB_Halt)); | |
| 1283 | + uint32_t val = arg1 & ((1 << CP0DB_SSt) | (1 << CP0DB_Halt)); | |
| 1284 | 1284 | |
| 1285 | 1285 | /* XXX: Might be wrong, check with EJTAG spec. */ |
| 1286 | 1286 | if (other_tc == env->current_tc) |
| ... | ... | @@ -1288,32 +1288,32 @@ void helper_mttc0_debug(target_ulong t0) |
| 1288 | 1288 | else |
| 1289 | 1289 | env->tcs[other_tc].CP0_Debug_tcstatus = val; |
| 1290 | 1290 | env->CP0_Debug = (env->CP0_Debug & ((1 << CP0DB_SSt) | (1 << CP0DB_Halt))) | |
| 1291 | - (t0 & ~((1 << CP0DB_SSt) | (1 << CP0DB_Halt))); | |
| 1291 | + (arg1 & ~((1 << CP0DB_SSt) | (1 << CP0DB_Halt))); | |
| 1292 | 1292 | } |
| 1293 | 1293 | |
| 1294 | -void helper_mtc0_performance0 (target_ulong t0) | |
| 1294 | +void helper_mtc0_performance0 (target_ulong arg1) | |
| 1295 | 1295 | { |
| 1296 | - env->CP0_Performance0 = t0 & 0x000007ff; | |
| 1296 | + env->CP0_Performance0 = arg1 & 0x000007ff; | |
| 1297 | 1297 | } |
| 1298 | 1298 | |
| 1299 | -void helper_mtc0_taglo (target_ulong t0) | |
| 1299 | +void helper_mtc0_taglo (target_ulong arg1) | |
| 1300 | 1300 | { |
| 1301 | - env->CP0_TagLo = t0 & 0xFFFFFCF6; | |
| 1301 | + env->CP0_TagLo = arg1 & 0xFFFFFCF6; | |
| 1302 | 1302 | } |
| 1303 | 1303 | |
| 1304 | -void helper_mtc0_datalo (target_ulong t0) | |
| 1304 | +void helper_mtc0_datalo (target_ulong arg1) | |
| 1305 | 1305 | { |
| 1306 | - env->CP0_DataLo = t0; /* XXX */ | |
| 1306 | + env->CP0_DataLo = arg1; /* XXX */ | |
| 1307 | 1307 | } |
| 1308 | 1308 | |
| 1309 | -void helper_mtc0_taghi (target_ulong t0) | |
| 1309 | +void helper_mtc0_taghi (target_ulong arg1) | |
| 1310 | 1310 | { |
| 1311 | - env->CP0_TagHi = t0; /* XXX */ | |
| 1311 | + env->CP0_TagHi = arg1; /* XXX */ | |
| 1312 | 1312 | } |
| 1313 | 1313 | |
| 1314 | -void helper_mtc0_datahi (target_ulong t0) | |
| 1314 | +void helper_mtc0_datahi (target_ulong arg1) | |
| 1315 | 1315 | { |
| 1316 | - env->CP0_DataHi = t0; /* XXX */ | |
| 1316 | + env->CP0_DataHi = arg1; /* XXX */ | |
| 1317 | 1317 | } |
| 1318 | 1318 | |
| 1319 | 1319 | /* MIPS MT functions */ |
| ... | ... | @@ -1367,106 +1367,106 @@ target_ulong helper_mftdsp(void) |
| 1367 | 1367 | return env->tcs[other_tc].DSPControl; |
| 1368 | 1368 | } |
| 1369 | 1369 | |
| 1370 | -void helper_mttgpr(target_ulong t0, uint32_t sel) | |
| 1370 | +void helper_mttgpr(target_ulong arg1, uint32_t sel) | |
| 1371 | 1371 | { |
| 1372 | 1372 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1373 | 1373 | |
| 1374 | 1374 | if (other_tc == env->current_tc) |
| 1375 | - env->active_tc.gpr[sel] = t0; | |
| 1375 | + env->active_tc.gpr[sel] = arg1; | |
| 1376 | 1376 | else |
| 1377 | - env->tcs[other_tc].gpr[sel] = t0; | |
| 1377 | + env->tcs[other_tc].gpr[sel] = arg1; | |
| 1378 | 1378 | } |
| 1379 | 1379 | |
| 1380 | -void helper_mttlo(target_ulong t0, uint32_t sel) | |
| 1380 | +void helper_mttlo(target_ulong arg1, uint32_t sel) | |
| 1381 | 1381 | { |
| 1382 | 1382 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1383 | 1383 | |
| 1384 | 1384 | if (other_tc == env->current_tc) |
| 1385 | - env->active_tc.LO[sel] = t0; | |
| 1385 | + env->active_tc.LO[sel] = arg1; | |
| 1386 | 1386 | else |
| 1387 | - env->tcs[other_tc].LO[sel] = t0; | |
| 1387 | + env->tcs[other_tc].LO[sel] = arg1; | |
| 1388 | 1388 | } |
| 1389 | 1389 | |
| 1390 | -void helper_mtthi(target_ulong t0, uint32_t sel) | |
| 1390 | +void helper_mtthi(target_ulong arg1, uint32_t sel) | |
| 1391 | 1391 | { |
| 1392 | 1392 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1393 | 1393 | |
| 1394 | 1394 | if (other_tc == env->current_tc) |
| 1395 | - env->active_tc.HI[sel] = t0; | |
| 1395 | + env->active_tc.HI[sel] = arg1; | |
| 1396 | 1396 | else |
| 1397 | - env->tcs[other_tc].HI[sel] = t0; | |
| 1397 | + env->tcs[other_tc].HI[sel] = arg1; | |
| 1398 | 1398 | } |
| 1399 | 1399 | |
| 1400 | -void helper_mttacx(target_ulong t0, uint32_t sel) | |
| 1400 | +void helper_mttacx(target_ulong arg1, uint32_t sel) | |
| 1401 | 1401 | { |
| 1402 | 1402 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1403 | 1403 | |
| 1404 | 1404 | if (other_tc == env->current_tc) |
| 1405 | - env->active_tc.ACX[sel] = t0; | |
| 1405 | + env->active_tc.ACX[sel] = arg1; | |
| 1406 | 1406 | else |
| 1407 | - env->tcs[other_tc].ACX[sel] = t0; | |
| 1407 | + env->tcs[other_tc].ACX[sel] = arg1; | |
| 1408 | 1408 | } |
| 1409 | 1409 | |
| 1410 | -void helper_mttdsp(target_ulong t0) | |
| 1410 | +void helper_mttdsp(target_ulong arg1) | |
| 1411 | 1411 | { |
| 1412 | 1412 | int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC); |
| 1413 | 1413 | |
| 1414 | 1414 | if (other_tc == env->current_tc) |
| 1415 | - env->active_tc.DSPControl = t0; | |
| 1415 | + env->active_tc.DSPControl = arg1; | |
| 1416 | 1416 | else |
| 1417 | - env->tcs[other_tc].DSPControl = t0; | |
| 1417 | + env->tcs[other_tc].DSPControl = arg1; | |
| 1418 | 1418 | } |
| 1419 | 1419 | |
| 1420 | 1420 | /* MIPS MT functions */ |
| 1421 | -target_ulong helper_dmt(target_ulong t0) | |
| 1421 | +target_ulong helper_dmt(target_ulong arg1) | |
| 1422 | 1422 | { |
| 1423 | 1423 | // TODO |
| 1424 | - t0 = 0; | |
| 1425 | - // rt = t0 | |
| 1424 | + arg1 = 0; | |
| 1425 | + // rt = arg1 | |
| 1426 | 1426 | |
| 1427 | - return t0; | |
| 1427 | + return arg1; | |
| 1428 | 1428 | } |
| 1429 | 1429 | |
| 1430 | -target_ulong helper_emt(target_ulong t0) | |
| 1430 | +target_ulong helper_emt(target_ulong arg1) | |
| 1431 | 1431 | { |
| 1432 | 1432 | // TODO |
| 1433 | - t0 = 0; | |
| 1434 | - // rt = t0 | |
| 1433 | + arg1 = 0; | |
| 1434 | + // rt = arg1 | |
| 1435 | 1435 | |
| 1436 | - return t0; | |
| 1436 | + return arg1; | |
| 1437 | 1437 | } |
| 1438 | 1438 | |
| 1439 | -target_ulong helper_dvpe(target_ulong t0) | |
| 1439 | +target_ulong helper_dvpe(target_ulong arg1) | |
| 1440 | 1440 | { |
| 1441 | 1441 | // TODO |
| 1442 | - t0 = 0; | |
| 1443 | - // rt = t0 | |
| 1442 | + arg1 = 0; | |
| 1443 | + // rt = arg1 | |
| 1444 | 1444 | |
| 1445 | - return t0; | |
| 1445 | + return arg1; | |
| 1446 | 1446 | } |
| 1447 | 1447 | |
| 1448 | -target_ulong helper_evpe(target_ulong t0) | |
| 1448 | +target_ulong helper_evpe(target_ulong arg1) | |
| 1449 | 1449 | { |
| 1450 | 1450 | // TODO |
| 1451 | - t0 = 0; | |
| 1452 | - // rt = t0 | |
| 1451 | + arg1 = 0; | |
| 1452 | + // rt = arg1 | |
| 1453 | 1453 | |
| 1454 | - return t0; | |
| 1454 | + return arg1; | |
| 1455 | 1455 | } |
| 1456 | 1456 | #endif /* !CONFIG_USER_ONLY */ |
| 1457 | 1457 | |
| 1458 | -void helper_fork(target_ulong t0, target_ulong t1) | |
| 1458 | +void helper_fork(target_ulong arg1, target_ulong arg2) | |
| 1459 | 1459 | { |
| 1460 | - // t0 = rt, t1 = rs | |
| 1461 | - t0 = 0; | |
| 1460 | + // arg1 = rt, arg2 = rs | |
| 1461 | + arg1 = 0; | |
| 1462 | 1462 | // TODO: store to TC register |
| 1463 | 1463 | } |
| 1464 | 1464 | |
| 1465 | -target_ulong helper_yield(target_ulong t0) | |
| 1465 | +target_ulong helper_yield(target_ulong arg1) | |
| 1466 | 1466 | { |
| 1467 | - if (t0 < 0) { | |
| 1467 | + if (arg1 < 0) { | |
| 1468 | 1468 | /* No scheduling policy implemented. */ |
| 1469 | - if (t0 != -2) { | |
| 1469 | + if (arg1 != -2) { | |
| 1470 | 1470 | if (env->CP0_VPEControl & (1 << CP0VPECo_YSI) && |
| 1471 | 1471 | env->active_tc.CP0_TCStatus & (1 << CP0TCSt_DT)) { |
| 1472 | 1472 | env->CP0_VPEControl &= ~(0x7 << CP0VPECo_EXCPT); |
| ... | ... | @@ -1474,14 +1474,14 @@ target_ulong helper_yield(target_ulong t0) |
| 1474 | 1474 | helper_raise_exception(EXCP_THREAD); |
| 1475 | 1475 | } |
| 1476 | 1476 | } |
| 1477 | - } else if (t0 == 0) { | |
| 1477 | + } else if (arg1 == 0) { | |
| 1478 | 1478 | if (0 /* TODO: TC underflow */) { |
| 1479 | 1479 | env->CP0_VPEControl &= ~(0x7 << CP0VPECo_EXCPT); |
| 1480 | 1480 | helper_raise_exception(EXCP_THREAD); |
| 1481 | 1481 | } else { |
| 1482 | 1482 | // TODO: Deallocate TC |
| 1483 | 1483 | } |
| 1484 | - } else if (t0 > 0) { | |
| 1484 | + } else if (arg1 > 0) { | |
| 1485 | 1485 | /* Yield qualifier inputs not implemented. */ |
| 1486 | 1486 | env->CP0_VPEControl &= ~(0x7 << CP0VPECo_EXCPT); |
| 1487 | 1487 | env->CP0_VPEControl |= 2 << CP0VPECo_EXCPT; |
| ... | ... | @@ -1884,53 +1884,53 @@ unsigned int ieee_rm[] = { |
| 1884 | 1884 | |
| 1885 | 1885 | target_ulong helper_cfc1 (uint32_t reg) |
| 1886 | 1886 | { |
| 1887 | - target_ulong t0; | |
| 1887 | + target_ulong arg1; | |
| 1888 | 1888 | |
| 1889 | 1889 | switch (reg) { |
| 1890 | 1890 | case 0: |
| 1891 | - t0 = (int32_t)env->active_fpu.fcr0; | |
| 1891 | + arg1 = (int32_t)env->active_fpu.fcr0; | |
| 1892 | 1892 | break; |
| 1893 | 1893 | case 25: |
| 1894 | - t0 = ((env->active_fpu.fcr31 >> 24) & 0xfe) | ((env->active_fpu.fcr31 >> 23) & 0x1); | |
| 1894 | + arg1 = ((env->active_fpu.fcr31 >> 24) & 0xfe) | ((env->active_fpu.fcr31 >> 23) & 0x1); | |
| 1895 | 1895 | break; |
| 1896 | 1896 | case 26: |
| 1897 | - t0 = env->active_fpu.fcr31 & 0x0003f07c; | |
| 1897 | + arg1 = env->active_fpu.fcr31 & 0x0003f07c; | |
| 1898 | 1898 | break; |
| 1899 | 1899 | case 28: |
| 1900 | - t0 = (env->active_fpu.fcr31 & 0x00000f83) | ((env->active_fpu.fcr31 >> 22) & 0x4); | |
| 1900 | + arg1 = (env->active_fpu.fcr31 & 0x00000f83) | ((env->active_fpu.fcr31 >> 22) & 0x4); | |
| 1901 | 1901 | break; |
| 1902 | 1902 | default: |
| 1903 | - t0 = (int32_t)env->active_fpu.fcr31; | |
| 1903 | + arg1 = (int32_t)env->active_fpu.fcr31; | |
| 1904 | 1904 | break; |
| 1905 | 1905 | } |
| 1906 | 1906 | |
| 1907 | - return t0; | |
| 1907 | + return arg1; | |
| 1908 | 1908 | } |
| 1909 | 1909 | |
| 1910 | -void helper_ctc1 (target_ulong t0, uint32_t reg) | |
| 1910 | +void helper_ctc1 (target_ulong arg1, uint32_t reg) | |
| 1911 | 1911 | { |
| 1912 | 1912 | switch(reg) { |
| 1913 | 1913 | case 25: |
| 1914 | - if (t0 & 0xffffff00) | |
| 1914 | + if (arg1 & 0xffffff00) | |
| 1915 | 1915 | return; |
| 1916 | - env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0x017fffff) | ((t0 & 0xfe) << 24) | | |
| 1917 | - ((t0 & 0x1) << 23); | |
| 1916 | + env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0x017fffff) | ((arg1 & 0xfe) << 24) | | |
| 1917 | + ((arg1 & 0x1) << 23); | |
| 1918 | 1918 | break; |
| 1919 | 1919 | case 26: |
| 1920 | - if (t0 & 0x007c0000) | |
| 1920 | + if (arg1 & 0x007c0000) | |
| 1921 | 1921 | return; |
| 1922 | - env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0xfffc0f83) | (t0 & 0x0003f07c); | |
| 1922 | + env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0xfffc0f83) | (arg1 & 0x0003f07c); | |
| 1923 | 1923 | break; |
| 1924 | 1924 | case 28: |
| 1925 | - if (t0 & 0x007c0000) | |
| 1925 | + if (arg1 & 0x007c0000) | |
| 1926 | 1926 | return; |
| 1927 | - env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0xfefff07c) | (t0 & 0x00000f83) | | |
| 1928 | - ((t0 & 0x4) << 22); | |
| 1927 | + env->active_fpu.fcr31 = (env->active_fpu.fcr31 & 0xfefff07c) | (arg1 & 0x00000f83) | | |
| 1928 | + ((arg1 & 0x4) << 22); | |
| 1929 | 1929 | break; |
| 1930 | 1930 | case 31: |
| 1931 | - if (t0 & 0x007c0000) | |
| 1931 | + if (arg1 & 0x007c0000) | |
| 1932 | 1932 | return; |
| 1933 | - env->active_fpu.fcr31 = t0; | |
| 1933 | + env->active_fpu.fcr31 = arg1; | |
| 1934 | 1934 | break; |
| 1935 | 1935 | default: |
| 1936 | 1936 | return; | ... | ... |
target-mips/translate.c
| ... | ... | @@ -546,48 +546,48 @@ static inline void gen_store_ACX (TCGv t, int reg) |
| 546 | 546 | /* Moves to/from shadow registers. */ |
| 547 | 547 | static inline void gen_load_srsgpr (int from, int to) |
| 548 | 548 | { |
| 549 | - TCGv r_tmp1 = tcg_temp_new(); | |
| 549 | + TCGv t0 = tcg_temp_new(); | |
| 550 | 550 | |
| 551 | 551 | if (from == 0) |
| 552 | - tcg_gen_movi_tl(r_tmp1, 0); | |
| 552 | + tcg_gen_movi_tl(t0, 0); | |
| 553 | 553 | else { |
| 554 | - TCGv_i32 r_tmp2 = tcg_temp_new_i32(); | |
| 554 | + TCGv_i32 t2 = tcg_temp_new_i32(); | |
| 555 | 555 | TCGv_ptr addr = tcg_temp_new_ptr(); |
| 556 | 556 | |
| 557 | - tcg_gen_ld_i32(r_tmp2, cpu_env, offsetof(CPUState, CP0_SRSCtl)); | |
| 558 | - tcg_gen_shri_i32(r_tmp2, r_tmp2, CP0SRSCtl_PSS); | |
| 559 | - tcg_gen_andi_i32(r_tmp2, r_tmp2, 0xf); | |
| 560 | - tcg_gen_muli_i32(r_tmp2, r_tmp2, sizeof(target_ulong) * 32); | |
| 561 | - tcg_gen_ext_i32_ptr(addr, r_tmp2); | |
| 557 | + tcg_gen_ld_i32(t2, cpu_env, offsetof(CPUState, CP0_SRSCtl)); | |
| 558 | + tcg_gen_shri_i32(t2, t2, CP0SRSCtl_PSS); | |
| 559 | + tcg_gen_andi_i32(t2, t2, 0xf); | |
| 560 | + tcg_gen_muli_i32(t2, t2, sizeof(target_ulong) * 32); | |
| 561 | + tcg_gen_ext_i32_ptr(addr, t2); | |
| 562 | 562 | tcg_gen_add_ptr(addr, cpu_env, addr); |
| 563 | 563 | |
| 564 | - tcg_gen_ld_tl(r_tmp1, addr, sizeof(target_ulong) * from); | |
| 564 | + tcg_gen_ld_tl(t0, addr, sizeof(target_ulong) * from); | |
| 565 | 565 | tcg_temp_free_ptr(addr); |
| 566 | - tcg_temp_free_i32(r_tmp2); | |
| 566 | + tcg_temp_free_i32(t2); | |
| 567 | 567 | } |
| 568 | - gen_store_gpr(r_tmp1, to); | |
| 569 | - tcg_temp_free(r_tmp1); | |
| 568 | + gen_store_gpr(t0, to); | |
| 569 | + tcg_temp_free(t0); | |
| 570 | 570 | } |
| 571 | 571 | |
| 572 | 572 | static inline void gen_store_srsgpr (int from, int to) |
| 573 | 573 | { |
| 574 | 574 | if (to != 0) { |
| 575 | - TCGv r_tmp1 = tcg_temp_new(); | |
| 576 | - TCGv_i32 r_tmp2 = tcg_temp_new_i32(); | |
| 575 | + TCGv t0 = tcg_temp_new(); | |
| 576 | + TCGv_i32 t2 = tcg_temp_new_i32(); | |
| 577 | 577 | TCGv_ptr addr = tcg_temp_new_ptr(); |
| 578 | 578 | |
| 579 | - gen_load_gpr(r_tmp1, from); | |
| 580 | - tcg_gen_ld_i32(r_tmp2, cpu_env, offsetof(CPUState, CP0_SRSCtl)); | |
| 581 | - tcg_gen_shri_i32(r_tmp2, r_tmp2, CP0SRSCtl_PSS); | |
| 582 | - tcg_gen_andi_i32(r_tmp2, r_tmp2, 0xf); | |
| 583 | - tcg_gen_muli_i32(r_tmp2, r_tmp2, sizeof(target_ulong) * 32); | |
| 584 | - tcg_gen_ext_i32_ptr(addr, r_tmp2); | |
| 579 | + gen_load_gpr(t0, from); | |
| 580 | + tcg_gen_ld_i32(t2, cpu_env, offsetof(CPUState, CP0_SRSCtl)); | |
| 581 | + tcg_gen_shri_i32(t2, t2, CP0SRSCtl_PSS); | |
| 582 | + tcg_gen_andi_i32(t2, t2, 0xf); | |
| 583 | + tcg_gen_muli_i32(t2, t2, sizeof(target_ulong) * 32); | |
| 584 | + tcg_gen_ext_i32_ptr(addr, t2); | |
| 585 | 585 | tcg_gen_add_ptr(addr, cpu_env, addr); |
| 586 | 586 | |
| 587 | - tcg_gen_st_tl(r_tmp1, addr, sizeof(target_ulong) * to); | |
| 587 | + tcg_gen_st_tl(t0, addr, sizeof(target_ulong) * to); | |
| 588 | 588 | tcg_temp_free_ptr(addr); |
| 589 | - tcg_temp_free_i32(r_tmp2); | |
| 590 | - tcg_temp_free(r_tmp1); | |
| 589 | + tcg_temp_free_i32(t2); | |
| 590 | + tcg_temp_free(t0); | |
| 591 | 591 | } |
| 592 | 592 | } |
| 593 | 593 | |
| ... | ... | @@ -887,10 +887,10 @@ static inline void check_mips_64(DisasContext *ctx) |
| 887 | 887 | } |
| 888 | 888 | |
| 889 | 889 | /* load/store instructions. */ |
| 890 | -#define OP_LD(insn,fname) \ | |
| 891 | -static inline void op_ldst_##insn(TCGv t0, DisasContext *ctx) \ | |
| 892 | -{ \ | |
| 893 | - tcg_gen_qemu_##fname(t0, t0, ctx->mem_idx); \ | |
| 890 | +#define OP_LD(insn,fname) \ | |
| 891 | +static inline void op_ldst_##insn(TCGv ret, TCGv arg1, DisasContext *ctx) \ | |
| 892 | +{ \ | |
| 893 | + tcg_gen_qemu_##fname(ret, arg1, ctx->mem_idx); \ | |
| 894 | 894 | } |
| 895 | 895 | OP_LD(lb,ld8s); |
| 896 | 896 | OP_LD(lbu,ld8u); |
| ... | ... | @@ -903,10 +903,10 @@ OP_LD(ld,ld64); |
| 903 | 903 | #endif |
| 904 | 904 | #undef OP_LD |
| 905 | 905 | |
| 906 | -#define OP_ST(insn,fname) \ | |
| 907 | -static inline void op_ldst_##insn(TCGv t0, TCGv t1, DisasContext *ctx) \ | |
| 908 | -{ \ | |
| 909 | - tcg_gen_qemu_##fname(t1, t0, ctx->mem_idx); \ | |
| 906 | +#define OP_ST(insn,fname) \ | |
| 907 | +static inline void op_ldst_##insn(TCGv arg1, TCGv arg2, DisasContext *ctx) \ | |
| 908 | +{ \ | |
| 909 | + tcg_gen_qemu_##fname(arg1, arg2, ctx->mem_idx); \ | |
| 910 | 910 | } |
| 911 | 911 | OP_ST(sb,st8); |
| 912 | 912 | OP_ST(sh,st16); |
| ... | ... | @@ -916,12 +916,14 @@ OP_ST(sd,st64); |
| 916 | 916 | #endif |
| 917 | 917 | #undef OP_ST |
| 918 | 918 | |
| 919 | -#define OP_LD_ATOMIC(insn,fname) \ | |
| 920 | -static inline void op_ldst_##insn(TCGv t0, TCGv t1, DisasContext *ctx) \ | |
| 921 | -{ \ | |
| 922 | - tcg_gen_mov_tl(t1, t0); \ | |
| 923 | - tcg_gen_qemu_##fname(t0, t0, ctx->mem_idx); \ | |
| 924 | - tcg_gen_st_tl(t1, cpu_env, offsetof(CPUState, CP0_LLAddr)); \ | |
| 919 | +#define OP_LD_ATOMIC(insn,fname) \ | |
| 920 | +static inline void op_ldst_##insn(TCGv ret, TCGv arg1, DisasContext *ctx) \ | |
| 921 | +{ \ | |
| 922 | + TCGv t0 = tcg_temp_new(); \ | |
| 923 | + tcg_gen_mov_tl(t0, arg1); \ | |
| 924 | + tcg_gen_qemu_##fname(ret, arg1, ctx->mem_idx); \ | |
| 925 | + tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_LLAddr)); \ | |
| 926 | + tcg_temp_free(t0); \ | |
| 925 | 927 | } |
| 926 | 928 | OP_LD_ATOMIC(ll,ld32s); |
| 927 | 929 | #if defined(TARGET_MIPS64) |
| ... | ... | @@ -929,28 +931,28 @@ OP_LD_ATOMIC(lld,ld64); |
| 929 | 931 | #endif |
| 930 | 932 | #undef OP_LD_ATOMIC |
| 931 | 933 | |
| 932 | -#define OP_ST_ATOMIC(insn,fname,almask) \ | |
| 933 | -static inline void op_ldst_##insn(TCGv t0, TCGv t1, DisasContext *ctx) \ | |
| 934 | -{ \ | |
| 935 | - TCGv r_tmp = tcg_temp_new(); \ | |
| 936 | - int l1 = gen_new_label(); \ | |
| 937 | - int l2 = gen_new_label(); \ | |
| 938 | - int l3 = gen_new_label(); \ | |
| 939 | - \ | |
| 940 | - tcg_gen_andi_tl(r_tmp, t0, almask); \ | |
| 941 | - tcg_gen_brcondi_tl(TCG_COND_EQ, r_tmp, 0, l1); \ | |
| 942 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_BadVAddr)); \ | |
| 943 | - generate_exception(ctx, EXCP_AdES); \ | |
| 944 | - gen_set_label(l1); \ | |
| 945 | - tcg_gen_ld_tl(r_tmp, cpu_env, offsetof(CPUState, CP0_LLAddr)); \ | |
| 946 | - tcg_gen_brcond_tl(TCG_COND_NE, t0, r_tmp, l2); \ | |
| 947 | - tcg_temp_free(r_tmp); \ | |
| 948 | - tcg_gen_qemu_##fname(t1, t0, ctx->mem_idx); \ | |
| 949 | - tcg_gen_movi_tl(t0, 1); \ | |
| 950 | - tcg_gen_br(l3); \ | |
| 951 | - gen_set_label(l2); \ | |
| 952 | - tcg_gen_movi_tl(t0, 0); \ | |
| 953 | - gen_set_label(l3); \ | |
| 934 | +#define OP_ST_ATOMIC(insn,fname,almask) \ | |
| 935 | +static inline void op_ldst_##insn(TCGv ret, TCGv arg1, TCGv arg2, DisasContext *ctx) \ | |
| 936 | +{ \ | |
| 937 | + TCGv t0 = tcg_temp_new(); \ | |
| 938 | + int l1 = gen_new_label(); \ | |
| 939 | + int l2 = gen_new_label(); \ | |
| 940 | + int l3 = gen_new_label(); \ | |
| 941 | + \ | |
| 942 | + tcg_gen_andi_tl(t0, arg2, almask); \ | |
| 943 | + tcg_gen_brcondi_tl(TCG_COND_EQ, t0, 0, l1); \ | |
| 944 | + tcg_gen_st_tl(arg2, cpu_env, offsetof(CPUState, CP0_BadVAddr)); \ | |
| 945 | + generate_exception(ctx, EXCP_AdES); \ | |
| 946 | + gen_set_label(l1); \ | |
| 947 | + tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_LLAddr)); \ | |
| 948 | + tcg_gen_brcond_tl(TCG_COND_NE, arg2, t0, l2); \ | |
| 949 | + tcg_temp_free(t0); \ | |
| 950 | + tcg_gen_qemu_##fname(arg1, arg2, ctx->mem_idx); \ | |
| 951 | + tcg_gen_movi_tl(ret, 1); \ | |
| 952 | + tcg_gen_br(l3); \ | |
| 953 | + gen_set_label(l2); \ | |
| 954 | + tcg_gen_movi_tl(ret, 0); \ | |
| 955 | + gen_set_label(l3); \ | |
| 954 | 956 | } |
| 955 | 957 | OP_ST_ATOMIC(sc,st32,0x3); |
| 956 | 958 | #if defined(TARGET_MIPS64) |
| ... | ... | @@ -980,132 +982,132 @@ static void gen_ldst (DisasContext *ctx, uint32_t opc, int rt, |
| 980 | 982 | #if defined(TARGET_MIPS64) |
| 981 | 983 | case OPC_LWU: |
| 982 | 984 | save_cpu_state(ctx, 0); |
| 983 | - op_ldst_lwu(t0, ctx); | |
| 985 | + op_ldst_lwu(t0, t0, ctx); | |
| 984 | 986 | gen_store_gpr(t0, rt); |
| 985 | 987 | opn = "lwu"; |
| 986 | 988 | break; |
| 987 | 989 | case OPC_LD: |
| 988 | 990 | save_cpu_state(ctx, 0); |
| 989 | - op_ldst_ld(t0, ctx); | |
| 991 | + op_ldst_ld(t0, t0, ctx); | |
| 990 | 992 | gen_store_gpr(t0, rt); |
| 991 | 993 | opn = "ld"; |
| 992 | 994 | break; |
| 993 | 995 | case OPC_LLD: |
| 994 | 996 | save_cpu_state(ctx, 0); |
| 995 | - op_ldst_lld(t0, t1, ctx); | |
| 997 | + op_ldst_lld(t0, t0, ctx); | |
| 996 | 998 | gen_store_gpr(t0, rt); |
| 997 | 999 | opn = "lld"; |
| 998 | 1000 | break; |
| 999 | 1001 | case OPC_SD: |
| 1000 | 1002 | save_cpu_state(ctx, 0); |
| 1001 | 1003 | gen_load_gpr(t1, rt); |
| 1002 | - op_ldst_sd(t0, t1, ctx); | |
| 1004 | + op_ldst_sd(t1, t0, ctx); | |
| 1003 | 1005 | opn = "sd"; |
| 1004 | 1006 | break; |
| 1005 | 1007 | case OPC_LDL: |
| 1006 | 1008 | save_cpu_state(ctx, 1); |
| 1007 | 1009 | gen_load_gpr(t1, rt); |
| 1008 | - gen_helper_3i(ldl, t1, t0, t1, ctx->mem_idx); | |
| 1010 | + gen_helper_3i(ldl, t1, t1, t0, ctx->mem_idx); | |
| 1009 | 1011 | gen_store_gpr(t1, rt); |
| 1010 | 1012 | opn = "ldl"; |
| 1011 | 1013 | break; |
| 1012 | 1014 | case OPC_SDL: |
| 1013 | 1015 | save_cpu_state(ctx, 1); |
| 1014 | 1016 | gen_load_gpr(t1, rt); |
| 1015 | - gen_helper_2i(sdl, t0, t1, ctx->mem_idx); | |
| 1017 | + gen_helper_2i(sdl, t1, t0, ctx->mem_idx); | |
| 1016 | 1018 | opn = "sdl"; |
| 1017 | 1019 | break; |
| 1018 | 1020 | case OPC_LDR: |
| 1019 | 1021 | save_cpu_state(ctx, 1); |
| 1020 | 1022 | gen_load_gpr(t1, rt); |
| 1021 | - gen_helper_3i(ldr, t1, t0, t1, ctx->mem_idx); | |
| 1023 | + gen_helper_3i(ldr, t1, t1, t0, ctx->mem_idx); | |
| 1022 | 1024 | gen_store_gpr(t1, rt); |
| 1023 | 1025 | opn = "ldr"; |
| 1024 | 1026 | break; |
| 1025 | 1027 | case OPC_SDR: |
| 1026 | 1028 | save_cpu_state(ctx, 1); |
| 1027 | 1029 | gen_load_gpr(t1, rt); |
| 1028 | - gen_helper_2i(sdr, t0, t1, ctx->mem_idx); | |
| 1030 | + gen_helper_2i(sdr, t1, t0, ctx->mem_idx); | |
| 1029 | 1031 | opn = "sdr"; |
| 1030 | 1032 | break; |
| 1031 | 1033 | #endif |
| 1032 | 1034 | case OPC_LW: |
| 1033 | 1035 | save_cpu_state(ctx, 0); |
| 1034 | - op_ldst_lw(t0, ctx); | |
| 1036 | + op_ldst_lw(t0, t0, ctx); | |
| 1035 | 1037 | gen_store_gpr(t0, rt); |
| 1036 | 1038 | opn = "lw"; |
| 1037 | 1039 | break; |
| 1038 | 1040 | case OPC_SW: |
| 1039 | 1041 | save_cpu_state(ctx, 0); |
| 1040 | 1042 | gen_load_gpr(t1, rt); |
| 1041 | - op_ldst_sw(t0, t1, ctx); | |
| 1043 | + op_ldst_sw(t1, t0, ctx); | |
| 1042 | 1044 | opn = "sw"; |
| 1043 | 1045 | break; |
| 1044 | 1046 | case OPC_LH: |
| 1045 | 1047 | save_cpu_state(ctx, 0); |
| 1046 | - op_ldst_lh(t0, ctx); | |
| 1048 | + op_ldst_lh(t0, t0, ctx); | |
| 1047 | 1049 | gen_store_gpr(t0, rt); |
| 1048 | 1050 | opn = "lh"; |
| 1049 | 1051 | break; |
| 1050 | 1052 | case OPC_SH: |
| 1051 | 1053 | save_cpu_state(ctx, 0); |
| 1052 | 1054 | gen_load_gpr(t1, rt); |
| 1053 | - op_ldst_sh(t0, t1, ctx); | |
| 1055 | + op_ldst_sh(t1, t0, ctx); | |
| 1054 | 1056 | opn = "sh"; |
| 1055 | 1057 | break; |
| 1056 | 1058 | case OPC_LHU: |
| 1057 | 1059 | save_cpu_state(ctx, 0); |
| 1058 | - op_ldst_lhu(t0, ctx); | |
| 1060 | + op_ldst_lhu(t0, t0, ctx); | |
| 1059 | 1061 | gen_store_gpr(t0, rt); |
| 1060 | 1062 | opn = "lhu"; |
| 1061 | 1063 | break; |
| 1062 | 1064 | case OPC_LB: |
| 1063 | 1065 | save_cpu_state(ctx, 0); |
| 1064 | - op_ldst_lb(t0, ctx); | |
| 1066 | + op_ldst_lb(t0, t0, ctx); | |
| 1065 | 1067 | gen_store_gpr(t0, rt); |
| 1066 | 1068 | opn = "lb"; |
| 1067 | 1069 | break; |
| 1068 | 1070 | case OPC_SB: |
| 1069 | 1071 | save_cpu_state(ctx, 0); |
| 1070 | 1072 | gen_load_gpr(t1, rt); |
| 1071 | - op_ldst_sb(t0, t1, ctx); | |
| 1073 | + op_ldst_sb(t1, t0, ctx); | |
| 1072 | 1074 | opn = "sb"; |
| 1073 | 1075 | break; |
| 1074 | 1076 | case OPC_LBU: |
| 1075 | 1077 | save_cpu_state(ctx, 0); |
| 1076 | - op_ldst_lbu(t0, ctx); | |
| 1078 | + op_ldst_lbu(t0, t0, ctx); | |
| 1077 | 1079 | gen_store_gpr(t0, rt); |
| 1078 | 1080 | opn = "lbu"; |
| 1079 | 1081 | break; |
| 1080 | 1082 | case OPC_LWL: |
| 1081 | 1083 | save_cpu_state(ctx, 1); |
| 1082 | 1084 | gen_load_gpr(t1, rt); |
| 1083 | - gen_helper_3i(lwl, t1, t0, t1, ctx->mem_idx); | |
| 1085 | + gen_helper_3i(lwl, t1, t1, t0, ctx->mem_idx); | |
| 1084 | 1086 | gen_store_gpr(t1, rt); |
| 1085 | 1087 | opn = "lwl"; |
| 1086 | 1088 | break; |
| 1087 | 1089 | case OPC_SWL: |
| 1088 | 1090 | save_cpu_state(ctx, 1); |
| 1089 | 1091 | gen_load_gpr(t1, rt); |
| 1090 | - gen_helper_2i(swl, t0, t1, ctx->mem_idx); | |
| 1092 | + gen_helper_2i(swl, t1, t0, ctx->mem_idx); | |
| 1091 | 1093 | opn = "swr"; |
| 1092 | 1094 | break; |
| 1093 | 1095 | case OPC_LWR: |
| 1094 | 1096 | save_cpu_state(ctx, 1); |
| 1095 | 1097 | gen_load_gpr(t1, rt); |
| 1096 | - gen_helper_3i(lwr, t1, t0, t1, ctx->mem_idx); | |
| 1098 | + gen_helper_3i(lwr, t1, t1, t0, ctx->mem_idx); | |
| 1097 | 1099 | gen_store_gpr(t1, rt); |
| 1098 | 1100 | opn = "lwr"; |
| 1099 | 1101 | break; |
| 1100 | 1102 | case OPC_SWR: |
| 1101 | 1103 | save_cpu_state(ctx, 1); |
| 1102 | 1104 | gen_load_gpr(t1, rt); |
| 1103 | - gen_helper_2i(swr, t0, t1, ctx->mem_idx); | |
| 1105 | + gen_helper_2i(swr, t1, t0, ctx->mem_idx); | |
| 1104 | 1106 | opn = "swr"; |
| 1105 | 1107 | break; |
| 1106 | 1108 | case OPC_LL: |
| 1107 | 1109 | save_cpu_state(ctx, 0); |
| 1108 | - op_ldst_ll(t0, t1, ctx); | |
| 1110 | + op_ldst_ll(t0, t0, ctx); | |
| 1109 | 1111 | gen_store_gpr(t0, rt); |
| 1110 | 1112 | opn = "ll"; |
| 1111 | 1113 | break; |
| ... | ... | @@ -1141,13 +1143,13 @@ static void gen_st_cond (DisasContext *ctx, uint32_t opc, int rt, |
| 1141 | 1143 | #if defined(TARGET_MIPS64) |
| 1142 | 1144 | case OPC_SCD: |
| 1143 | 1145 | save_cpu_state(ctx, 0); |
| 1144 | - op_ldst_scd(t0, t1, ctx); | |
| 1146 | + op_ldst_scd(t0, t1, t0, ctx); | |
| 1145 | 1147 | opn = "scd"; |
| 1146 | 1148 | break; |
| 1147 | 1149 | #endif |
| 1148 | 1150 | case OPC_SC: |
| 1149 | 1151 | save_cpu_state(ctx, 0); |
| 1150 | - op_ldst_sc(t0, t1, ctx); | |
| 1152 | + op_ldst_sc(t0, t1, t0, ctx); | |
| 1151 | 1153 | opn = "sc"; |
| 1152 | 1154 | break; |
| 1153 | 1155 | } |
| ... | ... | @@ -1430,12 +1432,12 @@ static void gen_shift_imm(CPUState *env, DisasContext *ctx, uint32_t opc, |
| 1430 | 1432 | /* rotr is decoded as srl on non-R2 CPUs */ |
| 1431 | 1433 | if (env->insn_flags & ISA_MIPS32R2) { |
| 1432 | 1434 | if (uimm != 0) { |
| 1433 | - TCGv_i32 r_tmp1 = tcg_temp_new_i32(); | |
| 1435 | + TCGv_i32 t1 = tcg_temp_new_i32(); | |
| 1434 | 1436 | |
| 1435 | - tcg_gen_trunc_tl_i32(r_tmp1, t0); | |
| 1436 | - tcg_gen_rotri_i32(r_tmp1, r_tmp1, uimm); | |
| 1437 | - tcg_gen_ext_i32_tl(cpu_gpr[rt], r_tmp1); | |
| 1438 | - tcg_temp_free_i32(r_tmp1); | |
| 1437 | + tcg_gen_trunc_tl_i32(t1, t0); | |
| 1438 | + tcg_gen_rotri_i32(t1, t1, uimm); | |
| 1439 | + tcg_gen_ext_i32_tl(cpu_gpr[rt], t1); | |
| 1440 | + tcg_temp_free_i32(t1); | |
| 1439 | 1441 | } |
| 1440 | 1442 | opn = "rotr"; |
| 1441 | 1443 | } else { |
| ... | ... | @@ -2840,37 +2842,37 @@ static void gen_bshfl (DisasContext *ctx, uint32_t op2, int rt, int rd) |
| 2840 | 2842 | |
| 2841 | 2843 | #ifndef CONFIG_USER_ONLY |
| 2842 | 2844 | /* CP0 (MMU and control) */ |
| 2843 | -static inline void gen_mfc0_load32 (TCGv t, target_ulong off) | |
| 2845 | +static inline void gen_mfc0_load32 (TCGv arg, target_ulong off) | |
| 2844 | 2846 | { |
| 2845 | - TCGv_i32 r_tmp = tcg_temp_new_i32(); | |
| 2847 | + TCGv_i32 t0 = tcg_temp_new_i32(); | |
| 2846 | 2848 | |
| 2847 | - tcg_gen_ld_i32(r_tmp, cpu_env, off); | |
| 2848 | - tcg_gen_ext_i32_tl(t, r_tmp); | |
| 2849 | - tcg_temp_free_i32(r_tmp); | |
| 2849 | + tcg_gen_ld_i32(t0, cpu_env, off); | |
| 2850 | + tcg_gen_ext_i32_tl(arg, t0); | |
| 2851 | + tcg_temp_free_i32(t0); | |
| 2850 | 2852 | } |
| 2851 | 2853 | |
| 2852 | -static inline void gen_mfc0_load64 (TCGv t, target_ulong off) | |
| 2854 | +static inline void gen_mfc0_load64 (TCGv arg, target_ulong off) | |
| 2853 | 2855 | { |
| 2854 | - tcg_gen_ld_tl(t, cpu_env, off); | |
| 2855 | - tcg_gen_ext32s_tl(t, t); | |
| 2856 | + tcg_gen_ld_tl(arg, cpu_env, off); | |
| 2857 | + tcg_gen_ext32s_tl(arg, arg); | |
| 2856 | 2858 | } |
| 2857 | 2859 | |
| 2858 | -static inline void gen_mtc0_store32 (TCGv t, target_ulong off) | |
| 2860 | +static inline void gen_mtc0_store32 (TCGv arg, target_ulong off) | |
| 2859 | 2861 | { |
| 2860 | - TCGv_i32 r_tmp = tcg_temp_new_i32(); | |
| 2862 | + TCGv_i32 t0 = tcg_temp_new_i32(); | |
| 2861 | 2863 | |
| 2862 | - tcg_gen_trunc_tl_i32(r_tmp, t); | |
| 2863 | - tcg_gen_st_i32(r_tmp, cpu_env, off); | |
| 2864 | - tcg_temp_free_i32(r_tmp); | |
| 2864 | + tcg_gen_trunc_tl_i32(t0, arg); | |
| 2865 | + tcg_gen_st_i32(t0, cpu_env, off); | |
| 2866 | + tcg_temp_free_i32(t0); | |
| 2865 | 2867 | } |
| 2866 | 2868 | |
| 2867 | -static inline void gen_mtc0_store64 (TCGv t, target_ulong off) | |
| 2869 | +static inline void gen_mtc0_store64 (TCGv arg, target_ulong off) | |
| 2868 | 2870 | { |
| 2869 | - tcg_gen_ext32s_tl(t, t); | |
| 2870 | - tcg_gen_st_tl(t, cpu_env, off); | |
| 2871 | + tcg_gen_ext32s_tl(arg, arg); | |
| 2872 | + tcg_gen_st_tl(arg, cpu_env, off); | |
| 2871 | 2873 | } |
| 2872 | 2874 | |
| 2873 | -static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int sel) | |
| 2875 | +static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv arg, int reg, int sel) | |
| 2874 | 2876 | { |
| 2875 | 2877 | const char *rn = "invalid"; |
| 2876 | 2878 | |
| ... | ... | @@ -2881,22 +2883,22 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 2881 | 2883 | case 0: |
| 2882 | 2884 | switch (sel) { |
| 2883 | 2885 | case 0: |
| 2884 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Index)); | |
| 2886 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Index)); | |
| 2885 | 2887 | rn = "Index"; |
| 2886 | 2888 | break; |
| 2887 | 2889 | case 1: |
| 2888 | 2890 | check_insn(env, ctx, ASE_MT); |
| 2889 | - gen_helper_mfc0_mvpcontrol(t0); | |
| 2891 | + gen_helper_mfc0_mvpcontrol(arg); | |
| 2890 | 2892 | rn = "MVPControl"; |
| 2891 | 2893 | break; |
| 2892 | 2894 | case 2: |
| 2893 | 2895 | check_insn(env, ctx, ASE_MT); |
| 2894 | - gen_helper_mfc0_mvpconf0(t0); | |
| 2896 | + gen_helper_mfc0_mvpconf0(arg); | |
| 2895 | 2897 | rn = "MVPConf0"; |
| 2896 | 2898 | break; |
| 2897 | 2899 | case 3: |
| 2898 | 2900 | check_insn(env, ctx, ASE_MT); |
| 2899 | - gen_helper_mfc0_mvpconf1(t0); | |
| 2901 | + gen_helper_mfc0_mvpconf1(arg); | |
| 2900 | 2902 | rn = "MVPConf1"; |
| 2901 | 2903 | break; |
| 2902 | 2904 | default: |
| ... | ... | @@ -2906,42 +2908,42 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 2906 | 2908 | case 1: |
| 2907 | 2909 | switch (sel) { |
| 2908 | 2910 | case 0: |
| 2909 | - gen_helper_mfc0_random(t0); | |
| 2911 | + gen_helper_mfc0_random(arg); | |
| 2910 | 2912 | rn = "Random"; |
| 2911 | 2913 | break; |
| 2912 | 2914 | case 1: |
| 2913 | 2915 | check_insn(env, ctx, ASE_MT); |
| 2914 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEControl)); | |
| 2916 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEControl)); | |
| 2915 | 2917 | rn = "VPEControl"; |
| 2916 | 2918 | break; |
| 2917 | 2919 | case 2: |
| 2918 | 2920 | check_insn(env, ctx, ASE_MT); |
| 2919 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEConf0)); | |
| 2921 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEConf0)); | |
| 2920 | 2922 | rn = "VPEConf0"; |
| 2921 | 2923 | break; |
| 2922 | 2924 | case 3: |
| 2923 | 2925 | check_insn(env, ctx, ASE_MT); |
| 2924 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEConf1)); | |
| 2926 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEConf1)); | |
| 2925 | 2927 | rn = "VPEConf1"; |
| 2926 | 2928 | break; |
| 2927 | 2929 | case 4: |
| 2928 | 2930 | check_insn(env, ctx, ASE_MT); |
| 2929 | - gen_mfc0_load64(t0, offsetof(CPUState, CP0_YQMask)); | |
| 2931 | + gen_mfc0_load64(arg, offsetof(CPUState, CP0_YQMask)); | |
| 2930 | 2932 | rn = "YQMask"; |
| 2931 | 2933 | break; |
| 2932 | 2934 | case 5: |
| 2933 | 2935 | check_insn(env, ctx, ASE_MT); |
| 2934 | - gen_mfc0_load64(t0, offsetof(CPUState, CP0_VPESchedule)); | |
| 2936 | + gen_mfc0_load64(arg, offsetof(CPUState, CP0_VPESchedule)); | |
| 2935 | 2937 | rn = "VPESchedule"; |
| 2936 | 2938 | break; |
| 2937 | 2939 | case 6: |
| 2938 | 2940 | check_insn(env, ctx, ASE_MT); |
| 2939 | - gen_mfc0_load64(t0, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 2941 | + gen_mfc0_load64(arg, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 2940 | 2942 | rn = "VPEScheFBack"; |
| 2941 | 2943 | break; |
| 2942 | 2944 | case 7: |
| 2943 | 2945 | check_insn(env, ctx, ASE_MT); |
| 2944 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEOpt)); | |
| 2946 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEOpt)); | |
| 2945 | 2947 | rn = "VPEOpt"; |
| 2946 | 2948 | break; |
| 2947 | 2949 | default: |
| ... | ... | @@ -2951,43 +2953,43 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 2951 | 2953 | case 2: |
| 2952 | 2954 | switch (sel) { |
| 2953 | 2955 | case 0: |
| 2954 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryLo0)); | |
| 2955 | - tcg_gen_ext32s_tl(t0, t0); | |
| 2956 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryLo0)); | |
| 2957 | + tcg_gen_ext32s_tl(arg, arg); | |
| 2956 | 2958 | rn = "EntryLo0"; |
| 2957 | 2959 | break; |
| 2958 | 2960 | case 1: |
| 2959 | 2961 | check_insn(env, ctx, ASE_MT); |
| 2960 | - gen_helper_mfc0_tcstatus(t0); | |
| 2962 | + gen_helper_mfc0_tcstatus(arg); | |
| 2961 | 2963 | rn = "TCStatus"; |
| 2962 | 2964 | break; |
| 2963 | 2965 | case 2: |
| 2964 | 2966 | check_insn(env, ctx, ASE_MT); |
| 2965 | - gen_helper_mfc0_tcbind(t0); | |
| 2967 | + gen_helper_mfc0_tcbind(arg); | |
| 2966 | 2968 | rn = "TCBind"; |
| 2967 | 2969 | break; |
| 2968 | 2970 | case 3: |
| 2969 | 2971 | check_insn(env, ctx, ASE_MT); |
| 2970 | - gen_helper_mfc0_tcrestart(t0); | |
| 2972 | + gen_helper_mfc0_tcrestart(arg); | |
| 2971 | 2973 | rn = "TCRestart"; |
| 2972 | 2974 | break; |
| 2973 | 2975 | case 4: |
| 2974 | 2976 | check_insn(env, ctx, ASE_MT); |
| 2975 | - gen_helper_mfc0_tchalt(t0); | |
| 2977 | + gen_helper_mfc0_tchalt(arg); | |
| 2976 | 2978 | rn = "TCHalt"; |
| 2977 | 2979 | break; |
| 2978 | 2980 | case 5: |
| 2979 | 2981 | check_insn(env, ctx, ASE_MT); |
| 2980 | - gen_helper_mfc0_tccontext(t0); | |
| 2982 | + gen_helper_mfc0_tccontext(arg); | |
| 2981 | 2983 | rn = "TCContext"; |
| 2982 | 2984 | break; |
| 2983 | 2985 | case 6: |
| 2984 | 2986 | check_insn(env, ctx, ASE_MT); |
| 2985 | - gen_helper_mfc0_tcschedule(t0); | |
| 2987 | + gen_helper_mfc0_tcschedule(arg); | |
| 2986 | 2988 | rn = "TCSchedule"; |
| 2987 | 2989 | break; |
| 2988 | 2990 | case 7: |
| 2989 | 2991 | check_insn(env, ctx, ASE_MT); |
| 2990 | - gen_helper_mfc0_tcschefback(t0); | |
| 2992 | + gen_helper_mfc0_tcschefback(arg); | |
| 2991 | 2993 | rn = "TCScheFBack"; |
| 2992 | 2994 | break; |
| 2993 | 2995 | default: |
| ... | ... | @@ -2997,8 +2999,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 2997 | 2999 | case 3: |
| 2998 | 3000 | switch (sel) { |
| 2999 | 3001 | case 0: |
| 3000 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryLo1)); | |
| 3001 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3002 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryLo1)); | |
| 3003 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3002 | 3004 | rn = "EntryLo1"; |
| 3003 | 3005 | break; |
| 3004 | 3006 | default: |
| ... | ... | @@ -3008,12 +3010,12 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3008 | 3010 | case 4: |
| 3009 | 3011 | switch (sel) { |
| 3010 | 3012 | case 0: |
| 3011 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_Context)); | |
| 3012 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3013 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_Context)); | |
| 3014 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3013 | 3015 | rn = "Context"; |
| 3014 | 3016 | break; |
| 3015 | 3017 | case 1: |
| 3016 | -// gen_helper_mfc0_contextconfig(t0); /* SmartMIPS ASE */ | |
| 3018 | +// gen_helper_mfc0_contextconfig(arg); /* SmartMIPS ASE */ | |
| 3017 | 3019 | rn = "ContextConfig"; |
| 3018 | 3020 | // break; |
| 3019 | 3021 | default: |
| ... | ... | @@ -3023,12 +3025,12 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3023 | 3025 | case 5: |
| 3024 | 3026 | switch (sel) { |
| 3025 | 3027 | case 0: |
| 3026 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PageMask)); | |
| 3028 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PageMask)); | |
| 3027 | 3029 | rn = "PageMask"; |
| 3028 | 3030 | break; |
| 3029 | 3031 | case 1: |
| 3030 | 3032 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3031 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PageGrain)); | |
| 3033 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PageGrain)); | |
| 3032 | 3034 | rn = "PageGrain"; |
| 3033 | 3035 | break; |
| 3034 | 3036 | default: |
| ... | ... | @@ -3038,32 +3040,32 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3038 | 3040 | case 6: |
| 3039 | 3041 | switch (sel) { |
| 3040 | 3042 | case 0: |
| 3041 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Wired)); | |
| 3043 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Wired)); | |
| 3042 | 3044 | rn = "Wired"; |
| 3043 | 3045 | break; |
| 3044 | 3046 | case 1: |
| 3045 | 3047 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3046 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf0)); | |
| 3048 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf0)); | |
| 3047 | 3049 | rn = "SRSConf0"; |
| 3048 | 3050 | break; |
| 3049 | 3051 | case 2: |
| 3050 | 3052 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3051 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf1)); | |
| 3053 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf1)); | |
| 3052 | 3054 | rn = "SRSConf1"; |
| 3053 | 3055 | break; |
| 3054 | 3056 | case 3: |
| 3055 | 3057 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3056 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf2)); | |
| 3058 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf2)); | |
| 3057 | 3059 | rn = "SRSConf2"; |
| 3058 | 3060 | break; |
| 3059 | 3061 | case 4: |
| 3060 | 3062 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3061 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf3)); | |
| 3063 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf3)); | |
| 3062 | 3064 | rn = "SRSConf3"; |
| 3063 | 3065 | break; |
| 3064 | 3066 | case 5: |
| 3065 | 3067 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3066 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf4)); | |
| 3068 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf4)); | |
| 3067 | 3069 | rn = "SRSConf4"; |
| 3068 | 3070 | break; |
| 3069 | 3071 | default: |
| ... | ... | @@ -3074,7 +3076,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3074 | 3076 | switch (sel) { |
| 3075 | 3077 | case 0: |
| 3076 | 3078 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3077 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_HWREna)); | |
| 3079 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_HWREna)); | |
| 3078 | 3080 | rn = "HWREna"; |
| 3079 | 3081 | break; |
| 3080 | 3082 | default: |
| ... | ... | @@ -3084,8 +3086,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3084 | 3086 | case 8: |
| 3085 | 3087 | switch (sel) { |
| 3086 | 3088 | case 0: |
| 3087 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_BadVAddr)); | |
| 3088 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3089 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_BadVAddr)); | |
| 3090 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3089 | 3091 | rn = "BadVAddr"; |
| 3090 | 3092 | break; |
| 3091 | 3093 | default: |
| ... | ... | @@ -3098,7 +3100,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3098 | 3100 | /* Mark as an IO operation because we read the time. */ |
| 3099 | 3101 | if (use_icount) |
| 3100 | 3102 | gen_io_start(); |
| 3101 | - gen_helper_mfc0_count(t0); | |
| 3103 | + gen_helper_mfc0_count(arg); | |
| 3102 | 3104 | if (use_icount) { |
| 3103 | 3105 | gen_io_end(); |
| 3104 | 3106 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -3113,8 +3115,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3113 | 3115 | case 10: |
| 3114 | 3116 | switch (sel) { |
| 3115 | 3117 | case 0: |
| 3116 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryHi)); | |
| 3117 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3118 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryHi)); | |
| 3119 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3118 | 3120 | rn = "EntryHi"; |
| 3119 | 3121 | break; |
| 3120 | 3122 | default: |
| ... | ... | @@ -3124,7 +3126,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3124 | 3126 | case 11: |
| 3125 | 3127 | switch (sel) { |
| 3126 | 3128 | case 0: |
| 3127 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Compare)); | |
| 3129 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Compare)); | |
| 3128 | 3130 | rn = "Compare"; |
| 3129 | 3131 | break; |
| 3130 | 3132 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -3135,22 +3137,22 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3135 | 3137 | case 12: |
| 3136 | 3138 | switch (sel) { |
| 3137 | 3139 | case 0: |
| 3138 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Status)); | |
| 3140 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Status)); | |
| 3139 | 3141 | rn = "Status"; |
| 3140 | 3142 | break; |
| 3141 | 3143 | case 1: |
| 3142 | 3144 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3143 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_IntCtl)); | |
| 3145 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_IntCtl)); | |
| 3144 | 3146 | rn = "IntCtl"; |
| 3145 | 3147 | break; |
| 3146 | 3148 | case 2: |
| 3147 | 3149 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3148 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSCtl)); | |
| 3150 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSCtl)); | |
| 3149 | 3151 | rn = "SRSCtl"; |
| 3150 | 3152 | break; |
| 3151 | 3153 | case 3: |
| 3152 | 3154 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3153 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSMap)); | |
| 3155 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSMap)); | |
| 3154 | 3156 | rn = "SRSMap"; |
| 3155 | 3157 | break; |
| 3156 | 3158 | default: |
| ... | ... | @@ -3160,7 +3162,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3160 | 3162 | case 13: |
| 3161 | 3163 | switch (sel) { |
| 3162 | 3164 | case 0: |
| 3163 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Cause)); | |
| 3165 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Cause)); | |
| 3164 | 3166 | rn = "Cause"; |
| 3165 | 3167 | break; |
| 3166 | 3168 | default: |
| ... | ... | @@ -3170,8 +3172,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3170 | 3172 | case 14: |
| 3171 | 3173 | switch (sel) { |
| 3172 | 3174 | case 0: |
| 3173 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 3174 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3175 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 3176 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3175 | 3177 | rn = "EPC"; |
| 3176 | 3178 | break; |
| 3177 | 3179 | default: |
| ... | ... | @@ -3181,12 +3183,12 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3181 | 3183 | case 15: |
| 3182 | 3184 | switch (sel) { |
| 3183 | 3185 | case 0: |
| 3184 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PRid)); | |
| 3186 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PRid)); | |
| 3185 | 3187 | rn = "PRid"; |
| 3186 | 3188 | break; |
| 3187 | 3189 | case 1: |
| 3188 | 3190 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3189 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_EBase)); | |
| 3191 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_EBase)); | |
| 3190 | 3192 | rn = "EBase"; |
| 3191 | 3193 | break; |
| 3192 | 3194 | default: |
| ... | ... | @@ -3196,29 +3198,29 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3196 | 3198 | case 16: |
| 3197 | 3199 | switch (sel) { |
| 3198 | 3200 | case 0: |
| 3199 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config0)); | |
| 3201 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config0)); | |
| 3200 | 3202 | rn = "Config"; |
| 3201 | 3203 | break; |
| 3202 | 3204 | case 1: |
| 3203 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config1)); | |
| 3205 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config1)); | |
| 3204 | 3206 | rn = "Config1"; |
| 3205 | 3207 | break; |
| 3206 | 3208 | case 2: |
| 3207 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config2)); | |
| 3209 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config2)); | |
| 3208 | 3210 | rn = "Config2"; |
| 3209 | 3211 | break; |
| 3210 | 3212 | case 3: |
| 3211 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config3)); | |
| 3213 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config3)); | |
| 3212 | 3214 | rn = "Config3"; |
| 3213 | 3215 | break; |
| 3214 | 3216 | /* 4,5 are reserved */ |
| 3215 | 3217 | /* 6,7 are implementation dependent */ |
| 3216 | 3218 | case 6: |
| 3217 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config6)); | |
| 3219 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config6)); | |
| 3218 | 3220 | rn = "Config6"; |
| 3219 | 3221 | break; |
| 3220 | 3222 | case 7: |
| 3221 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config7)); | |
| 3223 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config7)); | |
| 3222 | 3224 | rn = "Config7"; |
| 3223 | 3225 | break; |
| 3224 | 3226 | default: |
| ... | ... | @@ -3228,7 +3230,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3228 | 3230 | case 17: |
| 3229 | 3231 | switch (sel) { |
| 3230 | 3232 | case 0: |
| 3231 | - gen_helper_mfc0_lladdr(t0); | |
| 3233 | + gen_helper_mfc0_lladdr(arg); | |
| 3232 | 3234 | rn = "LLAddr"; |
| 3233 | 3235 | break; |
| 3234 | 3236 | default: |
| ... | ... | @@ -3238,7 +3240,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3238 | 3240 | case 18: |
| 3239 | 3241 | switch (sel) { |
| 3240 | 3242 | case 0 ... 7: |
| 3241 | - gen_helper_1i(mfc0_watchlo, t0, sel); | |
| 3243 | + gen_helper_1i(mfc0_watchlo, arg, sel); | |
| 3242 | 3244 | rn = "WatchLo"; |
| 3243 | 3245 | break; |
| 3244 | 3246 | default: |
| ... | ... | @@ -3248,7 +3250,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3248 | 3250 | case 19: |
| 3249 | 3251 | switch (sel) { |
| 3250 | 3252 | case 0 ...7: |
| 3251 | - gen_helper_1i(mfc0_watchhi, t0, sel); | |
| 3253 | + gen_helper_1i(mfc0_watchhi, arg, sel); | |
| 3252 | 3254 | rn = "WatchHi"; |
| 3253 | 3255 | break; |
| 3254 | 3256 | default: |
| ... | ... | @@ -3260,8 +3262,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3260 | 3262 | case 0: |
| 3261 | 3263 | #if defined(TARGET_MIPS64) |
| 3262 | 3264 | check_insn(env, ctx, ISA_MIPS3); |
| 3263 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_XContext)); | |
| 3264 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3265 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_XContext)); | |
| 3266 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3265 | 3267 | rn = "XContext"; |
| 3266 | 3268 | break; |
| 3267 | 3269 | #endif |
| ... | ... | @@ -3273,7 +3275,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3273 | 3275 | /* Officially reserved, but sel 0 is used for R1x000 framemask */ |
| 3274 | 3276 | switch (sel) { |
| 3275 | 3277 | case 0: |
| 3276 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Framemask)); | |
| 3278 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Framemask)); | |
| 3277 | 3279 | rn = "Framemask"; |
| 3278 | 3280 | break; |
| 3279 | 3281 | default: |
| ... | ... | @@ -3281,29 +3283,29 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3281 | 3283 | } |
| 3282 | 3284 | break; |
| 3283 | 3285 | case 22: |
| 3284 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 3286 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 3285 | 3287 | rn = "'Diagnostic"; /* implementation dependent */ |
| 3286 | 3288 | break; |
| 3287 | 3289 | case 23: |
| 3288 | 3290 | switch (sel) { |
| 3289 | 3291 | case 0: |
| 3290 | - gen_helper_mfc0_debug(t0); /* EJTAG support */ | |
| 3292 | + gen_helper_mfc0_debug(arg); /* EJTAG support */ | |
| 3291 | 3293 | rn = "Debug"; |
| 3292 | 3294 | break; |
| 3293 | 3295 | case 1: |
| 3294 | -// gen_helper_mfc0_tracecontrol(t0); /* PDtrace support */ | |
| 3296 | +// gen_helper_mfc0_tracecontrol(arg); /* PDtrace support */ | |
| 3295 | 3297 | rn = "TraceControl"; |
| 3296 | 3298 | // break; |
| 3297 | 3299 | case 2: |
| 3298 | -// gen_helper_mfc0_tracecontrol2(t0); /* PDtrace support */ | |
| 3300 | +// gen_helper_mfc0_tracecontrol2(arg); /* PDtrace support */ | |
| 3299 | 3301 | rn = "TraceControl2"; |
| 3300 | 3302 | // break; |
| 3301 | 3303 | case 3: |
| 3302 | -// gen_helper_mfc0_usertracedata(t0); /* PDtrace support */ | |
| 3304 | +// gen_helper_mfc0_usertracedata(arg); /* PDtrace support */ | |
| 3303 | 3305 | rn = "UserTraceData"; |
| 3304 | 3306 | // break; |
| 3305 | 3307 | case 4: |
| 3306 | -// gen_helper_mfc0_tracebpc(t0); /* PDtrace support */ | |
| 3308 | +// gen_helper_mfc0_tracebpc(arg); /* PDtrace support */ | |
| 3307 | 3309 | rn = "TraceBPC"; |
| 3308 | 3310 | // break; |
| 3309 | 3311 | default: |
| ... | ... | @@ -3314,8 +3316,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3314 | 3316 | switch (sel) { |
| 3315 | 3317 | case 0: |
| 3316 | 3318 | /* EJTAG support */ |
| 3317 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 3318 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3319 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 3320 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3319 | 3321 | rn = "DEPC"; |
| 3320 | 3322 | break; |
| 3321 | 3323 | default: |
| ... | ... | @@ -3325,35 +3327,35 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3325 | 3327 | case 25: |
| 3326 | 3328 | switch (sel) { |
| 3327 | 3329 | case 0: |
| 3328 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Performance0)); | |
| 3330 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Performance0)); | |
| 3329 | 3331 | rn = "Performance0"; |
| 3330 | 3332 | break; |
| 3331 | 3333 | case 1: |
| 3332 | -// gen_helper_mfc0_performance1(t0); | |
| 3334 | +// gen_helper_mfc0_performance1(arg); | |
| 3333 | 3335 | rn = "Performance1"; |
| 3334 | 3336 | // break; |
| 3335 | 3337 | case 2: |
| 3336 | -// gen_helper_mfc0_performance2(t0); | |
| 3338 | +// gen_helper_mfc0_performance2(arg); | |
| 3337 | 3339 | rn = "Performance2"; |
| 3338 | 3340 | // break; |
| 3339 | 3341 | case 3: |
| 3340 | -// gen_helper_mfc0_performance3(t0); | |
| 3342 | +// gen_helper_mfc0_performance3(arg); | |
| 3341 | 3343 | rn = "Performance3"; |
| 3342 | 3344 | // break; |
| 3343 | 3345 | case 4: |
| 3344 | -// gen_helper_mfc0_performance4(t0); | |
| 3346 | +// gen_helper_mfc0_performance4(arg); | |
| 3345 | 3347 | rn = "Performance4"; |
| 3346 | 3348 | // break; |
| 3347 | 3349 | case 5: |
| 3348 | -// gen_helper_mfc0_performance5(t0); | |
| 3350 | +// gen_helper_mfc0_performance5(arg); | |
| 3349 | 3351 | rn = "Performance5"; |
| 3350 | 3352 | // break; |
| 3351 | 3353 | case 6: |
| 3352 | -// gen_helper_mfc0_performance6(t0); | |
| 3354 | +// gen_helper_mfc0_performance6(arg); | |
| 3353 | 3355 | rn = "Performance6"; |
| 3354 | 3356 | // break; |
| 3355 | 3357 | case 7: |
| 3356 | -// gen_helper_mfc0_performance7(t0); | |
| 3358 | +// gen_helper_mfc0_performance7(arg); | |
| 3357 | 3359 | rn = "Performance7"; |
| 3358 | 3360 | // break; |
| 3359 | 3361 | default: |
| ... | ... | @@ -3361,13 +3363,13 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3361 | 3363 | } |
| 3362 | 3364 | break; |
| 3363 | 3365 | case 26: |
| 3364 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 3366 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 3365 | 3367 | rn = "ECC"; |
| 3366 | 3368 | break; |
| 3367 | 3369 | case 27: |
| 3368 | 3370 | switch (sel) { |
| 3369 | 3371 | case 0 ... 3: |
| 3370 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 3372 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 3371 | 3373 | rn = "CacheErr"; |
| 3372 | 3374 | break; |
| 3373 | 3375 | default: |
| ... | ... | @@ -3380,14 +3382,14 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3380 | 3382 | case 2: |
| 3381 | 3383 | case 4: |
| 3382 | 3384 | case 6: |
| 3383 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_TagLo)); | |
| 3385 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_TagLo)); | |
| 3384 | 3386 | rn = "TagLo"; |
| 3385 | 3387 | break; |
| 3386 | 3388 | case 1: |
| 3387 | 3389 | case 3: |
| 3388 | 3390 | case 5: |
| 3389 | 3391 | case 7: |
| 3390 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DataLo)); | |
| 3392 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DataLo)); | |
| 3391 | 3393 | rn = "DataLo"; |
| 3392 | 3394 | break; |
| 3393 | 3395 | default: |
| ... | ... | @@ -3400,14 +3402,14 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3400 | 3402 | case 2: |
| 3401 | 3403 | case 4: |
| 3402 | 3404 | case 6: |
| 3403 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_TagHi)); | |
| 3405 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_TagHi)); | |
| 3404 | 3406 | rn = "TagHi"; |
| 3405 | 3407 | break; |
| 3406 | 3408 | case 1: |
| 3407 | 3409 | case 3: |
| 3408 | 3410 | case 5: |
| 3409 | 3411 | case 7: |
| 3410 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DataHi)); | |
| 3412 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DataHi)); | |
| 3411 | 3413 | rn = "DataHi"; |
| 3412 | 3414 | break; |
| 3413 | 3415 | default: |
| ... | ... | @@ -3417,8 +3419,8 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3417 | 3419 | case 30: |
| 3418 | 3420 | switch (sel) { |
| 3419 | 3421 | case 0: |
| 3420 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 3421 | - tcg_gen_ext32s_tl(t0, t0); | |
| 3422 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 3423 | + tcg_gen_ext32s_tl(arg, arg); | |
| 3422 | 3424 | rn = "ErrorEPC"; |
| 3423 | 3425 | break; |
| 3424 | 3426 | default: |
| ... | ... | @@ -3429,7 +3431,7 @@ static void gen_mfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3429 | 3431 | switch (sel) { |
| 3430 | 3432 | case 0: |
| 3431 | 3433 | /* EJTAG support */ |
| 3432 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DESAVE)); | |
| 3434 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DESAVE)); | |
| 3433 | 3435 | rn = "DESAVE"; |
| 3434 | 3436 | break; |
| 3435 | 3437 | default: |
| ... | ... | @@ -3447,7 +3449,7 @@ die: |
| 3447 | 3449 | generate_exception(ctx, EXCP_RI); |
| 3448 | 3450 | } |
| 3449 | 3451 | |
| 3450 | -static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int sel) | |
| 3452 | +static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv arg, int reg, int sel) | |
| 3451 | 3453 | { |
| 3452 | 3454 | const char *rn = "invalid"; |
| 3453 | 3455 | |
| ... | ... | @@ -3461,12 +3463,12 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3461 | 3463 | case 0: |
| 3462 | 3464 | switch (sel) { |
| 3463 | 3465 | case 0: |
| 3464 | - gen_helper_mtc0_index(t0); | |
| 3466 | + gen_helper_mtc0_index(arg); | |
| 3465 | 3467 | rn = "Index"; |
| 3466 | 3468 | break; |
| 3467 | 3469 | case 1: |
| 3468 | 3470 | check_insn(env, ctx, ASE_MT); |
| 3469 | - gen_helper_mtc0_mvpcontrol(t0); | |
| 3471 | + gen_helper_mtc0_mvpcontrol(arg); | |
| 3470 | 3472 | rn = "MVPControl"; |
| 3471 | 3473 | break; |
| 3472 | 3474 | case 2: |
| ... | ... | @@ -3491,37 +3493,37 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3491 | 3493 | break; |
| 3492 | 3494 | case 1: |
| 3493 | 3495 | check_insn(env, ctx, ASE_MT); |
| 3494 | - gen_helper_mtc0_vpecontrol(t0); | |
| 3496 | + gen_helper_mtc0_vpecontrol(arg); | |
| 3495 | 3497 | rn = "VPEControl"; |
| 3496 | 3498 | break; |
| 3497 | 3499 | case 2: |
| 3498 | 3500 | check_insn(env, ctx, ASE_MT); |
| 3499 | - gen_helper_mtc0_vpeconf0(t0); | |
| 3501 | + gen_helper_mtc0_vpeconf0(arg); | |
| 3500 | 3502 | rn = "VPEConf0"; |
| 3501 | 3503 | break; |
| 3502 | 3504 | case 3: |
| 3503 | 3505 | check_insn(env, ctx, ASE_MT); |
| 3504 | - gen_helper_mtc0_vpeconf1(t0); | |
| 3506 | + gen_helper_mtc0_vpeconf1(arg); | |
| 3505 | 3507 | rn = "VPEConf1"; |
| 3506 | 3508 | break; |
| 3507 | 3509 | case 4: |
| 3508 | 3510 | check_insn(env, ctx, ASE_MT); |
| 3509 | - gen_helper_mtc0_yqmask(t0); | |
| 3511 | + gen_helper_mtc0_yqmask(arg); | |
| 3510 | 3512 | rn = "YQMask"; |
| 3511 | 3513 | break; |
| 3512 | 3514 | case 5: |
| 3513 | 3515 | check_insn(env, ctx, ASE_MT); |
| 3514 | - gen_mtc0_store64(t0, offsetof(CPUState, CP0_VPESchedule)); | |
| 3516 | + gen_mtc0_store64(arg, offsetof(CPUState, CP0_VPESchedule)); | |
| 3515 | 3517 | rn = "VPESchedule"; |
| 3516 | 3518 | break; |
| 3517 | 3519 | case 6: |
| 3518 | 3520 | check_insn(env, ctx, ASE_MT); |
| 3519 | - gen_mtc0_store64(t0, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 3521 | + gen_mtc0_store64(arg, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 3520 | 3522 | rn = "VPEScheFBack"; |
| 3521 | 3523 | break; |
| 3522 | 3524 | case 7: |
| 3523 | 3525 | check_insn(env, ctx, ASE_MT); |
| 3524 | - gen_helper_mtc0_vpeopt(t0); | |
| 3526 | + gen_helper_mtc0_vpeopt(arg); | |
| 3525 | 3527 | rn = "VPEOpt"; |
| 3526 | 3528 | break; |
| 3527 | 3529 | default: |
| ... | ... | @@ -3531,42 +3533,42 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3531 | 3533 | case 2: |
| 3532 | 3534 | switch (sel) { |
| 3533 | 3535 | case 0: |
| 3534 | - gen_helper_mtc0_entrylo0(t0); | |
| 3536 | + gen_helper_mtc0_entrylo0(arg); | |
| 3535 | 3537 | rn = "EntryLo0"; |
| 3536 | 3538 | break; |
| 3537 | 3539 | case 1: |
| 3538 | 3540 | check_insn(env, ctx, ASE_MT); |
| 3539 | - gen_helper_mtc0_tcstatus(t0); | |
| 3541 | + gen_helper_mtc0_tcstatus(arg); | |
| 3540 | 3542 | rn = "TCStatus"; |
| 3541 | 3543 | break; |
| 3542 | 3544 | case 2: |
| 3543 | 3545 | check_insn(env, ctx, ASE_MT); |
| 3544 | - gen_helper_mtc0_tcbind(t0); | |
| 3546 | + gen_helper_mtc0_tcbind(arg); | |
| 3545 | 3547 | rn = "TCBind"; |
| 3546 | 3548 | break; |
| 3547 | 3549 | case 3: |
| 3548 | 3550 | check_insn(env, ctx, ASE_MT); |
| 3549 | - gen_helper_mtc0_tcrestart(t0); | |
| 3551 | + gen_helper_mtc0_tcrestart(arg); | |
| 3550 | 3552 | rn = "TCRestart"; |
| 3551 | 3553 | break; |
| 3552 | 3554 | case 4: |
| 3553 | 3555 | check_insn(env, ctx, ASE_MT); |
| 3554 | - gen_helper_mtc0_tchalt(t0); | |
| 3556 | + gen_helper_mtc0_tchalt(arg); | |
| 3555 | 3557 | rn = "TCHalt"; |
| 3556 | 3558 | break; |
| 3557 | 3559 | case 5: |
| 3558 | 3560 | check_insn(env, ctx, ASE_MT); |
| 3559 | - gen_helper_mtc0_tccontext(t0); | |
| 3561 | + gen_helper_mtc0_tccontext(arg); | |
| 3560 | 3562 | rn = "TCContext"; |
| 3561 | 3563 | break; |
| 3562 | 3564 | case 6: |
| 3563 | 3565 | check_insn(env, ctx, ASE_MT); |
| 3564 | - gen_helper_mtc0_tcschedule(t0); | |
| 3566 | + gen_helper_mtc0_tcschedule(arg); | |
| 3565 | 3567 | rn = "TCSchedule"; |
| 3566 | 3568 | break; |
| 3567 | 3569 | case 7: |
| 3568 | 3570 | check_insn(env, ctx, ASE_MT); |
| 3569 | - gen_helper_mtc0_tcschefback(t0); | |
| 3571 | + gen_helper_mtc0_tcschefback(arg); | |
| 3570 | 3572 | rn = "TCScheFBack"; |
| 3571 | 3573 | break; |
| 3572 | 3574 | default: |
| ... | ... | @@ -3576,7 +3578,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3576 | 3578 | case 3: |
| 3577 | 3579 | switch (sel) { |
| 3578 | 3580 | case 0: |
| 3579 | - gen_helper_mtc0_entrylo1(t0); | |
| 3581 | + gen_helper_mtc0_entrylo1(arg); | |
| 3580 | 3582 | rn = "EntryLo1"; |
| 3581 | 3583 | break; |
| 3582 | 3584 | default: |
| ... | ... | @@ -3586,11 +3588,11 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3586 | 3588 | case 4: |
| 3587 | 3589 | switch (sel) { |
| 3588 | 3590 | case 0: |
| 3589 | - gen_helper_mtc0_context(t0); | |
| 3591 | + gen_helper_mtc0_context(arg); | |
| 3590 | 3592 | rn = "Context"; |
| 3591 | 3593 | break; |
| 3592 | 3594 | case 1: |
| 3593 | -// gen_helper_mtc0_contextconfig(t0); /* SmartMIPS ASE */ | |
| 3595 | +// gen_helper_mtc0_contextconfig(arg); /* SmartMIPS ASE */ | |
| 3594 | 3596 | rn = "ContextConfig"; |
| 3595 | 3597 | // break; |
| 3596 | 3598 | default: |
| ... | ... | @@ -3600,12 +3602,12 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3600 | 3602 | case 5: |
| 3601 | 3603 | switch (sel) { |
| 3602 | 3604 | case 0: |
| 3603 | - gen_helper_mtc0_pagemask(t0); | |
| 3605 | + gen_helper_mtc0_pagemask(arg); | |
| 3604 | 3606 | rn = "PageMask"; |
| 3605 | 3607 | break; |
| 3606 | 3608 | case 1: |
| 3607 | 3609 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3608 | - gen_helper_mtc0_pagegrain(t0); | |
| 3610 | + gen_helper_mtc0_pagegrain(arg); | |
| 3609 | 3611 | rn = "PageGrain"; |
| 3610 | 3612 | break; |
| 3611 | 3613 | default: |
| ... | ... | @@ -3615,32 +3617,32 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3615 | 3617 | case 6: |
| 3616 | 3618 | switch (sel) { |
| 3617 | 3619 | case 0: |
| 3618 | - gen_helper_mtc0_wired(t0); | |
| 3620 | + gen_helper_mtc0_wired(arg); | |
| 3619 | 3621 | rn = "Wired"; |
| 3620 | 3622 | break; |
| 3621 | 3623 | case 1: |
| 3622 | 3624 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3623 | - gen_helper_mtc0_srsconf0(t0); | |
| 3625 | + gen_helper_mtc0_srsconf0(arg); | |
| 3624 | 3626 | rn = "SRSConf0"; |
| 3625 | 3627 | break; |
| 3626 | 3628 | case 2: |
| 3627 | 3629 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3628 | - gen_helper_mtc0_srsconf1(t0); | |
| 3630 | + gen_helper_mtc0_srsconf1(arg); | |
| 3629 | 3631 | rn = "SRSConf1"; |
| 3630 | 3632 | break; |
| 3631 | 3633 | case 3: |
| 3632 | 3634 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3633 | - gen_helper_mtc0_srsconf2(t0); | |
| 3635 | + gen_helper_mtc0_srsconf2(arg); | |
| 3634 | 3636 | rn = "SRSConf2"; |
| 3635 | 3637 | break; |
| 3636 | 3638 | case 4: |
| 3637 | 3639 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3638 | - gen_helper_mtc0_srsconf3(t0); | |
| 3640 | + gen_helper_mtc0_srsconf3(arg); | |
| 3639 | 3641 | rn = "SRSConf3"; |
| 3640 | 3642 | break; |
| 3641 | 3643 | case 5: |
| 3642 | 3644 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3643 | - gen_helper_mtc0_srsconf4(t0); | |
| 3645 | + gen_helper_mtc0_srsconf4(arg); | |
| 3644 | 3646 | rn = "SRSConf4"; |
| 3645 | 3647 | break; |
| 3646 | 3648 | default: |
| ... | ... | @@ -3651,7 +3653,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3651 | 3653 | switch (sel) { |
| 3652 | 3654 | case 0: |
| 3653 | 3655 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3654 | - gen_helper_mtc0_hwrena(t0); | |
| 3656 | + gen_helper_mtc0_hwrena(arg); | |
| 3655 | 3657 | rn = "HWREna"; |
| 3656 | 3658 | break; |
| 3657 | 3659 | default: |
| ... | ... | @@ -3665,7 +3667,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3665 | 3667 | case 9: |
| 3666 | 3668 | switch (sel) { |
| 3667 | 3669 | case 0: |
| 3668 | - gen_helper_mtc0_count(t0); | |
| 3670 | + gen_helper_mtc0_count(arg); | |
| 3669 | 3671 | rn = "Count"; |
| 3670 | 3672 | break; |
| 3671 | 3673 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -3676,7 +3678,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3676 | 3678 | case 10: |
| 3677 | 3679 | switch (sel) { |
| 3678 | 3680 | case 0: |
| 3679 | - gen_helper_mtc0_entryhi(t0); | |
| 3681 | + gen_helper_mtc0_entryhi(arg); | |
| 3680 | 3682 | rn = "EntryHi"; |
| 3681 | 3683 | break; |
| 3682 | 3684 | default: |
| ... | ... | @@ -3686,7 +3688,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3686 | 3688 | case 11: |
| 3687 | 3689 | switch (sel) { |
| 3688 | 3690 | case 0: |
| 3689 | - gen_helper_mtc0_compare(t0); | |
| 3691 | + gen_helper_mtc0_compare(arg); | |
| 3690 | 3692 | rn = "Compare"; |
| 3691 | 3693 | break; |
| 3692 | 3694 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -3698,7 +3700,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3698 | 3700 | switch (sel) { |
| 3699 | 3701 | case 0: |
| 3700 | 3702 | save_cpu_state(ctx, 1); |
| 3701 | - gen_helper_mtc0_status(t0); | |
| 3703 | + gen_helper_mtc0_status(arg); | |
| 3702 | 3704 | /* BS_STOP isn't good enough here, hflags may have changed. */ |
| 3703 | 3705 | gen_save_pc(ctx->pc + 4); |
| 3704 | 3706 | ctx->bstate = BS_EXCP; |
| ... | ... | @@ -3706,21 +3708,21 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3706 | 3708 | break; |
| 3707 | 3709 | case 1: |
| 3708 | 3710 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3709 | - gen_helper_mtc0_intctl(t0); | |
| 3711 | + gen_helper_mtc0_intctl(arg); | |
| 3710 | 3712 | /* Stop translation as we may have switched the execution mode */ |
| 3711 | 3713 | ctx->bstate = BS_STOP; |
| 3712 | 3714 | rn = "IntCtl"; |
| 3713 | 3715 | break; |
| 3714 | 3716 | case 2: |
| 3715 | 3717 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3716 | - gen_helper_mtc0_srsctl(t0); | |
| 3718 | + gen_helper_mtc0_srsctl(arg); | |
| 3717 | 3719 | /* Stop translation as we may have switched the execution mode */ |
| 3718 | 3720 | ctx->bstate = BS_STOP; |
| 3719 | 3721 | rn = "SRSCtl"; |
| 3720 | 3722 | break; |
| 3721 | 3723 | case 3: |
| 3722 | 3724 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3723 | - gen_mtc0_store32(t0, offsetof(CPUState, CP0_SRSMap)); | |
| 3725 | + gen_mtc0_store32(arg, offsetof(CPUState, CP0_SRSMap)); | |
| 3724 | 3726 | /* Stop translation as we may have switched the execution mode */ |
| 3725 | 3727 | ctx->bstate = BS_STOP; |
| 3726 | 3728 | rn = "SRSMap"; |
| ... | ... | @@ -3733,7 +3735,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3733 | 3735 | switch (sel) { |
| 3734 | 3736 | case 0: |
| 3735 | 3737 | save_cpu_state(ctx, 1); |
| 3736 | - gen_helper_mtc0_cause(t0); | |
| 3738 | + gen_helper_mtc0_cause(arg); | |
| 3737 | 3739 | rn = "Cause"; |
| 3738 | 3740 | break; |
| 3739 | 3741 | default: |
| ... | ... | @@ -3743,7 +3745,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3743 | 3745 | case 14: |
| 3744 | 3746 | switch (sel) { |
| 3745 | 3747 | case 0: |
| 3746 | - gen_mtc0_store64(t0, offsetof(CPUState, CP0_EPC)); | |
| 3748 | + gen_mtc0_store64(arg, offsetof(CPUState, CP0_EPC)); | |
| 3747 | 3749 | rn = "EPC"; |
| 3748 | 3750 | break; |
| 3749 | 3751 | default: |
| ... | ... | @@ -3758,7 +3760,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3758 | 3760 | break; |
| 3759 | 3761 | case 1: |
| 3760 | 3762 | check_insn(env, ctx, ISA_MIPS32R2); |
| 3761 | - gen_helper_mtc0_ebase(t0); | |
| 3763 | + gen_helper_mtc0_ebase(arg); | |
| 3762 | 3764 | rn = "EBase"; |
| 3763 | 3765 | break; |
| 3764 | 3766 | default: |
| ... | ... | @@ -3768,7 +3770,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3768 | 3770 | case 16: |
| 3769 | 3771 | switch (sel) { |
| 3770 | 3772 | case 0: |
| 3771 | - gen_helper_mtc0_config0(t0); | |
| 3773 | + gen_helper_mtc0_config0(arg); | |
| 3772 | 3774 | rn = "Config"; |
| 3773 | 3775 | /* Stop translation as we may have switched the execution mode */ |
| 3774 | 3776 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -3778,7 +3780,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3778 | 3780 | rn = "Config1"; |
| 3779 | 3781 | break; |
| 3780 | 3782 | case 2: |
| 3781 | - gen_helper_mtc0_config2(t0); | |
| 3783 | + gen_helper_mtc0_config2(arg); | |
| 3782 | 3784 | rn = "Config2"; |
| 3783 | 3785 | /* Stop translation as we may have switched the execution mode */ |
| 3784 | 3786 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -3815,7 +3817,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3815 | 3817 | case 18: |
| 3816 | 3818 | switch (sel) { |
| 3817 | 3819 | case 0 ... 7: |
| 3818 | - gen_helper_1i(mtc0_watchlo, t0, sel); | |
| 3820 | + gen_helper_1i(mtc0_watchlo, arg, sel); | |
| 3819 | 3821 | rn = "WatchLo"; |
| 3820 | 3822 | break; |
| 3821 | 3823 | default: |
| ... | ... | @@ -3825,7 +3827,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3825 | 3827 | case 19: |
| 3826 | 3828 | switch (sel) { |
| 3827 | 3829 | case 0 ... 7: |
| 3828 | - gen_helper_1i(mtc0_watchhi, t0, sel); | |
| 3830 | + gen_helper_1i(mtc0_watchhi, arg, sel); | |
| 3829 | 3831 | rn = "WatchHi"; |
| 3830 | 3832 | break; |
| 3831 | 3833 | default: |
| ... | ... | @@ -3837,7 +3839,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3837 | 3839 | case 0: |
| 3838 | 3840 | #if defined(TARGET_MIPS64) |
| 3839 | 3841 | check_insn(env, ctx, ISA_MIPS3); |
| 3840 | - gen_helper_mtc0_xcontext(t0); | |
| 3842 | + gen_helper_mtc0_xcontext(arg); | |
| 3841 | 3843 | rn = "XContext"; |
| 3842 | 3844 | break; |
| 3843 | 3845 | #endif |
| ... | ... | @@ -3849,7 +3851,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3849 | 3851 | /* Officially reserved, but sel 0 is used for R1x000 framemask */ |
| 3850 | 3852 | switch (sel) { |
| 3851 | 3853 | case 0: |
| 3852 | - gen_helper_mtc0_framemask(t0); | |
| 3854 | + gen_helper_mtc0_framemask(arg); | |
| 3853 | 3855 | rn = "Framemask"; |
| 3854 | 3856 | break; |
| 3855 | 3857 | default: |
| ... | ... | @@ -3863,20 +3865,20 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3863 | 3865 | case 23: |
| 3864 | 3866 | switch (sel) { |
| 3865 | 3867 | case 0: |
| 3866 | - gen_helper_mtc0_debug(t0); /* EJTAG support */ | |
| 3868 | + gen_helper_mtc0_debug(arg); /* EJTAG support */ | |
| 3867 | 3869 | /* BS_STOP isn't good enough here, hflags may have changed. */ |
| 3868 | 3870 | gen_save_pc(ctx->pc + 4); |
| 3869 | 3871 | ctx->bstate = BS_EXCP; |
| 3870 | 3872 | rn = "Debug"; |
| 3871 | 3873 | break; |
| 3872 | 3874 | case 1: |
| 3873 | -// gen_helper_mtc0_tracecontrol(t0); /* PDtrace support */ | |
| 3875 | +// gen_helper_mtc0_tracecontrol(arg); /* PDtrace support */ | |
| 3874 | 3876 | rn = "TraceControl"; |
| 3875 | 3877 | /* Stop translation as we may have switched the execution mode */ |
| 3876 | 3878 | ctx->bstate = BS_STOP; |
| 3877 | 3879 | // break; |
| 3878 | 3880 | case 2: |
| 3879 | -// gen_helper_mtc0_tracecontrol2(t0); /* PDtrace support */ | |
| 3881 | +// gen_helper_mtc0_tracecontrol2(arg); /* PDtrace support */ | |
| 3880 | 3882 | rn = "TraceControl2"; |
| 3881 | 3883 | /* Stop translation as we may have switched the execution mode */ |
| 3882 | 3884 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -3884,13 +3886,13 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3884 | 3886 | case 3: |
| 3885 | 3887 | /* Stop translation as we may have switched the execution mode */ |
| 3886 | 3888 | ctx->bstate = BS_STOP; |
| 3887 | -// gen_helper_mtc0_usertracedata(t0); /* PDtrace support */ | |
| 3889 | +// gen_helper_mtc0_usertracedata(arg); /* PDtrace support */ | |
| 3888 | 3890 | rn = "UserTraceData"; |
| 3889 | 3891 | /* Stop translation as we may have switched the execution mode */ |
| 3890 | 3892 | ctx->bstate = BS_STOP; |
| 3891 | 3893 | // break; |
| 3892 | 3894 | case 4: |
| 3893 | -// gen_helper_mtc0_tracebpc(t0); /* PDtrace support */ | |
| 3895 | +// gen_helper_mtc0_tracebpc(arg); /* PDtrace support */ | |
| 3894 | 3896 | /* Stop translation as we may have switched the execution mode */ |
| 3895 | 3897 | ctx->bstate = BS_STOP; |
| 3896 | 3898 | rn = "TraceBPC"; |
| ... | ... | @@ -3903,7 +3905,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3903 | 3905 | switch (sel) { |
| 3904 | 3906 | case 0: |
| 3905 | 3907 | /* EJTAG support */ |
| 3906 | - gen_mtc0_store64(t0, offsetof(CPUState, CP0_DEPC)); | |
| 3908 | + gen_mtc0_store64(arg, offsetof(CPUState, CP0_DEPC)); | |
| 3907 | 3909 | rn = "DEPC"; |
| 3908 | 3910 | break; |
| 3909 | 3911 | default: |
| ... | ... | @@ -3913,35 +3915,35 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3913 | 3915 | case 25: |
| 3914 | 3916 | switch (sel) { |
| 3915 | 3917 | case 0: |
| 3916 | - gen_helper_mtc0_performance0(t0); | |
| 3918 | + gen_helper_mtc0_performance0(arg); | |
| 3917 | 3919 | rn = "Performance0"; |
| 3918 | 3920 | break; |
| 3919 | 3921 | case 1: |
| 3920 | -// gen_helper_mtc0_performance1(t0); | |
| 3922 | +// gen_helper_mtc0_performance1(arg); | |
| 3921 | 3923 | rn = "Performance1"; |
| 3922 | 3924 | // break; |
| 3923 | 3925 | case 2: |
| 3924 | -// gen_helper_mtc0_performance2(t0); | |
| 3926 | +// gen_helper_mtc0_performance2(arg); | |
| 3925 | 3927 | rn = "Performance2"; |
| 3926 | 3928 | // break; |
| 3927 | 3929 | case 3: |
| 3928 | -// gen_helper_mtc0_performance3(t0); | |
| 3930 | +// gen_helper_mtc0_performance3(arg); | |
| 3929 | 3931 | rn = "Performance3"; |
| 3930 | 3932 | // break; |
| 3931 | 3933 | case 4: |
| 3932 | -// gen_helper_mtc0_performance4(t0); | |
| 3934 | +// gen_helper_mtc0_performance4(arg); | |
| 3933 | 3935 | rn = "Performance4"; |
| 3934 | 3936 | // break; |
| 3935 | 3937 | case 5: |
| 3936 | -// gen_helper_mtc0_performance5(t0); | |
| 3938 | +// gen_helper_mtc0_performance5(arg); | |
| 3937 | 3939 | rn = "Performance5"; |
| 3938 | 3940 | // break; |
| 3939 | 3941 | case 6: |
| 3940 | -// gen_helper_mtc0_performance6(t0); | |
| 3942 | +// gen_helper_mtc0_performance6(arg); | |
| 3941 | 3943 | rn = "Performance6"; |
| 3942 | 3944 | // break; |
| 3943 | 3945 | case 7: |
| 3944 | -// gen_helper_mtc0_performance7(t0); | |
| 3946 | +// gen_helper_mtc0_performance7(arg); | |
| 3945 | 3947 | rn = "Performance7"; |
| 3946 | 3948 | // break; |
| 3947 | 3949 | default: |
| ... | ... | @@ -3968,14 +3970,14 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3968 | 3970 | case 2: |
| 3969 | 3971 | case 4: |
| 3970 | 3972 | case 6: |
| 3971 | - gen_helper_mtc0_taglo(t0); | |
| 3973 | + gen_helper_mtc0_taglo(arg); | |
| 3972 | 3974 | rn = "TagLo"; |
| 3973 | 3975 | break; |
| 3974 | 3976 | case 1: |
| 3975 | 3977 | case 3: |
| 3976 | 3978 | case 5: |
| 3977 | 3979 | case 7: |
| 3978 | - gen_helper_mtc0_datalo(t0); | |
| 3980 | + gen_helper_mtc0_datalo(arg); | |
| 3979 | 3981 | rn = "DataLo"; |
| 3980 | 3982 | break; |
| 3981 | 3983 | default: |
| ... | ... | @@ -3988,14 +3990,14 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 3988 | 3990 | case 2: |
| 3989 | 3991 | case 4: |
| 3990 | 3992 | case 6: |
| 3991 | - gen_helper_mtc0_taghi(t0); | |
| 3993 | + gen_helper_mtc0_taghi(arg); | |
| 3992 | 3994 | rn = "TagHi"; |
| 3993 | 3995 | break; |
| 3994 | 3996 | case 1: |
| 3995 | 3997 | case 3: |
| 3996 | 3998 | case 5: |
| 3997 | 3999 | case 7: |
| 3998 | - gen_helper_mtc0_datahi(t0); | |
| 4000 | + gen_helper_mtc0_datahi(arg); | |
| 3999 | 4001 | rn = "DataHi"; |
| 4000 | 4002 | break; |
| 4001 | 4003 | default: |
| ... | ... | @@ -4006,7 +4008,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 4006 | 4008 | case 30: |
| 4007 | 4009 | switch (sel) { |
| 4008 | 4010 | case 0: |
| 4009 | - gen_mtc0_store64(t0, offsetof(CPUState, CP0_ErrorEPC)); | |
| 4011 | + gen_mtc0_store64(arg, offsetof(CPUState, CP0_ErrorEPC)); | |
| 4010 | 4012 | rn = "ErrorEPC"; |
| 4011 | 4013 | break; |
| 4012 | 4014 | default: |
| ... | ... | @@ -4017,7 +4019,7 @@ static void gen_mtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int se |
| 4017 | 4019 | switch (sel) { |
| 4018 | 4020 | case 0: |
| 4019 | 4021 | /* EJTAG support */ |
| 4020 | - gen_mtc0_store32(t0, offsetof(CPUState, CP0_DESAVE)); | |
| 4022 | + gen_mtc0_store32(arg, offsetof(CPUState, CP0_DESAVE)); | |
| 4021 | 4023 | rn = "DESAVE"; |
| 4022 | 4024 | break; |
| 4023 | 4025 | default: |
| ... | ... | @@ -4043,7 +4045,7 @@ die: |
| 4043 | 4045 | } |
| 4044 | 4046 | |
| 4045 | 4047 | #if defined(TARGET_MIPS64) |
| 4046 | -static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int sel) | |
| 4048 | +static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv arg, int reg, int sel) | |
| 4047 | 4049 | { |
| 4048 | 4050 | const char *rn = "invalid"; |
| 4049 | 4051 | |
| ... | ... | @@ -4054,22 +4056,22 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4054 | 4056 | case 0: |
| 4055 | 4057 | switch (sel) { |
| 4056 | 4058 | case 0: |
| 4057 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Index)); | |
| 4059 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Index)); | |
| 4058 | 4060 | rn = "Index"; |
| 4059 | 4061 | break; |
| 4060 | 4062 | case 1: |
| 4061 | 4063 | check_insn(env, ctx, ASE_MT); |
| 4062 | - gen_helper_mfc0_mvpcontrol(t0); | |
| 4064 | + gen_helper_mfc0_mvpcontrol(arg); | |
| 4063 | 4065 | rn = "MVPControl"; |
| 4064 | 4066 | break; |
| 4065 | 4067 | case 2: |
| 4066 | 4068 | check_insn(env, ctx, ASE_MT); |
| 4067 | - gen_helper_mfc0_mvpconf0(t0); | |
| 4069 | + gen_helper_mfc0_mvpconf0(arg); | |
| 4068 | 4070 | rn = "MVPConf0"; |
| 4069 | 4071 | break; |
| 4070 | 4072 | case 3: |
| 4071 | 4073 | check_insn(env, ctx, ASE_MT); |
| 4072 | - gen_helper_mfc0_mvpconf1(t0); | |
| 4074 | + gen_helper_mfc0_mvpconf1(arg); | |
| 4073 | 4075 | rn = "MVPConf1"; |
| 4074 | 4076 | break; |
| 4075 | 4077 | default: |
| ... | ... | @@ -4079,42 +4081,42 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4079 | 4081 | case 1: |
| 4080 | 4082 | switch (sel) { |
| 4081 | 4083 | case 0: |
| 4082 | - gen_helper_mfc0_random(t0); | |
| 4084 | + gen_helper_mfc0_random(arg); | |
| 4083 | 4085 | rn = "Random"; |
| 4084 | 4086 | break; |
| 4085 | 4087 | case 1: |
| 4086 | 4088 | check_insn(env, ctx, ASE_MT); |
| 4087 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEControl)); | |
| 4089 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEControl)); | |
| 4088 | 4090 | rn = "VPEControl"; |
| 4089 | 4091 | break; |
| 4090 | 4092 | case 2: |
| 4091 | 4093 | check_insn(env, ctx, ASE_MT); |
| 4092 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEConf0)); | |
| 4094 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEConf0)); | |
| 4093 | 4095 | rn = "VPEConf0"; |
| 4094 | 4096 | break; |
| 4095 | 4097 | case 3: |
| 4096 | 4098 | check_insn(env, ctx, ASE_MT); |
| 4097 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEConf1)); | |
| 4099 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEConf1)); | |
| 4098 | 4100 | rn = "VPEConf1"; |
| 4099 | 4101 | break; |
| 4100 | 4102 | case 4: |
| 4101 | 4103 | check_insn(env, ctx, ASE_MT); |
| 4102 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_YQMask)); | |
| 4104 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_YQMask)); | |
| 4103 | 4105 | rn = "YQMask"; |
| 4104 | 4106 | break; |
| 4105 | 4107 | case 5: |
| 4106 | 4108 | check_insn(env, ctx, ASE_MT); |
| 4107 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_VPESchedule)); | |
| 4109 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_VPESchedule)); | |
| 4108 | 4110 | rn = "VPESchedule"; |
| 4109 | 4111 | break; |
| 4110 | 4112 | case 6: |
| 4111 | 4113 | check_insn(env, ctx, ASE_MT); |
| 4112 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 4114 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 4113 | 4115 | rn = "VPEScheFBack"; |
| 4114 | 4116 | break; |
| 4115 | 4117 | case 7: |
| 4116 | 4118 | check_insn(env, ctx, ASE_MT); |
| 4117 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_VPEOpt)); | |
| 4119 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_VPEOpt)); | |
| 4118 | 4120 | rn = "VPEOpt"; |
| 4119 | 4121 | break; |
| 4120 | 4122 | default: |
| ... | ... | @@ -4124,42 +4126,42 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4124 | 4126 | case 2: |
| 4125 | 4127 | switch (sel) { |
| 4126 | 4128 | case 0: |
| 4127 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryLo0)); | |
| 4129 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryLo0)); | |
| 4128 | 4130 | rn = "EntryLo0"; |
| 4129 | 4131 | break; |
| 4130 | 4132 | case 1: |
| 4131 | 4133 | check_insn(env, ctx, ASE_MT); |
| 4132 | - gen_helper_mfc0_tcstatus(t0); | |
| 4134 | + gen_helper_mfc0_tcstatus(arg); | |
| 4133 | 4135 | rn = "TCStatus"; |
| 4134 | 4136 | break; |
| 4135 | 4137 | case 2: |
| 4136 | 4138 | check_insn(env, ctx, ASE_MT); |
| 4137 | - gen_helper_mfc0_tcbind(t0); | |
| 4139 | + gen_helper_mfc0_tcbind(arg); | |
| 4138 | 4140 | rn = "TCBind"; |
| 4139 | 4141 | break; |
| 4140 | 4142 | case 3: |
| 4141 | 4143 | check_insn(env, ctx, ASE_MT); |
| 4142 | - gen_helper_dmfc0_tcrestart(t0); | |
| 4144 | + gen_helper_dmfc0_tcrestart(arg); | |
| 4143 | 4145 | rn = "TCRestart"; |
| 4144 | 4146 | break; |
| 4145 | 4147 | case 4: |
| 4146 | 4148 | check_insn(env, ctx, ASE_MT); |
| 4147 | - gen_helper_dmfc0_tchalt(t0); | |
| 4149 | + gen_helper_dmfc0_tchalt(arg); | |
| 4148 | 4150 | rn = "TCHalt"; |
| 4149 | 4151 | break; |
| 4150 | 4152 | case 5: |
| 4151 | 4153 | check_insn(env, ctx, ASE_MT); |
| 4152 | - gen_helper_dmfc0_tccontext(t0); | |
| 4154 | + gen_helper_dmfc0_tccontext(arg); | |
| 4153 | 4155 | rn = "TCContext"; |
| 4154 | 4156 | break; |
| 4155 | 4157 | case 6: |
| 4156 | 4158 | check_insn(env, ctx, ASE_MT); |
| 4157 | - gen_helper_dmfc0_tcschedule(t0); | |
| 4159 | + gen_helper_dmfc0_tcschedule(arg); | |
| 4158 | 4160 | rn = "TCSchedule"; |
| 4159 | 4161 | break; |
| 4160 | 4162 | case 7: |
| 4161 | 4163 | check_insn(env, ctx, ASE_MT); |
| 4162 | - gen_helper_dmfc0_tcschefback(t0); | |
| 4164 | + gen_helper_dmfc0_tcschefback(arg); | |
| 4163 | 4165 | rn = "TCScheFBack"; |
| 4164 | 4166 | break; |
| 4165 | 4167 | default: |
| ... | ... | @@ -4169,7 +4171,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4169 | 4171 | case 3: |
| 4170 | 4172 | switch (sel) { |
| 4171 | 4173 | case 0: |
| 4172 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryLo1)); | |
| 4174 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryLo1)); | |
| 4173 | 4175 | rn = "EntryLo1"; |
| 4174 | 4176 | break; |
| 4175 | 4177 | default: |
| ... | ... | @@ -4179,11 +4181,11 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4179 | 4181 | case 4: |
| 4180 | 4182 | switch (sel) { |
| 4181 | 4183 | case 0: |
| 4182 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_Context)); | |
| 4184 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_Context)); | |
| 4183 | 4185 | rn = "Context"; |
| 4184 | 4186 | break; |
| 4185 | 4187 | case 1: |
| 4186 | -// gen_helper_dmfc0_contextconfig(t0); /* SmartMIPS ASE */ | |
| 4188 | +// gen_helper_dmfc0_contextconfig(arg); /* SmartMIPS ASE */ | |
| 4187 | 4189 | rn = "ContextConfig"; |
| 4188 | 4190 | // break; |
| 4189 | 4191 | default: |
| ... | ... | @@ -4193,12 +4195,12 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4193 | 4195 | case 5: |
| 4194 | 4196 | switch (sel) { |
| 4195 | 4197 | case 0: |
| 4196 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PageMask)); | |
| 4198 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PageMask)); | |
| 4197 | 4199 | rn = "PageMask"; |
| 4198 | 4200 | break; |
| 4199 | 4201 | case 1: |
| 4200 | 4202 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4201 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PageGrain)); | |
| 4203 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PageGrain)); | |
| 4202 | 4204 | rn = "PageGrain"; |
| 4203 | 4205 | break; |
| 4204 | 4206 | default: |
| ... | ... | @@ -4208,32 +4210,32 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4208 | 4210 | case 6: |
| 4209 | 4211 | switch (sel) { |
| 4210 | 4212 | case 0: |
| 4211 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Wired)); | |
| 4213 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Wired)); | |
| 4212 | 4214 | rn = "Wired"; |
| 4213 | 4215 | break; |
| 4214 | 4216 | case 1: |
| 4215 | 4217 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4216 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf0)); | |
| 4218 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf0)); | |
| 4217 | 4219 | rn = "SRSConf0"; |
| 4218 | 4220 | break; |
| 4219 | 4221 | case 2: |
| 4220 | 4222 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4221 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf1)); | |
| 4223 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf1)); | |
| 4222 | 4224 | rn = "SRSConf1"; |
| 4223 | 4225 | break; |
| 4224 | 4226 | case 3: |
| 4225 | 4227 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4226 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf2)); | |
| 4228 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf2)); | |
| 4227 | 4229 | rn = "SRSConf2"; |
| 4228 | 4230 | break; |
| 4229 | 4231 | case 4: |
| 4230 | 4232 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4231 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf3)); | |
| 4233 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf3)); | |
| 4232 | 4234 | rn = "SRSConf3"; |
| 4233 | 4235 | break; |
| 4234 | 4236 | case 5: |
| 4235 | 4237 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4236 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSConf4)); | |
| 4238 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSConf4)); | |
| 4237 | 4239 | rn = "SRSConf4"; |
| 4238 | 4240 | break; |
| 4239 | 4241 | default: |
| ... | ... | @@ -4244,7 +4246,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4244 | 4246 | switch (sel) { |
| 4245 | 4247 | case 0: |
| 4246 | 4248 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4247 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_HWREna)); | |
| 4249 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_HWREna)); | |
| 4248 | 4250 | rn = "HWREna"; |
| 4249 | 4251 | break; |
| 4250 | 4252 | default: |
| ... | ... | @@ -4254,7 +4256,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4254 | 4256 | case 8: |
| 4255 | 4257 | switch (sel) { |
| 4256 | 4258 | case 0: |
| 4257 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_BadVAddr)); | |
| 4259 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_BadVAddr)); | |
| 4258 | 4260 | rn = "BadVAddr"; |
| 4259 | 4261 | break; |
| 4260 | 4262 | default: |
| ... | ... | @@ -4267,7 +4269,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4267 | 4269 | /* Mark as an IO operation because we read the time. */ |
| 4268 | 4270 | if (use_icount) |
| 4269 | 4271 | gen_io_start(); |
| 4270 | - gen_helper_mfc0_count(t0); | |
| 4272 | + gen_helper_mfc0_count(arg); | |
| 4271 | 4273 | if (use_icount) { |
| 4272 | 4274 | gen_io_end(); |
| 4273 | 4275 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -4282,7 +4284,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4282 | 4284 | case 10: |
| 4283 | 4285 | switch (sel) { |
| 4284 | 4286 | case 0: |
| 4285 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EntryHi)); | |
| 4287 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EntryHi)); | |
| 4286 | 4288 | rn = "EntryHi"; |
| 4287 | 4289 | break; |
| 4288 | 4290 | default: |
| ... | ... | @@ -4292,7 +4294,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4292 | 4294 | case 11: |
| 4293 | 4295 | switch (sel) { |
| 4294 | 4296 | case 0: |
| 4295 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Compare)); | |
| 4297 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Compare)); | |
| 4296 | 4298 | rn = "Compare"; |
| 4297 | 4299 | break; |
| 4298 | 4300 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -4303,22 +4305,22 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4303 | 4305 | case 12: |
| 4304 | 4306 | switch (sel) { |
| 4305 | 4307 | case 0: |
| 4306 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Status)); | |
| 4308 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Status)); | |
| 4307 | 4309 | rn = "Status"; |
| 4308 | 4310 | break; |
| 4309 | 4311 | case 1: |
| 4310 | 4312 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4311 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_IntCtl)); | |
| 4313 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_IntCtl)); | |
| 4312 | 4314 | rn = "IntCtl"; |
| 4313 | 4315 | break; |
| 4314 | 4316 | case 2: |
| 4315 | 4317 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4316 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSCtl)); | |
| 4318 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSCtl)); | |
| 4317 | 4319 | rn = "SRSCtl"; |
| 4318 | 4320 | break; |
| 4319 | 4321 | case 3: |
| 4320 | 4322 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4321 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_SRSMap)); | |
| 4323 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_SRSMap)); | |
| 4322 | 4324 | rn = "SRSMap"; |
| 4323 | 4325 | break; |
| 4324 | 4326 | default: |
| ... | ... | @@ -4328,7 +4330,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4328 | 4330 | case 13: |
| 4329 | 4331 | switch (sel) { |
| 4330 | 4332 | case 0: |
| 4331 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Cause)); | |
| 4333 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Cause)); | |
| 4332 | 4334 | rn = "Cause"; |
| 4333 | 4335 | break; |
| 4334 | 4336 | default: |
| ... | ... | @@ -4338,7 +4340,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4338 | 4340 | case 14: |
| 4339 | 4341 | switch (sel) { |
| 4340 | 4342 | case 0: |
| 4341 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 4343 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 4342 | 4344 | rn = "EPC"; |
| 4343 | 4345 | break; |
| 4344 | 4346 | default: |
| ... | ... | @@ -4348,12 +4350,12 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4348 | 4350 | case 15: |
| 4349 | 4351 | switch (sel) { |
| 4350 | 4352 | case 0: |
| 4351 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_PRid)); | |
| 4353 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_PRid)); | |
| 4352 | 4354 | rn = "PRid"; |
| 4353 | 4355 | break; |
| 4354 | 4356 | case 1: |
| 4355 | 4357 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4356 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_EBase)); | |
| 4358 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_EBase)); | |
| 4357 | 4359 | rn = "EBase"; |
| 4358 | 4360 | break; |
| 4359 | 4361 | default: |
| ... | ... | @@ -4363,28 +4365,28 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4363 | 4365 | case 16: |
| 4364 | 4366 | switch (sel) { |
| 4365 | 4367 | case 0: |
| 4366 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config0)); | |
| 4368 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config0)); | |
| 4367 | 4369 | rn = "Config"; |
| 4368 | 4370 | break; |
| 4369 | 4371 | case 1: |
| 4370 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config1)); | |
| 4372 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config1)); | |
| 4371 | 4373 | rn = "Config1"; |
| 4372 | 4374 | break; |
| 4373 | 4375 | case 2: |
| 4374 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config2)); | |
| 4376 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config2)); | |
| 4375 | 4377 | rn = "Config2"; |
| 4376 | 4378 | break; |
| 4377 | 4379 | case 3: |
| 4378 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config3)); | |
| 4380 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config3)); | |
| 4379 | 4381 | rn = "Config3"; |
| 4380 | 4382 | break; |
| 4381 | 4383 | /* 6,7 are implementation dependent */ |
| 4382 | 4384 | case 6: |
| 4383 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config6)); | |
| 4385 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config6)); | |
| 4384 | 4386 | rn = "Config6"; |
| 4385 | 4387 | break; |
| 4386 | 4388 | case 7: |
| 4387 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Config7)); | |
| 4389 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Config7)); | |
| 4388 | 4390 | rn = "Config7"; |
| 4389 | 4391 | break; |
| 4390 | 4392 | default: |
| ... | ... | @@ -4394,7 +4396,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4394 | 4396 | case 17: |
| 4395 | 4397 | switch (sel) { |
| 4396 | 4398 | case 0: |
| 4397 | - gen_helper_dmfc0_lladdr(t0); | |
| 4399 | + gen_helper_dmfc0_lladdr(arg); | |
| 4398 | 4400 | rn = "LLAddr"; |
| 4399 | 4401 | break; |
| 4400 | 4402 | default: |
| ... | ... | @@ -4404,7 +4406,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4404 | 4406 | case 18: |
| 4405 | 4407 | switch (sel) { |
| 4406 | 4408 | case 0 ... 7: |
| 4407 | - gen_helper_1i(dmfc0_watchlo, t0, sel); | |
| 4409 | + gen_helper_1i(dmfc0_watchlo, arg, sel); | |
| 4408 | 4410 | rn = "WatchLo"; |
| 4409 | 4411 | break; |
| 4410 | 4412 | default: |
| ... | ... | @@ -4414,7 +4416,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4414 | 4416 | case 19: |
| 4415 | 4417 | switch (sel) { |
| 4416 | 4418 | case 0 ... 7: |
| 4417 | - gen_helper_1i(mfc0_watchhi, t0, sel); | |
| 4419 | + gen_helper_1i(mfc0_watchhi, arg, sel); | |
| 4418 | 4420 | rn = "WatchHi"; |
| 4419 | 4421 | break; |
| 4420 | 4422 | default: |
| ... | ... | @@ -4425,7 +4427,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4425 | 4427 | switch (sel) { |
| 4426 | 4428 | case 0: |
| 4427 | 4429 | check_insn(env, ctx, ISA_MIPS3); |
| 4428 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_XContext)); | |
| 4430 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_XContext)); | |
| 4429 | 4431 | rn = "XContext"; |
| 4430 | 4432 | break; |
| 4431 | 4433 | default: |
| ... | ... | @@ -4436,7 +4438,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4436 | 4438 | /* Officially reserved, but sel 0 is used for R1x000 framemask */ |
| 4437 | 4439 | switch (sel) { |
| 4438 | 4440 | case 0: |
| 4439 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Framemask)); | |
| 4441 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Framemask)); | |
| 4440 | 4442 | rn = "Framemask"; |
| 4441 | 4443 | break; |
| 4442 | 4444 | default: |
| ... | ... | @@ -4444,29 +4446,29 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4444 | 4446 | } |
| 4445 | 4447 | break; |
| 4446 | 4448 | case 22: |
| 4447 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 4449 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 4448 | 4450 | rn = "'Diagnostic"; /* implementation dependent */ |
| 4449 | 4451 | break; |
| 4450 | 4452 | case 23: |
| 4451 | 4453 | switch (sel) { |
| 4452 | 4454 | case 0: |
| 4453 | - gen_helper_mfc0_debug(t0); /* EJTAG support */ | |
| 4455 | + gen_helper_mfc0_debug(arg); /* EJTAG support */ | |
| 4454 | 4456 | rn = "Debug"; |
| 4455 | 4457 | break; |
| 4456 | 4458 | case 1: |
| 4457 | -// gen_helper_dmfc0_tracecontrol(t0); /* PDtrace support */ | |
| 4459 | +// gen_helper_dmfc0_tracecontrol(arg); /* PDtrace support */ | |
| 4458 | 4460 | rn = "TraceControl"; |
| 4459 | 4461 | // break; |
| 4460 | 4462 | case 2: |
| 4461 | -// gen_helper_dmfc0_tracecontrol2(t0); /* PDtrace support */ | |
| 4463 | +// gen_helper_dmfc0_tracecontrol2(arg); /* PDtrace support */ | |
| 4462 | 4464 | rn = "TraceControl2"; |
| 4463 | 4465 | // break; |
| 4464 | 4466 | case 3: |
| 4465 | -// gen_helper_dmfc0_usertracedata(t0); /* PDtrace support */ | |
| 4467 | +// gen_helper_dmfc0_usertracedata(arg); /* PDtrace support */ | |
| 4466 | 4468 | rn = "UserTraceData"; |
| 4467 | 4469 | // break; |
| 4468 | 4470 | case 4: |
| 4469 | -// gen_helper_dmfc0_tracebpc(t0); /* PDtrace support */ | |
| 4471 | +// gen_helper_dmfc0_tracebpc(arg); /* PDtrace support */ | |
| 4470 | 4472 | rn = "TraceBPC"; |
| 4471 | 4473 | // break; |
| 4472 | 4474 | default: |
| ... | ... | @@ -4477,7 +4479,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4477 | 4479 | switch (sel) { |
| 4478 | 4480 | case 0: |
| 4479 | 4481 | /* EJTAG support */ |
| 4480 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 4482 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 4481 | 4483 | rn = "DEPC"; |
| 4482 | 4484 | break; |
| 4483 | 4485 | default: |
| ... | ... | @@ -4487,35 +4489,35 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4487 | 4489 | case 25: |
| 4488 | 4490 | switch (sel) { |
| 4489 | 4491 | case 0: |
| 4490 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_Performance0)); | |
| 4492 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_Performance0)); | |
| 4491 | 4493 | rn = "Performance0"; |
| 4492 | 4494 | break; |
| 4493 | 4495 | case 1: |
| 4494 | -// gen_helper_dmfc0_performance1(t0); | |
| 4496 | +// gen_helper_dmfc0_performance1(arg); | |
| 4495 | 4497 | rn = "Performance1"; |
| 4496 | 4498 | // break; |
| 4497 | 4499 | case 2: |
| 4498 | -// gen_helper_dmfc0_performance2(t0); | |
| 4500 | +// gen_helper_dmfc0_performance2(arg); | |
| 4499 | 4501 | rn = "Performance2"; |
| 4500 | 4502 | // break; |
| 4501 | 4503 | case 3: |
| 4502 | -// gen_helper_dmfc0_performance3(t0); | |
| 4504 | +// gen_helper_dmfc0_performance3(arg); | |
| 4503 | 4505 | rn = "Performance3"; |
| 4504 | 4506 | // break; |
| 4505 | 4507 | case 4: |
| 4506 | -// gen_helper_dmfc0_performance4(t0); | |
| 4508 | +// gen_helper_dmfc0_performance4(arg); | |
| 4507 | 4509 | rn = "Performance4"; |
| 4508 | 4510 | // break; |
| 4509 | 4511 | case 5: |
| 4510 | -// gen_helper_dmfc0_performance5(t0); | |
| 4512 | +// gen_helper_dmfc0_performance5(arg); | |
| 4511 | 4513 | rn = "Performance5"; |
| 4512 | 4514 | // break; |
| 4513 | 4515 | case 6: |
| 4514 | -// gen_helper_dmfc0_performance6(t0); | |
| 4516 | +// gen_helper_dmfc0_performance6(arg); | |
| 4515 | 4517 | rn = "Performance6"; |
| 4516 | 4518 | // break; |
| 4517 | 4519 | case 7: |
| 4518 | -// gen_helper_dmfc0_performance7(t0); | |
| 4520 | +// gen_helper_dmfc0_performance7(arg); | |
| 4519 | 4521 | rn = "Performance7"; |
| 4520 | 4522 | // break; |
| 4521 | 4523 | default: |
| ... | ... | @@ -4523,14 +4525,14 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4523 | 4525 | } |
| 4524 | 4526 | break; |
| 4525 | 4527 | case 26: |
| 4526 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 4528 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 4527 | 4529 | rn = "ECC"; |
| 4528 | 4530 | break; |
| 4529 | 4531 | case 27: |
| 4530 | 4532 | switch (sel) { |
| 4531 | 4533 | /* ignored */ |
| 4532 | 4534 | case 0 ... 3: |
| 4533 | - tcg_gen_movi_tl(t0, 0); /* unimplemented */ | |
| 4535 | + tcg_gen_movi_tl(arg, 0); /* unimplemented */ | |
| 4534 | 4536 | rn = "CacheErr"; |
| 4535 | 4537 | break; |
| 4536 | 4538 | default: |
| ... | ... | @@ -4543,14 +4545,14 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4543 | 4545 | case 2: |
| 4544 | 4546 | case 4: |
| 4545 | 4547 | case 6: |
| 4546 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_TagLo)); | |
| 4548 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_TagLo)); | |
| 4547 | 4549 | rn = "TagLo"; |
| 4548 | 4550 | break; |
| 4549 | 4551 | case 1: |
| 4550 | 4552 | case 3: |
| 4551 | 4553 | case 5: |
| 4552 | 4554 | case 7: |
| 4553 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DataLo)); | |
| 4555 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DataLo)); | |
| 4554 | 4556 | rn = "DataLo"; |
| 4555 | 4557 | break; |
| 4556 | 4558 | default: |
| ... | ... | @@ -4563,14 +4565,14 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4563 | 4565 | case 2: |
| 4564 | 4566 | case 4: |
| 4565 | 4567 | case 6: |
| 4566 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_TagHi)); | |
| 4568 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_TagHi)); | |
| 4567 | 4569 | rn = "TagHi"; |
| 4568 | 4570 | break; |
| 4569 | 4571 | case 1: |
| 4570 | 4572 | case 3: |
| 4571 | 4573 | case 5: |
| 4572 | 4574 | case 7: |
| 4573 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DataHi)); | |
| 4575 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DataHi)); | |
| 4574 | 4576 | rn = "DataHi"; |
| 4575 | 4577 | break; |
| 4576 | 4578 | default: |
| ... | ... | @@ -4580,7 +4582,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4580 | 4582 | case 30: |
| 4581 | 4583 | switch (sel) { |
| 4582 | 4584 | case 0: |
| 4583 | - tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 4585 | + tcg_gen_ld_tl(arg, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 4584 | 4586 | rn = "ErrorEPC"; |
| 4585 | 4587 | break; |
| 4586 | 4588 | default: |
| ... | ... | @@ -4591,7 +4593,7 @@ static void gen_dmfc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4591 | 4593 | switch (sel) { |
| 4592 | 4594 | case 0: |
| 4593 | 4595 | /* EJTAG support */ |
| 4594 | - gen_mfc0_load32(t0, offsetof(CPUState, CP0_DESAVE)); | |
| 4596 | + gen_mfc0_load32(arg, offsetof(CPUState, CP0_DESAVE)); | |
| 4595 | 4597 | rn = "DESAVE"; |
| 4596 | 4598 | break; |
| 4597 | 4599 | default: |
| ... | ... | @@ -4609,7 +4611,7 @@ die: |
| 4609 | 4611 | generate_exception(ctx, EXCP_RI); |
| 4610 | 4612 | } |
| 4611 | 4613 | |
| 4612 | -static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int sel) | |
| 4614 | +static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv arg, int reg, int sel) | |
| 4613 | 4615 | { |
| 4614 | 4616 | const char *rn = "invalid"; |
| 4615 | 4617 | |
| ... | ... | @@ -4623,12 +4625,12 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4623 | 4625 | case 0: |
| 4624 | 4626 | switch (sel) { |
| 4625 | 4627 | case 0: |
| 4626 | - gen_helper_mtc0_index(t0); | |
| 4628 | + gen_helper_mtc0_index(arg); | |
| 4627 | 4629 | rn = "Index"; |
| 4628 | 4630 | break; |
| 4629 | 4631 | case 1: |
| 4630 | 4632 | check_insn(env, ctx, ASE_MT); |
| 4631 | - gen_helper_mtc0_mvpcontrol(t0); | |
| 4633 | + gen_helper_mtc0_mvpcontrol(arg); | |
| 4632 | 4634 | rn = "MVPControl"; |
| 4633 | 4635 | break; |
| 4634 | 4636 | case 2: |
| ... | ... | @@ -4653,37 +4655,37 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4653 | 4655 | break; |
| 4654 | 4656 | case 1: |
| 4655 | 4657 | check_insn(env, ctx, ASE_MT); |
| 4656 | - gen_helper_mtc0_vpecontrol(t0); | |
| 4658 | + gen_helper_mtc0_vpecontrol(arg); | |
| 4657 | 4659 | rn = "VPEControl"; |
| 4658 | 4660 | break; |
| 4659 | 4661 | case 2: |
| 4660 | 4662 | check_insn(env, ctx, ASE_MT); |
| 4661 | - gen_helper_mtc0_vpeconf0(t0); | |
| 4663 | + gen_helper_mtc0_vpeconf0(arg); | |
| 4662 | 4664 | rn = "VPEConf0"; |
| 4663 | 4665 | break; |
| 4664 | 4666 | case 3: |
| 4665 | 4667 | check_insn(env, ctx, ASE_MT); |
| 4666 | - gen_helper_mtc0_vpeconf1(t0); | |
| 4668 | + gen_helper_mtc0_vpeconf1(arg); | |
| 4667 | 4669 | rn = "VPEConf1"; |
| 4668 | 4670 | break; |
| 4669 | 4671 | case 4: |
| 4670 | 4672 | check_insn(env, ctx, ASE_MT); |
| 4671 | - gen_helper_mtc0_yqmask(t0); | |
| 4673 | + gen_helper_mtc0_yqmask(arg); | |
| 4672 | 4674 | rn = "YQMask"; |
| 4673 | 4675 | break; |
| 4674 | 4676 | case 5: |
| 4675 | 4677 | check_insn(env, ctx, ASE_MT); |
| 4676 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_VPESchedule)); | |
| 4678 | + tcg_gen_st_tl(arg, cpu_env, offsetof(CPUState, CP0_VPESchedule)); | |
| 4677 | 4679 | rn = "VPESchedule"; |
| 4678 | 4680 | break; |
| 4679 | 4681 | case 6: |
| 4680 | 4682 | check_insn(env, ctx, ASE_MT); |
| 4681 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 4683 | + tcg_gen_st_tl(arg, cpu_env, offsetof(CPUState, CP0_VPEScheFBack)); | |
| 4682 | 4684 | rn = "VPEScheFBack"; |
| 4683 | 4685 | break; |
| 4684 | 4686 | case 7: |
| 4685 | 4687 | check_insn(env, ctx, ASE_MT); |
| 4686 | - gen_helper_mtc0_vpeopt(t0); | |
| 4688 | + gen_helper_mtc0_vpeopt(arg); | |
| 4687 | 4689 | rn = "VPEOpt"; |
| 4688 | 4690 | break; |
| 4689 | 4691 | default: |
| ... | ... | @@ -4693,42 +4695,42 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4693 | 4695 | case 2: |
| 4694 | 4696 | switch (sel) { |
| 4695 | 4697 | case 0: |
| 4696 | - gen_helper_mtc0_entrylo0(t0); | |
| 4698 | + gen_helper_mtc0_entrylo0(arg); | |
| 4697 | 4699 | rn = "EntryLo0"; |
| 4698 | 4700 | break; |
| 4699 | 4701 | case 1: |
| 4700 | 4702 | check_insn(env, ctx, ASE_MT); |
| 4701 | - gen_helper_mtc0_tcstatus(t0); | |
| 4703 | + gen_helper_mtc0_tcstatus(arg); | |
| 4702 | 4704 | rn = "TCStatus"; |
| 4703 | 4705 | break; |
| 4704 | 4706 | case 2: |
| 4705 | 4707 | check_insn(env, ctx, ASE_MT); |
| 4706 | - gen_helper_mtc0_tcbind(t0); | |
| 4708 | + gen_helper_mtc0_tcbind(arg); | |
| 4707 | 4709 | rn = "TCBind"; |
| 4708 | 4710 | break; |
| 4709 | 4711 | case 3: |
| 4710 | 4712 | check_insn(env, ctx, ASE_MT); |
| 4711 | - gen_helper_mtc0_tcrestart(t0); | |
| 4713 | + gen_helper_mtc0_tcrestart(arg); | |
| 4712 | 4714 | rn = "TCRestart"; |
| 4713 | 4715 | break; |
| 4714 | 4716 | case 4: |
| 4715 | 4717 | check_insn(env, ctx, ASE_MT); |
| 4716 | - gen_helper_mtc0_tchalt(t0); | |
| 4718 | + gen_helper_mtc0_tchalt(arg); | |
| 4717 | 4719 | rn = "TCHalt"; |
| 4718 | 4720 | break; |
| 4719 | 4721 | case 5: |
| 4720 | 4722 | check_insn(env, ctx, ASE_MT); |
| 4721 | - gen_helper_mtc0_tccontext(t0); | |
| 4723 | + gen_helper_mtc0_tccontext(arg); | |
| 4722 | 4724 | rn = "TCContext"; |
| 4723 | 4725 | break; |
| 4724 | 4726 | case 6: |
| 4725 | 4727 | check_insn(env, ctx, ASE_MT); |
| 4726 | - gen_helper_mtc0_tcschedule(t0); | |
| 4728 | + gen_helper_mtc0_tcschedule(arg); | |
| 4727 | 4729 | rn = "TCSchedule"; |
| 4728 | 4730 | break; |
| 4729 | 4731 | case 7: |
| 4730 | 4732 | check_insn(env, ctx, ASE_MT); |
| 4731 | - gen_helper_mtc0_tcschefback(t0); | |
| 4733 | + gen_helper_mtc0_tcschefback(arg); | |
| 4732 | 4734 | rn = "TCScheFBack"; |
| 4733 | 4735 | break; |
| 4734 | 4736 | default: |
| ... | ... | @@ -4738,7 +4740,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4738 | 4740 | case 3: |
| 4739 | 4741 | switch (sel) { |
| 4740 | 4742 | case 0: |
| 4741 | - gen_helper_mtc0_entrylo1(t0); | |
| 4743 | + gen_helper_mtc0_entrylo1(arg); | |
| 4742 | 4744 | rn = "EntryLo1"; |
| 4743 | 4745 | break; |
| 4744 | 4746 | default: |
| ... | ... | @@ -4748,11 +4750,11 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4748 | 4750 | case 4: |
| 4749 | 4751 | switch (sel) { |
| 4750 | 4752 | case 0: |
| 4751 | - gen_helper_mtc0_context(t0); | |
| 4753 | + gen_helper_mtc0_context(arg); | |
| 4752 | 4754 | rn = "Context"; |
| 4753 | 4755 | break; |
| 4754 | 4756 | case 1: |
| 4755 | -// gen_helper_mtc0_contextconfig(t0); /* SmartMIPS ASE */ | |
| 4757 | +// gen_helper_mtc0_contextconfig(arg); /* SmartMIPS ASE */ | |
| 4756 | 4758 | rn = "ContextConfig"; |
| 4757 | 4759 | // break; |
| 4758 | 4760 | default: |
| ... | ... | @@ -4762,12 +4764,12 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4762 | 4764 | case 5: |
| 4763 | 4765 | switch (sel) { |
| 4764 | 4766 | case 0: |
| 4765 | - gen_helper_mtc0_pagemask(t0); | |
| 4767 | + gen_helper_mtc0_pagemask(arg); | |
| 4766 | 4768 | rn = "PageMask"; |
| 4767 | 4769 | break; |
| 4768 | 4770 | case 1: |
| 4769 | 4771 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4770 | - gen_helper_mtc0_pagegrain(t0); | |
| 4772 | + gen_helper_mtc0_pagegrain(arg); | |
| 4771 | 4773 | rn = "PageGrain"; |
| 4772 | 4774 | break; |
| 4773 | 4775 | default: |
| ... | ... | @@ -4777,32 +4779,32 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4777 | 4779 | case 6: |
| 4778 | 4780 | switch (sel) { |
| 4779 | 4781 | case 0: |
| 4780 | - gen_helper_mtc0_wired(t0); | |
| 4782 | + gen_helper_mtc0_wired(arg); | |
| 4781 | 4783 | rn = "Wired"; |
| 4782 | 4784 | break; |
| 4783 | 4785 | case 1: |
| 4784 | 4786 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4785 | - gen_helper_mtc0_srsconf0(t0); | |
| 4787 | + gen_helper_mtc0_srsconf0(arg); | |
| 4786 | 4788 | rn = "SRSConf0"; |
| 4787 | 4789 | break; |
| 4788 | 4790 | case 2: |
| 4789 | 4791 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4790 | - gen_helper_mtc0_srsconf1(t0); | |
| 4792 | + gen_helper_mtc0_srsconf1(arg); | |
| 4791 | 4793 | rn = "SRSConf1"; |
| 4792 | 4794 | break; |
| 4793 | 4795 | case 3: |
| 4794 | 4796 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4795 | - gen_helper_mtc0_srsconf2(t0); | |
| 4797 | + gen_helper_mtc0_srsconf2(arg); | |
| 4796 | 4798 | rn = "SRSConf2"; |
| 4797 | 4799 | break; |
| 4798 | 4800 | case 4: |
| 4799 | 4801 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4800 | - gen_helper_mtc0_srsconf3(t0); | |
| 4802 | + gen_helper_mtc0_srsconf3(arg); | |
| 4801 | 4803 | rn = "SRSConf3"; |
| 4802 | 4804 | break; |
| 4803 | 4805 | case 5: |
| 4804 | 4806 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4805 | - gen_helper_mtc0_srsconf4(t0); | |
| 4807 | + gen_helper_mtc0_srsconf4(arg); | |
| 4806 | 4808 | rn = "SRSConf4"; |
| 4807 | 4809 | break; |
| 4808 | 4810 | default: |
| ... | ... | @@ -4813,7 +4815,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4813 | 4815 | switch (sel) { |
| 4814 | 4816 | case 0: |
| 4815 | 4817 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4816 | - gen_helper_mtc0_hwrena(t0); | |
| 4818 | + gen_helper_mtc0_hwrena(arg); | |
| 4817 | 4819 | rn = "HWREna"; |
| 4818 | 4820 | break; |
| 4819 | 4821 | default: |
| ... | ... | @@ -4827,7 +4829,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4827 | 4829 | case 9: |
| 4828 | 4830 | switch (sel) { |
| 4829 | 4831 | case 0: |
| 4830 | - gen_helper_mtc0_count(t0); | |
| 4832 | + gen_helper_mtc0_count(arg); | |
| 4831 | 4833 | rn = "Count"; |
| 4832 | 4834 | break; |
| 4833 | 4835 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -4840,7 +4842,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4840 | 4842 | case 10: |
| 4841 | 4843 | switch (sel) { |
| 4842 | 4844 | case 0: |
| 4843 | - gen_helper_mtc0_entryhi(t0); | |
| 4845 | + gen_helper_mtc0_entryhi(arg); | |
| 4844 | 4846 | rn = "EntryHi"; |
| 4845 | 4847 | break; |
| 4846 | 4848 | default: |
| ... | ... | @@ -4850,7 +4852,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4850 | 4852 | case 11: |
| 4851 | 4853 | switch (sel) { |
| 4852 | 4854 | case 0: |
| 4853 | - gen_helper_mtc0_compare(t0); | |
| 4855 | + gen_helper_mtc0_compare(arg); | |
| 4854 | 4856 | rn = "Compare"; |
| 4855 | 4857 | break; |
| 4856 | 4858 | /* 6,7 are implementation dependent */ |
| ... | ... | @@ -4864,7 +4866,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4864 | 4866 | switch (sel) { |
| 4865 | 4867 | case 0: |
| 4866 | 4868 | save_cpu_state(ctx, 1); |
| 4867 | - gen_helper_mtc0_status(t0); | |
| 4869 | + gen_helper_mtc0_status(arg); | |
| 4868 | 4870 | /* BS_STOP isn't good enough here, hflags may have changed. */ |
| 4869 | 4871 | gen_save_pc(ctx->pc + 4); |
| 4870 | 4872 | ctx->bstate = BS_EXCP; |
| ... | ... | @@ -4872,21 +4874,21 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4872 | 4874 | break; |
| 4873 | 4875 | case 1: |
| 4874 | 4876 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4875 | - gen_helper_mtc0_intctl(t0); | |
| 4877 | + gen_helper_mtc0_intctl(arg); | |
| 4876 | 4878 | /* Stop translation as we may have switched the execution mode */ |
| 4877 | 4879 | ctx->bstate = BS_STOP; |
| 4878 | 4880 | rn = "IntCtl"; |
| 4879 | 4881 | break; |
| 4880 | 4882 | case 2: |
| 4881 | 4883 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4882 | - gen_helper_mtc0_srsctl(t0); | |
| 4884 | + gen_helper_mtc0_srsctl(arg); | |
| 4883 | 4885 | /* Stop translation as we may have switched the execution mode */ |
| 4884 | 4886 | ctx->bstate = BS_STOP; |
| 4885 | 4887 | rn = "SRSCtl"; |
| 4886 | 4888 | break; |
| 4887 | 4889 | case 3: |
| 4888 | 4890 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4889 | - gen_mtc0_store32(t0, offsetof(CPUState, CP0_SRSMap)); | |
| 4891 | + gen_mtc0_store32(arg, offsetof(CPUState, CP0_SRSMap)); | |
| 4890 | 4892 | /* Stop translation as we may have switched the execution mode */ |
| 4891 | 4893 | ctx->bstate = BS_STOP; |
| 4892 | 4894 | rn = "SRSMap"; |
| ... | ... | @@ -4899,7 +4901,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4899 | 4901 | switch (sel) { |
| 4900 | 4902 | case 0: |
| 4901 | 4903 | save_cpu_state(ctx, 1); |
| 4902 | - gen_helper_mtc0_cause(t0); | |
| 4904 | + gen_helper_mtc0_cause(arg); | |
| 4903 | 4905 | rn = "Cause"; |
| 4904 | 4906 | break; |
| 4905 | 4907 | default: |
| ... | ... | @@ -4909,7 +4911,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4909 | 4911 | case 14: |
| 4910 | 4912 | switch (sel) { |
| 4911 | 4913 | case 0: |
| 4912 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 4914 | + tcg_gen_st_tl(arg, cpu_env, offsetof(CPUState, CP0_EPC)); | |
| 4913 | 4915 | rn = "EPC"; |
| 4914 | 4916 | break; |
| 4915 | 4917 | default: |
| ... | ... | @@ -4924,7 +4926,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4924 | 4926 | break; |
| 4925 | 4927 | case 1: |
| 4926 | 4928 | check_insn(env, ctx, ISA_MIPS32R2); |
| 4927 | - gen_helper_mtc0_ebase(t0); | |
| 4929 | + gen_helper_mtc0_ebase(arg); | |
| 4928 | 4930 | rn = "EBase"; |
| 4929 | 4931 | break; |
| 4930 | 4932 | default: |
| ... | ... | @@ -4934,7 +4936,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4934 | 4936 | case 16: |
| 4935 | 4937 | switch (sel) { |
| 4936 | 4938 | case 0: |
| 4937 | - gen_helper_mtc0_config0(t0); | |
| 4939 | + gen_helper_mtc0_config0(arg); | |
| 4938 | 4940 | rn = "Config"; |
| 4939 | 4941 | /* Stop translation as we may have switched the execution mode */ |
| 4940 | 4942 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -4944,7 +4946,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4944 | 4946 | rn = "Config1"; |
| 4945 | 4947 | break; |
| 4946 | 4948 | case 2: |
| 4947 | - gen_helper_mtc0_config2(t0); | |
| 4949 | + gen_helper_mtc0_config2(arg); | |
| 4948 | 4950 | rn = "Config2"; |
| 4949 | 4951 | /* Stop translation as we may have switched the execution mode */ |
| 4950 | 4952 | ctx->bstate = BS_STOP; |
| ... | ... | @@ -4972,7 +4974,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4972 | 4974 | case 18: |
| 4973 | 4975 | switch (sel) { |
| 4974 | 4976 | case 0 ... 7: |
| 4975 | - gen_helper_1i(mtc0_watchlo, t0, sel); | |
| 4977 | + gen_helper_1i(mtc0_watchlo, arg, sel); | |
| 4976 | 4978 | rn = "WatchLo"; |
| 4977 | 4979 | break; |
| 4978 | 4980 | default: |
| ... | ... | @@ -4982,7 +4984,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4982 | 4984 | case 19: |
| 4983 | 4985 | switch (sel) { |
| 4984 | 4986 | case 0 ... 7: |
| 4985 | - gen_helper_1i(mtc0_watchhi, t0, sel); | |
| 4987 | + gen_helper_1i(mtc0_watchhi, arg, sel); | |
| 4986 | 4988 | rn = "WatchHi"; |
| 4987 | 4989 | break; |
| 4988 | 4990 | default: |
| ... | ... | @@ -4993,7 +4995,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 4993 | 4995 | switch (sel) { |
| 4994 | 4996 | case 0: |
| 4995 | 4997 | check_insn(env, ctx, ISA_MIPS3); |
| 4996 | - gen_helper_mtc0_xcontext(t0); | |
| 4998 | + gen_helper_mtc0_xcontext(arg); | |
| 4997 | 4999 | rn = "XContext"; |
| 4998 | 5000 | break; |
| 4999 | 5001 | default: |
| ... | ... | @@ -5004,7 +5006,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5004 | 5006 | /* Officially reserved, but sel 0 is used for R1x000 framemask */ |
| 5005 | 5007 | switch (sel) { |
| 5006 | 5008 | case 0: |
| 5007 | - gen_helper_mtc0_framemask(t0); | |
| 5009 | + gen_helper_mtc0_framemask(arg); | |
| 5008 | 5010 | rn = "Framemask"; |
| 5009 | 5011 | break; |
| 5010 | 5012 | default: |
| ... | ... | @@ -5018,32 +5020,32 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5018 | 5020 | case 23: |
| 5019 | 5021 | switch (sel) { |
| 5020 | 5022 | case 0: |
| 5021 | - gen_helper_mtc0_debug(t0); /* EJTAG support */ | |
| 5023 | + gen_helper_mtc0_debug(arg); /* EJTAG support */ | |
| 5022 | 5024 | /* BS_STOP isn't good enough here, hflags may have changed. */ |
| 5023 | 5025 | gen_save_pc(ctx->pc + 4); |
| 5024 | 5026 | ctx->bstate = BS_EXCP; |
| 5025 | 5027 | rn = "Debug"; |
| 5026 | 5028 | break; |
| 5027 | 5029 | case 1: |
| 5028 | -// gen_helper_mtc0_tracecontrol(t0); /* PDtrace support */ | |
| 5030 | +// gen_helper_mtc0_tracecontrol(arg); /* PDtrace support */ | |
| 5029 | 5031 | /* Stop translation as we may have switched the execution mode */ |
| 5030 | 5032 | ctx->bstate = BS_STOP; |
| 5031 | 5033 | rn = "TraceControl"; |
| 5032 | 5034 | // break; |
| 5033 | 5035 | case 2: |
| 5034 | -// gen_helper_mtc0_tracecontrol2(t0); /* PDtrace support */ | |
| 5036 | +// gen_helper_mtc0_tracecontrol2(arg); /* PDtrace support */ | |
| 5035 | 5037 | /* Stop translation as we may have switched the execution mode */ |
| 5036 | 5038 | ctx->bstate = BS_STOP; |
| 5037 | 5039 | rn = "TraceControl2"; |
| 5038 | 5040 | // break; |
| 5039 | 5041 | case 3: |
| 5040 | -// gen_helper_mtc0_usertracedata(t0); /* PDtrace support */ | |
| 5042 | +// gen_helper_mtc0_usertracedata(arg); /* PDtrace support */ | |
| 5041 | 5043 | /* Stop translation as we may have switched the execution mode */ |
| 5042 | 5044 | ctx->bstate = BS_STOP; |
| 5043 | 5045 | rn = "UserTraceData"; |
| 5044 | 5046 | // break; |
| 5045 | 5047 | case 4: |
| 5046 | -// gen_helper_mtc0_tracebpc(t0); /* PDtrace support */ | |
| 5048 | +// gen_helper_mtc0_tracebpc(arg); /* PDtrace support */ | |
| 5047 | 5049 | /* Stop translation as we may have switched the execution mode */ |
| 5048 | 5050 | ctx->bstate = BS_STOP; |
| 5049 | 5051 | rn = "TraceBPC"; |
| ... | ... | @@ -5056,7 +5058,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5056 | 5058 | switch (sel) { |
| 5057 | 5059 | case 0: |
| 5058 | 5060 | /* EJTAG support */ |
| 5059 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 5061 | + tcg_gen_st_tl(arg, cpu_env, offsetof(CPUState, CP0_DEPC)); | |
| 5060 | 5062 | rn = "DEPC"; |
| 5061 | 5063 | break; |
| 5062 | 5064 | default: |
| ... | ... | @@ -5066,35 +5068,35 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5066 | 5068 | case 25: |
| 5067 | 5069 | switch (sel) { |
| 5068 | 5070 | case 0: |
| 5069 | - gen_helper_mtc0_performance0(t0); | |
| 5071 | + gen_helper_mtc0_performance0(arg); | |
| 5070 | 5072 | rn = "Performance0"; |
| 5071 | 5073 | break; |
| 5072 | 5074 | case 1: |
| 5073 | -// gen_helper_mtc0_performance1(t0); | |
| 5075 | +// gen_helper_mtc0_performance1(arg); | |
| 5074 | 5076 | rn = "Performance1"; |
| 5075 | 5077 | // break; |
| 5076 | 5078 | case 2: |
| 5077 | -// gen_helper_mtc0_performance2(t0); | |
| 5079 | +// gen_helper_mtc0_performance2(arg); | |
| 5078 | 5080 | rn = "Performance2"; |
| 5079 | 5081 | // break; |
| 5080 | 5082 | case 3: |
| 5081 | -// gen_helper_mtc0_performance3(t0); | |
| 5083 | +// gen_helper_mtc0_performance3(arg); | |
| 5082 | 5084 | rn = "Performance3"; |
| 5083 | 5085 | // break; |
| 5084 | 5086 | case 4: |
| 5085 | -// gen_helper_mtc0_performance4(t0); | |
| 5087 | +// gen_helper_mtc0_performance4(arg); | |
| 5086 | 5088 | rn = "Performance4"; |
| 5087 | 5089 | // break; |
| 5088 | 5090 | case 5: |
| 5089 | -// gen_helper_mtc0_performance5(t0); | |
| 5091 | +// gen_helper_mtc0_performance5(arg); | |
| 5090 | 5092 | rn = "Performance5"; |
| 5091 | 5093 | // break; |
| 5092 | 5094 | case 6: |
| 5093 | -// gen_helper_mtc0_performance6(t0); | |
| 5095 | +// gen_helper_mtc0_performance6(arg); | |
| 5094 | 5096 | rn = "Performance6"; |
| 5095 | 5097 | // break; |
| 5096 | 5098 | case 7: |
| 5097 | -// gen_helper_mtc0_performance7(t0); | |
| 5099 | +// gen_helper_mtc0_performance7(arg); | |
| 5098 | 5100 | rn = "Performance7"; |
| 5099 | 5101 | // break; |
| 5100 | 5102 | default: |
| ... | ... | @@ -5121,14 +5123,14 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5121 | 5123 | case 2: |
| 5122 | 5124 | case 4: |
| 5123 | 5125 | case 6: |
| 5124 | - gen_helper_mtc0_taglo(t0); | |
| 5126 | + gen_helper_mtc0_taglo(arg); | |
| 5125 | 5127 | rn = "TagLo"; |
| 5126 | 5128 | break; |
| 5127 | 5129 | case 1: |
| 5128 | 5130 | case 3: |
| 5129 | 5131 | case 5: |
| 5130 | 5132 | case 7: |
| 5131 | - gen_helper_mtc0_datalo(t0); | |
| 5133 | + gen_helper_mtc0_datalo(arg); | |
| 5132 | 5134 | rn = "DataLo"; |
| 5133 | 5135 | break; |
| 5134 | 5136 | default: |
| ... | ... | @@ -5141,14 +5143,14 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5141 | 5143 | case 2: |
| 5142 | 5144 | case 4: |
| 5143 | 5145 | case 6: |
| 5144 | - gen_helper_mtc0_taghi(t0); | |
| 5146 | + gen_helper_mtc0_taghi(arg); | |
| 5145 | 5147 | rn = "TagHi"; |
| 5146 | 5148 | break; |
| 5147 | 5149 | case 1: |
| 5148 | 5150 | case 3: |
| 5149 | 5151 | case 5: |
| 5150 | 5152 | case 7: |
| 5151 | - gen_helper_mtc0_datahi(t0); | |
| 5153 | + gen_helper_mtc0_datahi(arg); | |
| 5152 | 5154 | rn = "DataHi"; |
| 5153 | 5155 | break; |
| 5154 | 5156 | default: |
| ... | ... | @@ -5159,7 +5161,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5159 | 5161 | case 30: |
| 5160 | 5162 | switch (sel) { |
| 5161 | 5163 | case 0: |
| 5162 | - tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 5164 | + tcg_gen_st_tl(arg, cpu_env, offsetof(CPUState, CP0_ErrorEPC)); | |
| 5163 | 5165 | rn = "ErrorEPC"; |
| 5164 | 5166 | break; |
| 5165 | 5167 | default: |
| ... | ... | @@ -5170,7 +5172,7 @@ static void gen_dmtc0 (CPUState *env, DisasContext *ctx, TCGv t0, int reg, int s |
| 5170 | 5172 | switch (sel) { |
| 5171 | 5173 | case 0: |
| 5172 | 5174 | /* EJTAG support */ |
| 5173 | - gen_mtc0_store32(t0, offsetof(CPUState, CP0_DESAVE)); | |
| 5175 | + gen_mtc0_store32(arg, offsetof(CPUState, CP0_DESAVE)); | |
| 5174 | 5176 | rn = "DESAVE"; |
| 5175 | 5177 | break; |
| 5176 | 5178 | default: | ... | ... |