Revision 129d8aa5 target-alpha/op_helper.c
b/target-alpha/op_helper.c | ||
---|---|---|
373 | 373 |
if (exc) { |
374 | 374 |
uint32_t hw_exc = 0; |
375 | 375 |
|
376 |
env->ipr[IPR_EXC_MASK] |= 1ull << regno;
|
|
376 |
env->trap_arg1 = 1ull << regno;
|
|
377 | 377 |
|
378 | 378 |
if (exc & float_flag_invalid) { |
379 | 379 |
hw_exc |= EXC_M_INV; |
... | ... | |
1159 | 1159 |
void helper_hw_ret (uint64_t a) |
1160 | 1160 |
{ |
1161 | 1161 |
env->pc = a & ~3; |
1162 |
env->ipr[IPR_EXC_ADDR] = a & 1;
|
|
1162 |
env->pal_mode = a & 1;
|
|
1163 | 1163 |
env->intr_flag = 0; |
1164 | 1164 |
env->lock_addr = -1; |
1165 | 1165 |
} |
1166 |
|
|
1167 |
uint64_t helper_mfpr (int iprn, uint64_t val) |
|
1168 |
{ |
|
1169 |
uint64_t tmp; |
|
1170 |
|
|
1171 |
if (cpu_alpha_mfpr(env, iprn, &tmp) == 0) |
|
1172 |
val = tmp; |
|
1173 |
|
|
1174 |
return val; |
|
1175 |
} |
|
1176 |
|
|
1177 |
void helper_mtpr (int iprn, uint64_t val) |
|
1178 |
{ |
|
1179 |
cpu_alpha_mtpr(env, iprn, val, NULL); |
|
1180 |
} |
|
1181 | 1166 |
#endif |
1182 | 1167 |
|
1183 | 1168 |
/*****************************************************************************/ |
Also available in: Unified diff