diff --git a/qemu/target-i386/unicorn.c b/qemu/target-i386/unicorn.c index ac0ebabd..7fdb5055 100644 --- a/qemu/target-i386/unicorn.c +++ b/qemu/target-i386/unicorn.c @@ -123,11 +123,11 @@ void x86_reg_reset(uch handle) default: break; case UC_MODE_32: - env->hflags |= HF_CS32_MASK | HF_SS32_MASK; + env->hflags |= HF_CS32_MASK | HF_SS32_MASK | HF_OSFXSR_MASK; env->cr[0] = CR0_PE_MASK; // protected mode break; case UC_MODE_64: - env->hflags |= HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK | HF_LMA_MASK; + env->hflags |= HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK | HF_LMA_MASK | HF_OSFXSR_MASK; env->hflags &= ~(HF_ADDSEG_MASK); env->cr[0] = CR0_PE_MASK; // protected mode break;