From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Sheng" Subject: Re: [PATCH 3/3] Update VMX_EPT_IDENTITY_PAGETABLE_ADDR to synchronize with kernel code. Date: Fri, 17 Jul 2009 10:24:17 +0800 Message-ID: <200907171024.18217.sheng.yang@intel.com> References: <1247767342-13519-1-git-send-email-jordan.l.justen@intel.com> <1247770126.4285.11.camel@jljusten-desk2> <20090716191454.GC9074@amt.cnet> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: "Justen, Jordan L" , "kvm-devel" To: Marcelo Tosatti Return-path: Received: from mga14.intel.com ([143.182.124.37]:53286 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933942AbZGQCY2 (ORCPT ); Thu, 16 Jul 2009 22:24:28 -0400 In-Reply-To: <20090716191454.GC9074@amt.cnet> Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: On Friday 17 July 2009 03:14:54 Marcelo Tosatti wrote: > On Thu, Jul 16, 2009 at 11:48:46AM -0700, Jordan Justen wrote: > > On Thu, 2009-07-16 at 11:18 -0700, Marcelo Tosatti wrote: > > > On Thu, Jul 16, 2009 at 11:02:22AM -0700, Jordan Justen wrote: > > > > Although VMX_EPT_IDENTITY_PAGETABLE_ADDR does not appear to be used > > > > within qemu-kvm, this change mirrors a similar change in the kernel > > > > kvm code. > > > > > > > > The purpose is to move the KVM 'EPT Identity Pages' from: > > > > 0xfffbc000-0xfffbcfff > > > > to: > > > > 0xfeffc000-0xfeffcfff > > > > > > > > The step is required to free up the 0xff000000-0xffffffff (16MB) > > > > range for use with bios.bin. > > > > > > > > The KVM kernel change depends upon a change to kvm/bios/rombios.c so > > > > the bios INT15-E820 function will properly reserve the new location. > > > > > > > > Signed-off-by: Jordan Justen > > > > --- > > > > kvm/include/x86/asm/vmx.h | 2 +- > > > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > > > > > diff --git a/kvm/include/x86/asm/vmx.h b/kvm/include/x86/asm/vmx.h > > > > index df8d4f9..99e2bb9 100644 > > > > --- a/kvm/include/x86/asm/vmx.h > > > > +++ b/kvm/include/x86/asm/vmx.h > > > > @@ -403,7 +403,7 @@ enum vmcs_field { > > > > #define VMX_EPT_EXECUTABLE_MASK 0x4ull > > > > #define VMX_EPT_IGMT_BIT (1ull << 6) > > > > > > > > -#define VMX_EPT_IDENTITY_PAGETABLE_ADDR 0xfffbc000ul > > > > +#define VMX_EPT_IDENTITY_PAGETABLE_ADDR 0xfeffc000ul > > > > > > Won't this conflict with an older BIOS? (the e820 reserved entry on > > > older qemu-kvm+bios will not cover the EPT identity table on kernels > > > with this patch). > > > > > > Perhaps add a new ioctl (similar to the tss one) to so userspace can > > > set the address? > > > > I am not very familiar with the reasons why the EPT identity > > page-table setup is happening within the kernel. > > > > As it stands, there is the shared knowledge that the qemu-kvm bios > > just happens to know that the kvm kernel code has reserved a > > particular page of the address space. > > > > It would be much easier to coordinate all the pieces if it were > > all setup on the qemu-kvm side. > > > > Is this possible? > > It is possible but all of the EPT implementation is in the kernel, so it > does not make much sense to have the details of the identity table in > qemu-kvm. > > The address of it though can be controlled by qemu-kvm. > > Sheng? Put the identity map into kernel space because we want older version QEmu can also work with EPT. Yes, we need a new CAP for address. Would do it soon. -- regards Yang, Sheng