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
|