[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] cset 12009:4a320d26fc24 of xen-unstable.hg breaks domain builder



On Tue, 2006-10-31 at 22:48 +0900, Isaku Yamahata wrote:
> Hi.
> I found that the cset 12009:4a320d26fc24 of xen-unstable.hg
> breaks IA64 domain builder.
> Creating domain results in xend SEGV.
> (setup_guest() calls load_funcs.loadimage = loadelfimage()
> with page_array = NULL and then loadelfimage() references NULL. bang!)
> 
> Is anyone working on fixing that?

Hi Isaku,

   The patch below basically reverts moving the load_funcs.loadimage and
seems to solve the problem for me.  Maybe I'm missing the point of why
it was moved in the first place though.  Ian?  Thanks,

        Alex

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---

diff -r 874cc0ff214d tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Wed Nov 01 09:55:43 2006 +0000
+++ b/tools/libxc/xc_linux_build.c      Wed Nov 01 16:17:18 2006 -0700
@@ -502,15 +502,8 @@ static int setup_guest(int xc_handle,
     if ( rc != 0 )
         goto error_out;
 
-    dsi.v_start = round_pgdown(dsi.v_start);
-    (load_funcs.loadimage)(image, image_size, xc_handle, dom, page_array,
-                           &dsi);
-
-    vinitrd_start = round_pgup(dsi.v_end);
-    if ( load_initrd(xc_handle, dom, initrd,
-                     vinitrd_start - dsi.v_start, page_array) )
-        goto error_out;
-
+    dsi.v_start    = round_pgdown(dsi.v_start);
+    vinitrd_start  = round_pgup(dsi.v_end);
     vinitrd_end    = vinitrd_start + initrd->len;
     v_end          = round_pgup(vinitrd_end);
     start_info_mpa = (nr_pages - 3) << PAGE_SHIFT;
@@ -548,6 +541,13 @@ static int setup_guest(int xc_handle,
            _p(vinitrd_start),   _p(vinitrd_end),
            _p(dsi.v_start),     _p(v_end));
     IPRINTF(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));
+
+    (load_funcs.loadimage)(image, image_size, xc_handle, dom, page_array,
+                           &dsi);
+
+    if ( load_initrd(xc_handle, dom, initrd,
+                     vinitrd_start - dsi.v_start, page_array) )
+        goto error_out;
 
     *pvke = dsi.v_kernentry;
 



_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.