i386: set MSR IA32_EFER to correct value at init for IA32e Mode (#1047)

Backports commit 536c4e77c4350fac3e5c2b9b57d8c16f69b934d3 from unicorn.
This commit is contained in:
BrunoPujos 2019-02-28 16:49:24 -05:00 committed by Lioncash
parent 50a570e126
commit 1d4bfd9aca
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -158,6 +158,7 @@ void x86_reg_reset(struct uc_struct *uc)
case UC_MODE_64:
env->hflags |= HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK | HF_LMA_MASK | HF_OSFXSR_MASK;
env->hflags &= ~(HF_ADDSEG_MASK);
env->efer |= MSR_EFER_LMA | MSR_EFER_LME; // extended mode activated
cpu_x86_update_cr0(env, CR0_PE_MASK); // protected mode
break;
}