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

RE: [Xen-devel] Re: xen: use paging_mode_hap()



Hi Egger, 

We found that guests with Intel EPT could not boot up with latest
upstream Xen.

The root cause is: 
When calling p2m_init() function, the PG_HAP_enable hasn't been
written to paging mode, which Tim has pointed out in this mail.

After adding the following patch, HVM guest with hap=1 works well.

Signed-off-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>

diff -r adce8bc43fcc xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c     Tue Apr 06 07:16:47 2010 +0100
+++ b/xen/arch/x86/mm/p2m.c     Wed Apr 07 23:48:14 2010 +0800
@@ -1712,7 +1712,7 @@ int p2m_init(struct domain *d)
     p2m->get_entry_current = p2m_gfn_to_mfn_current;
     p2m->change_entry_type_global = p2m_change_type_global;

-    if ( is_hvm_domain(d) && paging_mode_hap(d) &&
+    if ( is_hvm_domain(d) && d->arch.hvm_domain.hap_enabled &&
          (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) )
         ept_p2m_init(d);


Thanks,
Dongxiao


Christoph Egger wrote:
> On Wednesday 31 March 2010 11:29:32 Tim Deegan wrote:
>> At 16:51 +0100 on 30 Mar (1269967863), Christoph Egger wrote:
>>> Hi!
>>> 
>>> Attached patch makes xen consequently use paging_mode_hap().
>>> 
>>> Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
>>> 
>>> P.S.: This is a resend. Needs ack from Tim.
>> 
>> Nack, at least in its current form - paging_mode_hap(d) is not the
>> same as d->arch.hvm_domain.hap_enabled.  Especially in paging.c,
>> where we test hap_enabled to gate whether we should call the
>> function that makes paging_mode_hap(d) true! 
>> 
>> I think the p2m.c changes are wrong too, since the p2m init code is
>> called from hap_enable before it writes PG_HAP_enable to the paging
>> mode.  (That's probably a bug in its own right; it should set the
>> mode and then call the p2m code, and shadow should do likewise, and
>> then these changes would be correct and desirable).
>> 
>> The other substitutions are probably OK.
>> 
>> Cheers,
>> 
>> Tim.
> 
> Thanks for you comments. Attached is my updated patch.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.