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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk Sent: Wednesday, January 27, 2010 2:42 PM To: xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
At 06:41 +0000 on 27 Jan (1264574490), Superymk wrote:> 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.It is in the hypervisor, if the tools ask for it.> (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) 0That''s the one - EPT''s not enabled because the tools didn''t ask for it. Those flags are passed from the domain-builder tools in dom0 (xc_domain_create() in tools/libxc/xc_domain.c). If you''re using xend, it looks like those flags get assembled from magic numbers in XendDomainInfo.py based on one of the many config objects. Try adding ''hap=1'' to your xm config file? Tim. -- Tim Deegan <Tim.Deegan@citrix.com> Principal Software Engineer, Citrix Systems (R&D) Ltd. [Company #02300071, SL9 0DZ, UK.] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Zhang, Xiantao Sent: Wednesday, January 27, 2010 5:09 PM To: Superymk; xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk Sent: Wednesday, January 27, 2010 2:42 PM To: xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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 (http://www.xen.org/files/Support/XenConfigurationDetails.pdf), is it a mistake? Miao From: Li, Xin Sent: Wednesday, January 27, 2010 5:53 PM To: Zhang, Xiantao ; Superymk ; xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Zhang, Xiantao Sent: Wednesday, January 27, 2010 5:09 PM To: Superymk; xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk Sent: Wednesday, January 27, 2010 2:42 PM To: xen-devel@lists.xensource.com Cc: ken.mingyuan@hotmail.com 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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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@lists.xensource.com > Cc: [6]ken.mingyuan@hotmail.com > 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@lists.xensource.com > [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Zhang, Xiantao > Sent: Wednesday, January 27, 2010 5:09 PM > To: Superymk; [8]xen-devel@lists.xensource.com > Cc: [9]ken.mingyuan@hotmail.com > 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@lists.xensource.com > [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk > Sent: Wednesday, January 27, 2010 2:42 PM > To: xen-devel@lists.xensource.com > Cc: ken.mingyuan@hotmail.com > 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@intel.com > mailto:xin.li@intel.com > 3. xiantao.zhang@intel.com > mailto:xiantao.zhang@intel.com > 4. superymkxen@hotmail.com > mailto:superymkxen@hotmail.com > 5. xen-devel@lists.xensource.com > mailto:xen-devel@lists.xensource.com > 6. ken.mingyuan@hotmail.com > mailto:ken.mingyuan@hotmail.com > 7. mailto:xen-devel-bounces@lists.xensource.com > 8. mailto:xen-devel@lists.xensource.com > 9. mailto:ken.mingyuan@hotmail.com> _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
All right, I''ll verify it. Can I really modify it on the xen wiki? I''ve never dreamed about that. :) -------------------------------------------------- From: "PasiKärkkäinen" <pasik@iki.fi> Sent: Wednesday, January 27, 2010 7:26 PM To: "Superymk" <superymkxen@hotmail.com> Cc: <xen-devel@lists.xensource.com>; "Li, Xin" <xin.li@intel.com> 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@lists.xensource.com >> Cc: [6]ken.mingyuan@hotmail.com >> 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@lists.xensource.com >> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Zhang, >> Xiantao >> Sent: Wednesday, January 27, 2010 5:09 PM >> To: Superymk; [8]xen-devel@lists.xensource.com >> Cc: [9]ken.mingyuan@hotmail.com >> 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@lists.xensource.com >> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk >> Sent: Wednesday, January 27, 2010 2:42 PM >> To: xen-devel@lists.xensource.com >> Cc: ken.mingyuan@hotmail.com >> 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@intel.com >> mailto:xin.li@intel.com >> 3. xiantao.zhang@intel.com >> mailto:xiantao.zhang@intel.com >> 4. superymkxen@hotmail.com >> mailto:superymkxen@hotmail.com >> 5. xen-devel@lists.xensource.com >> mailto:xen-devel@lists.xensource.com >> 6. ken.mingyuan@hotmail.com >> mailto:ken.mingyuan@hotmail.com >> 7. mailto:xen-devel-bounces@lists.xensource.com >> 8. mailto:xen-devel@lists.xensource.com >> 9. mailto:ken.mingyuan@hotmail.com > >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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@iki.fi> > Sent: Wednesday, January 27, 2010 7:26 PM > To: "Superymk" <superymkxen@hotmail.com> > Cc: <xen-devel@lists.xensource.com>; "Li, Xin" <xin.li@intel.com> > 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@lists.xensource.com >>> Cc: [6]ken.mingyuan@hotmail.com >>> 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@lists.xensource.com >>> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Zhang, >>> Xiantao >>> Sent: Wednesday, January 27, 2010 5:09 PM >>> To: Superymk; [8]xen-devel@lists.xensource.com >>> Cc: [9]ken.mingyuan@hotmail.com >>> 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@lists.xensource.com >>> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Superymk >>> Sent: Wednesday, January 27, 2010 2:42 PM >>> To: xen-devel@lists.xensource.com >>> Cc: ken.mingyuan@hotmail.com >>> 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@intel.com >>> mailto:xin.li@intel.com >>> 3. xiantao.zhang@intel.com >>> mailto:xiantao.zhang@intel.com >>> 4. superymkxen@hotmail.com >>> mailto:superymkxen@hotmail.com >>> 5. xen-devel@lists.xensource.com >>> mailto:xen-devel@lists.xensource.com >>> 6. ken.mingyuan@hotmail.com >>> mailto:ken.mingyuan@hotmail.com >>> 7. mailto:xen-devel-bounces@lists.xensource.com >>> 8. mailto:xen-devel@lists.xensource.com >>> 9. mailto:ken.mingyuan@hotmail.com >> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >>_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel