From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: new domain builder breaks compatibility Date: Fri, 02 Feb 2007 08:59:06 +0100 Message-ID: <45C2EF4A.2000505@suse.de> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030608030608040008040403" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com, John Levon List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030608030608040008040403 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Keir Fraser wrote: > On 1/2/07 19:17, "John Levon" wrote: > >>> --- tools/libxc/xc_dom_x86.c~ 2007-01-31 18:07:56.000000000 +0100 >>> +++ tools/libxc/xc_dom_x86.c 2007-02-01 10:02:08.000000000 +0100 >>> @@ -66,6 +66,7 @@ >>> >>> extra_pages = dom->alloc_bootstack ? 1 : 0; >>> extra_pages += dom->extra_pages; >>> + extra_pages += 128; /* 512kB padding */ >> I've tested this along with a kernel change to only assume 2Mb >> alignment, and it works on PAE and 64-bit now. Could you send a patch >> upstream please? And update xen.h to clarify things? > > I'll handle this and update xen.h. Restoring the 4MB alignment is easy too, see attached patch (which also fixes the 4MB alignment for virt_base). cheers, Gerd -- Gerd Hoffmann --------------030608030608040008040403 Content-Type: text/x-patch; name="fix-builder-4mb-align.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fix-builder-4mb-align.diff" --- tools/libxc/xc_dom_x86.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) Index: build-64-unstable-13762/tools/libxc/xc_dom_x86.c =================================================================== --- build-64-unstable-13762.orig/tools/libxc/xc_dom_x86.c +++ build-64-unstable-13762/tools/libxc/xc_dom_x86.c @@ -66,11 +66,12 @@ static int count_pgtables(struct xc_dom_ extra_pages = dom->alloc_bootstack ? 1 : 0; extra_pages += dom->extra_pages; + extra_pages += 128; /* 512kB padding */ pages = extra_pages; for (;;) { try_virt_end = round_up(dom->virt_alloc_end + pages * PAGE_SIZE_X86, - bits_to_mask(l1_bits)); + bits_to_mask(22)); /* 4MB alignment */ dom->pg_l4 = nr_page_tables(dom->parms.virt_base, try_virt_end, l4_bits); dom->pg_l3 = @@ -313,6 +314,9 @@ static int alloc_magic_pages(struct xc_d if (xc_dom_feature_translated(dom)) dom->shared_info_pfn = xc_dom_alloc_page(dom, "shared info"); dom->alloc_bootstack = 1; + + /* 4MB align start address */ + dom->parms.virt_base &= ~(((uint64_t)1<<22)-1); return 0; } --------------030608030608040008040403 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030608030608040008040403--