From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported Date: Mon, 30 Nov 2015 10:20:02 +0000 Message-ID: <20151130102002.GF21588@citrix.com> References: <1447335816-31772-1-git-send-email-jgross@suse.com> <1447335816-31772-7-git-send-email-jgross@suse.com> <5655DDDC.5000005@oracle.com> <5656B626.6080305@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <5656B626.6080305@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Juergen Gross Cc: wei.liu2@citrix.com, Ian.Campbell@citrix.com, stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, Boris Ostrovsky , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org On Thu, Nov 26, 2015 at 08:35:02AM +0100, Juergen Gross wrote: > On 25/11/15 17:12, Boris Ostrovsky wrote: > > On 11/12/2015 08:43 AM, Juergen Gross wrote: > >> In case the kernel of a new pv-domU indicates it is supporting an > >> unmapped initrd, don't waste precious virtual space for the initrd, > >> but allocate only guest physical memory for it. > > > > This patch breaks 32-bit pygrub. > > > > I am not 100% sure yet but it may be that only 64-bit guests are affected. > > > > With RHEL5 I get > > initrd extends beyond end of memory (0x780080eda000 > 0x40000000) > > I think I have found the problem. Can you verify the attached patch is > working? > > > Juergen > > From 11eaee2aa2291a1d56556d538ac23b8156cf3388 Mon Sep 17 00:00:00 2001 > From: Juergen Gross > Date: Thu, 26 Nov 2015 08:32:26 +0100 > Subject: [PATCH] libxc: correct domain builder for 64 bit guest with 32 bit > tools > > Commit 8c45adec18e0512c3d34dcafb13414ecba21be6a ("create unmapped > initrd in domain builder if supported") introduced an error for > building a 64 bit guest with a 32 bit toolset. > > The initrd start address and size where stored in an unsigned long > instead of using a 64 bit type. > > Signed-off-by: Juergen Gross > --- > tools/libxc/include/xc_dom.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h > index 2176216..370dddd 100644 > --- a/tools/libxc/include/xc_dom.h > +++ b/tools/libxc/include/xc_dom.h > @@ -99,8 +99,8 @@ struct xc_dom_image { > xen_vaddr_t bsd_symtab_start; > > /* initrd parameters as specified in start_info page */ > - unsigned long initrd_start; > - unsigned long initrd_len; > + uint64_t initrd_start; > + uint64_t initrd_len; > I think these should be of type xen_vaddr_t. Doesn't make a difference in the end though. Wei. > unsigned int alloc_bootstack; > xen_vaddr_t virt_pgtab_end; > -- > 2.6.2 >