Re: [PATCH 08/13] KVM: x86: stubs for SMM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux