Radim Krčmář <rkrcmar@xxxxxxxxxx> writes: ... >> + break; > > (I'm not sure if this is supported if IA32_VMX_BASIC[49] = 0. > 34.15.6.4 Saving Guest State > The SMM-transfer monitor (STM) can also discover the current value of > the SMBASE register by using the RDMSR > > but it's not possible to get into STM without having a support for it > noted in IA32_VMX_BASIC[49] and more magic we also don't emulate to > actually enable it.) Where does it mention IA32_VMX_BASIC[49] ? I only see "IA32_VMX_MISC[15] should be 1" in 34.15.6.4. Anyway, I think we should do what the spec says.. >> @@ -7208,6 +7240,8 @@ void kvm_vcpu_reset(struct kvm_vcpu *vcpu) >> vcpu->arch.regs_avail = ~0; >> vcpu->arch.regs_dirty = ~0; >> >> + vcpu->arch.smbase = 0x30000; > > It's not reset on INIT, only on RESET. (34.11 SMBASE RELOCATION) I remember mentioning it elsewhere - IMO kvm_vcpu_reset() and kvm_vcpu_init() should really be two different interfaces. I don't mean code duplication - one can just call the other but different names will be of some help when it comes to the million places where the spec mentions INIT and RESET have different behavior. Bandan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html