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
|