Li, Xin B
2005-Sep-15 07:14 UTC
[Xen-devel] [PATCH][VT] make VMX guest 1:1 page table PGD page below 4G
Like IA32 PAE xenlinux, we also need make VMX guest 1:1 page table PGD page below 4G. Signed-off-by: Xin Li <xin.b.li@intel.com> Signed-off-by: Chengyuan Li <chengyuan.li@intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> diff -r bd477fcd32ab tools/libxc/xc_vmx_build.c --- a/tools/libxc/xc_vmx_build.c Thu Sep 15 04:12:54 2005 +++ b/tools/libxc/xc_vmx_build.c Thu Sep 15 15:04:09 2005 @@ -376,9 +376,21 @@ if ( (mmu = xc_init_mmu_updates(xc_handle, dom)) == NULL ) goto error_out; + /* First allocate page for page dir or pdpt */ + ppt_alloc = (vpt_start - dsi.v_start) >> PAGE_SHIFT; + if ( page_array[ppt_alloc] > 0xfffff ) + { + unsigned long nmfn; + nmfn = xc_make_page_below_4G( xc_handle, dom, page_array[ppt_alloc] ); + if ( nmfn == 0 ) + { + fprintf(stderr, "Couldn''t get a page below 4GB :-(\n"); + goto error_out; + } + page_array[ppt_alloc] = nmfn; + } + #ifdef __i386__ - /* First allocate page for page dir. */ - ppt_alloc = (vpt_start - dsi.v_start) >> PAGE_SHIFT; l2tab = page_array[ppt_alloc++] << PAGE_SHIFT; ctxt->ctrlreg[3] = l2tab; @@ -414,8 +426,6 @@ munmap(vl1tab, PAGE_SIZE); munmap(vl2tab, PAGE_SIZE); #else - /* First allocate pdpt */ - ppt_alloc = (vpt_start - dsi.v_start) >> PAGE_SHIFT; /* here l3tab means pdpt, only 4 entry is used */ l3tab = page_array[ppt_alloc++] << PAGE_SHIFT; ctxt->ctrlreg[3] = l3tab; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2005-Sep-15 09:08 UTC
Re: [Xen-devel] [PATCH][VT] make VMX guest 1:1 page table PGD page below 4G
On 15 Sep 2005, at 08:14, Li, Xin B wrote:> Like IA32 PAE xenlinux, we also need make VMX guest 1:1 page table PGD > page below 4G. > > Signed-off-by: Xin Li <xin.b.li@intel.com> > Signed-off-by: Chengyuan Li <chengyuan.li@intel.com> > Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> > Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>The patch is malformed (the mail client inserted line breaks). Please resubmit. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel