Re: [PATCH 2/2] KVM: x86: Add kvm_x86_ops callback to allow VMX to stash away CR4.VMXE

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

 



On Wed, Mar 27, 2019 at 01:28:09PM -0700, Jim Mattson wrote:
> On Wed, Mar 27, 2019 at 1:20 PM Sean Christopherson
> <sean.j.christopherson@xxxxxxxxx> wrote:
> >
> > On Wed, Mar 27, 2019 at 12:50:27PM -0700, Jim Mattson wrote:
> > > Where does this state get saved/restored when suspending/resuming a
> > > VCPU that's in SMM?
> >
> > cr4_vmxe is handled by vmx_pre_smi_save_state() and
> > vmx_post_rsm_load_state().
> >
> > The existing vmxon and guest_mode are handled by post_smi_save_state()
> > and pre_rsm_load_state(), which were previously pre_{enter,leave}_smm().
> >
> > Ideally everything in the struct would be managed together, e.g. in
> > vmx_pre_smi_save_state() and vmx_post_rsm_load_state(), but I didn't
> > want to touch that house of cards at this time.
> >
> > And even more ideally, post_smi_save_state() and pre_rsm_load_state()
> > would be dropped altogether, e.g. the SVM code would also be reworked to
> > use pre_smi_save_state() and post_rsm_load_state(), but my SVM knowledge
> > is nowhere near sufficient to judge if that's even remotely feasible.
> 
> No; I meant which of the myriad KVM_GET_* and KVM_SET_* ioctls provide
> a mechanism to save and restore these tidbits of vCPU state (e.g. for
> live migration)?

Ah fudge.  KVM_{GET,SET}_NESTED_STATE, i.e. vmx_{get,set}_nested_state().
This patch would also need to add and handle KVM_STATE_NESTED_SMM_CR4_VMXE.



[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