Hi men, I am trying to find the course of creating a DomU, beginning from ''xm create''. But Xm and Xend are too complex for me too follow exactly, I am blocked at the question: where is the hypercall-page initialized. At Xen 3.3.0, do the DomUs share a same hypercall-page, or each DomU owns one? * If the former case is right, where is the hypercall-page mapped to DomU''s address space? * If the later case is right, where is the hypercall-page initilized for each DomU? In this case, I found that : ======tools/libxc/xc_dom_core.c, line 558: dom->parms.virt_hypercall = UNSET_ADDR; // -1 ------------ tools/libxc/xc_dom_boot.c, line 32: if ( dom->parms.virt_hypercall == -1 ) return 0; /* The following will initilize the hypercall-page by HYPERVISOR_domctl_op. */ ======So I think this case must not used now. Am I right? Thanks, Wu _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
every domain has its own hypercall page. See hypercall_page_initialise in Xen. For PV domain, it's control panel to issue hypercall XEN_DOMCTL_hypercall_init for domain. For HVM domain, it's platform-pci driver to wrmsr with special index to trigger this action. Thanks, Kevin ________________________________ From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Wu Bingzheng Sent: Monday, December 29, 2008 11:12 AM To: xen-devel@lists.xensource.com Subject: [Xen-devel] where is hypercall page initialized? Hi men, I am trying to find the course of creating a DomU, beginning from 'xm create'. But Xm and Xend are too complex for me too follow exactly, I am blocked at the question: where is the hypercall-page initialized. At Xen 3.3.0, do the DomUs share a same hypercall-page, or each DomU owns one? * If the former case is right, where is the hypercall-page mapped to DomU's address space? * If the later case is right, where is the hypercall-page initilized for each DomU? In this case, I found that : ======tools/libxc/xc_dom_corec, line 558: dom->parms.virt_hypercall = UNSET_ADDR; // -1 ------------ tools/libxc/xc_dom_boot.c, line 32: if ( dom->parms.virt_hypercall == -1 ) return 0; /* The following will initilize the hypercall-page by HYPERVISOR_domctl_op. */ ======So I think this case must not used now. Am I right? Thanks, Wu ________________________________ [广告] 2008年最受关注楼盘<http://popme.163.com/link/003985_1010_7027.html> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Wu Bingzheng
2008-Dec-31 03:08 UTC
Re:RE: [Xen-devel] where is hypercall page initialized?
Thanks very much. I found the hypercall_page_initialise before but didnot found where it was called. I have found that yesterday. Thanks all the same! Regards, Wu 在2008-12-31,"Tian, Kevin" <kevin.tian@intel.com> 写道: every domain has its own hypercall page. See hypercall_page_initialise in Xen. For PV domain, it''s control panel to issue hypercall XEN_DOMCTL_hypercall_init for domain. For HVM domain, it''s platform-pci driver to wrmsr with special index to trigger this action. Thanks, Kevin From:xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Wu Bingzheng Sent: Monday, December 29, 2008 11:12 AM To:xen-devel@lists.xensource.com Subject: [Xen-devel] where is hypercall page initialized? Hi men, I am trying to find the course of creating a DomU, beginning from ''xm create''. But Xm and Xend are too complex for me too follow exactly, I am blocked at the question: where is the hypercall-page initialized. At Xen 3.3.0, do the DomUs share a same hypercall-page, or each DomU owns one? * If the former case is right, where is the hypercall-page mapped to DomU''s address space? * If the later case is right, where is the hypercall-page initilized for each DomU? In this case, I found that : ======tools/libxc/xc_dom_corec, line 558: dom->parms.virt_hypercall = UNSET_ADDR; // -1 ------------ tools/libxc/xc_dom_boot.c, line 32: if ( dom->parms.virt_hypercall == -1 ) return 0; /* The following will initilize the hypercall-page by HYPERVISOR_domctl_op. */ ======So I think this case must not used now. Am I right? Thanks, Wu [广告] 2008年最受关注楼盘 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel