Revision 0411a972 linux-user/main.c
b/linux-user/main.c | ||
---|---|---|
2168 | 2168 |
} |
2169 | 2169 |
cpu_ppc_register(env, def); |
2170 | 2170 |
cpu_ppc_reset(env); |
2171 |
for (i = 0; i < 32; i++) { |
|
2172 |
if (i != 12 && i != 6 && i != 13) |
|
2173 |
env->msr[i] = (regs->msr >> i) & 1; |
|
2174 |
} |
|
2175 |
#if defined(TARGET_PPC64) && !defined(TARGET_ABI32) |
|
2176 |
msr_sf = 1; |
|
2171 |
env->msr = regs->msr & ~((1 << 6) | (1 << 12) | (1 << 13)); |
|
2172 |
#if defined(TARGET_PPC64) |
|
2173 |
#if defined(TARGET_ABI32) |
|
2174 |
env->msr &= ~((target_ulong)1 << MSR_SF); |
|
2177 | 2175 |
#else |
2178 |
msr_sf = 0; |
|
2176 |
env->msr |= (target_ulong)1 << MSR_SF; |
|
2177 |
#endif |
|
2179 | 2178 |
#endif |
2180 | 2179 |
env->nip = regs->nip; |
2181 | 2180 |
for(i = 0; i < 32; i++) { |
Also available in: Unified diff