From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH 0/30] nVMX: Nested VMX, v9 Date: Mon, 16 May 2011 10:57:38 +0300 Message-ID: <20110516075738.GN19019@redhat.com> References: <4DC7CD81.2070305@redhat.com> <20110511082027.GG19019@redhat.com> <20110512154228.GA7943@fermat.math.technion.ac.il> <20110512155727.GA20193@redhat.com> <20110512163115.GA13138@fermat.math.technion.ac.il> <20110512165157.GC20193@redhat.com> <4DCC123B.3080006@redhat.com> <20110515231140.GA17294@fermat.math.technion.ac.il> <20110516063847.GM19019@redhat.com> <20110516074428.GA27867@fermat.math.technion.ac.il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , kvm@vger.kernel.org, abelg@il.ibm.com To: "Nadav Har'El" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:27353 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751797Ab1EPH5o (ORCPT ); Mon, 16 May 2011 03:57:44 -0400 Content-Disposition: inline In-Reply-To: <20110516074428.GA27867@fermat.math.technion.ac.il> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, May 16, 2011 at 10:44:28AM +0300, Nadav Har'El wrote: > On Mon, May 16, 2011, Gleb Natapov wrote about "Re: [PATCH 0/30] nVMX: Nested VMX, v9": > > > Hi, I can quite easily save this state in a different place which is saved - > > > The easiest will just be to use vmcs12, which has place for exactly the fields > > > we want to save (and they are rewritten anyway when we exit to L1). > > > > > This will not address the problem that the state will not be visible to > > generic logic in x86.c. > > Maybe I misunderstood your intention, but given that vmcs12 is in guest > memory, which is migrated as well, isn't that enough (for the live migration > issue)? > I pointed two issues. Migration was a second and minor one since there is a long why before migration will work with nested guest anyway. The first one was much more important, so let me repeat it again. To move nested event handling into generic code IDT vectoring info has to be parsed into data structure that event injection code in x86.c actually works with. And that code does not manipulate vmx->idt_vectoring_info or SVM analog directly, but it works with event queue instead. SVM does this right and there is nothing I can see that prevents moving SVM logic into x86.c. I don't see how your VMX logic can be moved into x86.c as is since it works on internal VMX fields directly. -- Gleb.