lkml.org 
[lkml]   [2015]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 08/13] KVM: x86: stubs for SMM support
2015-05-05 14:38-0400, Bandan Das:
> Radim Krčmář <rkrcmar@redhat.com> 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..

The relevant part is "SMM-transfer monitor (STM) can" -- you can't be
STM without IA32_VMX_MISC[15] and a bunch of other stuff.

Testing on real hardware would be the best way to tell ...
(Till we know, I'm okay with anything.)

> >> @@ -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.

Agreed.


\
 
 \ /
  Last update: 2015-05-05 21:21    [W:0.276 / U:0.788 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site