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

Re: [Xen-devel] How to turn on EPT support?



On Wed, Jan 27, 2010 at 07:50:43PM +0800, Superymk wrote:
> All right, I'll verify it. Can I really modify it on the xen wiki? I've  
> never dreamed about that. :)
>

Yeah, you can, after you create an account.. :)

-- Pasi

> --------------------------------------------------
> From: "PasiKärkkäinen" <pasik@xxxxxx>
> Sent: Wednesday, January 27, 2010 7:26 PM
> To: "Superymk" <superymkxen@xxxxxxxxxxx>
> Cc: <xen-devel@xxxxxxxxxxxxxxxxxxx>; "Li, Xin" <xin.li@xxxxxxxxx>
> Subject: Re: [Xen-devel] How to turn on EPT support?
>
>> On Wed, Jan 27, 2010 at 06:49:20PM +0800, Superymk wrote:
>>>    Thanks. I tailor the hvm example configuration file in xen manually
>>>    instead of using Virtual Machine Manager. I use your method to 
>>> verify it
>>>    and the problem is solved now.
>>>    However I find that hap configuration belongs to the Timers 
>>> category in
>>>    Xen Configurations Details
>>>    ([1]http://www.xen.org/files/Support/XenConfigurationDetails.pdf), 
>>> is it a
>>>    mistake?
>>>
>>
>> Here's the wiki version of the pdf, created just yesterday:
>> http://wiki.xensource.com/xenwiki/XenConfigurationFileOptions
>>
>> It's easy to edit and fix the stuff in the wiki now :)
>>
>> -- Pasi
>>
>>>    Miao
>>>    From: [2]Li, Xin
>>>    Sent: Wednesday, January 27, 2010 5:53 PM
>>>    To: [3]Zhang, Xiantao ; [4]Superymk ; [5]xen-devel@xxxxxxxxxxxxxxxxxxx
>>>    Cc: [6]ken.mingyuan@xxxxxxxxxxx
>>>    Subject: RE: [Xen-devel] How to turn on EPT support?
>>>
>>>    i7 965 has EPT support.
>>>
>>>    Use command *xm debug-k v; xm dmesg* to see if EPT pointer is 0. 
>>> If 0 then
>>>    EPT should disabled for the guest.
>>>
>>>    as Xiantao mentioned, I guess your hap in config file is set to 0. By
>>>    default if you don*t set it, ept should be enabled.
>>>
>>>    Thanks!
>>>
>>>    -Xin
>>>
>>>
>>>
>>>    From: [7]xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>>    [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Zhang, 
>>> Xiantao
>>>    Sent: Wednesday, January 27, 2010 5:09 PM
>>>    To: Superymk; [8]xen-devel@xxxxxxxxxxxxxxxxxxx
>>>    Cc: [9]ken.mingyuan@xxxxxxxxxxx
>>>    Subject: RE: [Xen-devel] How to turn on EPT support?
>>>
>>>
>>>
>>>    Can you check Xen's boot log to see whether the sentence as 
>>> following is
>>>    printed out ?
>>>
>>>
>>>
>>>    (XEN) HVM: Hardware Assisted Paging detected.
>>>
>>>
>>>
>>>    I don't know Xen-3.4.2's policy for EPT's default option, maybe 
>>> you can
>>>    add "hap=1" in your configuration file to ensure EPT on when you  
>>> create
>>>    virtual machine  if the system supports it.
>>>
>>>
>>>
>>>    Xiantao
>>>
>>>
>>>
>>>    
>>> --------------------------------------------------------------------------
>>>
>>>    From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>>    [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Superymk
>>>    Sent: Wednesday, January 27, 2010 2:42 PM
>>>    To: xen-devel@xxxxxxxxxxxxxxxxxxx
>>>    Cc: ken.mingyuan@xxxxxxxxxxx
>>>    Subject: [Xen-devel] How to turn on EPT support?
>>>
>>>    To test if EPT is enabled on my machine, I add some codes in my 
>>> own xen
>>>    shadow and create a guest vm (named testvm) by Virtual Machine  
>>> Manager.
>>>    However, it seems that testvm doesn't use EPT at all (See the 
>>> log). So how
>>>    to turn on EPT support? I thought it should be enabled automatically.
>>>
>>>
>>>
>>>    My box is configured as:
>>>
>>>    Intel Core i7 965
>>>
>>>    2G*3 DDR3 1333
>>>
>>>    Seagate 1T
>>>
>>>
>>>
>>>    Centos 5.2
>>>
>>>    Xen-3.4.2 with linux 2.6.18 xenified kernel (downloaded from xen.org)
>>>
>>>
>>>
>>>    Log:
>>>
>>>    (XEN) (Joan)domain.c:388: Domain ID 32767
>>>    (XEN) (Joan)domain.c:389: is_hvm_domain(d) 0
>>>    (XEN) (Joan)domain.c:390: hvm_funcs.hap_supported 0
>>>    (XEN) (Joan)domain.c:391: (domcr_flags & DOMCRF_hap) 0
>>>    (XEN) (Joan)p2m.c:1464: is_hvm_domain(d)  0
>>>    (XEN) (Joan)p2m.c:1465: d->arch.hvm_domain.hap_enabled 0
>>>    (XEN) (Joan)p2m.c:1466: X86_VENDOR_INTEL 1
>>>    (XEN) (Joan)p2m.c:1473: d->arch.p2m->set_entry FFFF828C8019FD50
>>>    (XEN) (Joan)p2m.c:1474: p2m_set_entry FFFF828C8019FD50
>>>    (XEN) (Joan)domain.c:388: Domain ID 0
>>>    (XEN) (Joan)domain.c:389: is_hvm_domain(d) 0
>>>    (XEN) (Joan)domain.c:390: hvm_funcs.hap_supported 1
>>>    (XEN) (Joan)domain.c:391: (domcr_flags & DOMCRF_hap) 0
>>>    (XEN) (Joan)p2m.c:1464: is_hvm_domain(d)  0
>>>    (XEN) (Joan)p2m.c:1465: d->arch.hvm_domain.hap_enabled 0
>>>    (XEN) (Joan)p2m.c:1466: X86_VENDOR_INTEL 1
>>>    (XEN) (Joan)p2m.c:1473: d->arch.p2m->set_entry FFFF828C8019FD50
>>>    (XEN) (Joan)p2m.c:1474: p2m_set_entry FFFF828C8019FD50
>>>    (XEN) (Joan)domain.c:388: Domain ID 1
>>>    (XEN) (Joan)domain.c:389: is_hvm_domain(d) 1
>>>    (XEN) (Joan)domain.c:390: hvm_funcs.hap_supported 1
>>>    (XEN) (Joan)domain.c:391: (domcr_flags & DOMCRF_hap) 0
>>>    (XEN) (Joan)p2m.c:1464: is_hvm_domain(d)  1
>>>    (XEN) (Joan)p2m.c:1465: d->arch.hvm_domain.hap_enabled 0
>>>    (XEN) (Joan)p2m.c:1466: X86_VENDOR_INTEL 1
>>>    (XEN) (Joan)p2m.c:1473: d->arch.p2m->set_entry FFFF828C8019FD50
>>>    (XEN) (Joan)p2m.c:1474: p2m_set_entry FFFF828C8019FD50
>>>
>>>
>>>
>>>    Modified Code:
>>>
>>>    /* Init the datastructures for later use by the p2m code */
>>>    1442: int p2m_init(struct domain *d)
>>>    {
>>>        struct p2m_domain *p2m;
>>>
>>>
>>>
>>>        p2m = xmalloc(struct p2m_domain);
>>>        if ( p2m == NULL )
>>>            return -ENOMEM;
>>>
>>>
>>>
>>>        d->arch.p2m = p2m;
>>>
>>>
>>>
>>>        memset(p2m, 0, sizeof(*p2m));
>>>        p2m_lock_init(p2m);
>>>        INIT_PAGE_LIST_HEAD(&p2m->pages);
>>>        INIT_PAGE_LIST_HEAD(&p2m->pod.super);
>>>        INIT_PAGE_LIST_HEAD(&p2m->pod.single);
>>>
>>>
>>>
>>>        p2m->set_entry = p2m_set_entry;
>>>        p2m->get_entry = p2m_gfn_to_mfn;
>>>        p2m->get_entry_current = p2m_gfn_to_mfn_current;
>>>        p2m->change_entry_type_global = p2m_change_type_global;
>>>
>>>     joan_dprintk("is_hvm_domain(d)  %d\n", is_hvm_domain(d));
>>>     joan_dprintk("d->arch.hvm_domain.hap_enabled %d\n",
>>>    d->arch.hvm_domain.hap_enabled);
>>>     joan_dprintk("X86_VENDOR_INTEL %d\n", (boot_cpu_data.x86_vendor ==
>>>    X86_VENDOR_INTEL));
>>>        if ( is_hvm_domain(d) && d->arch.hvm_domain.hap_enabled &&
>>>             (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) )
>>>     {
>>>      joan_dprintk("Add Ept Support\n");
>>>            ept_p2m_init(d);
>>>     }
>>>     joan_dprintk("d->arch.p2m->set_entry %lX\n",
>>>    (uint64_t)(d->arch.p2m->set_entry) );
>>>     joan_dprintk("p2m_set_entry %lX\n", (uint64_t)p2m_set_entry);
>>>
>>>
>>>
>>>        return 0;
>>>    }
>>>
>>>
>>>
>>>
>>>
>>>    Thanks,
>>>
>>>    Miao
>>>
>>>
>>>
>>>
>>>
>>> References
>>>
>>>    Visible links
>>>    1. http://www.xen.org/files/Support/XenConfigurationDetails.pdf
>>> CTRL + Click to follow link
>>> http://www.xen.org/files/Support/XenConfigurationDetails.pdf
>>>    2. xin.li@xxxxxxxxx
>>> mailto:xin.li@xxxxxxxxx
>>>    3. xiantao.zhang@xxxxxxxxx
>>> mailto:xiantao.zhang@xxxxxxxxx
>>>    4. superymkxen@xxxxxxxxxxx
>>> mailto:superymkxen@xxxxxxxxxxx
>>>    5. xen-devel@xxxxxxxxxxxxxxxxxxx
>>> mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
>>>    6. ken.mingyuan@xxxxxxxxxxx
>>> mailto:ken.mingyuan@xxxxxxxxxxx
>>>    7. mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>>    8. mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
>>>    9. mailto:ken.mingyuan@xxxxxxxxxxx
>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>>

_______________________________________________
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®.