[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |