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