[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [xenppc-unstable] [ppc] struct domain_setup_info should be 64bit neutral
# HG changeset patch # User Jimi Xenidis <jimix@xxxxxxxxxxxxxx> # Node ID 239f82b1208e2c41fa815709ccf9ebcce24104f9 # Parent f623f56678244308cd489c40bf7e940b285bf8cd [ppc] struct domain_setup_info should be 64bit neutral This patch was sent upstream. Need to allow a 32 bit loader to load a 64bit image. Also allows for a missing device tree, because it could be embedded. Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx> --- tools/libxc/xc_ppc_linux_build.c | 16 ++++++++-------- tools/libxc/xg_private.h | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff -r f623f5667824 -r 239f82b1208e tools/libxc/xc_ppc_linux_build.c --- a/tools/libxc/xc_ppc_linux_build.c Wed Jun 28 15:16:48 2006 -0400 +++ b/tools/libxc/xc_ppc_linux_build.c Wed Jun 28 15:18:54 2006 -0400 @@ -257,11 +257,11 @@ static int load_kernel( (load_funcs.loadimage)(kernel_img, kernel_size, xc_handle, domid, page_array, dsi); - VERBOSE(printf(" v_start %lx\n", dsi->v_start)); - VERBOSE(printf(" v_end %lx\n", dsi->v_end)); - VERBOSE(printf(" v_kernstart %lx\n", dsi->v_kernstart)); - VERBOSE(printf(" v_kernend %lx\n", dsi->v_kernend)); - VERBOSE(printf(" v_kernentry %lx\n", dsi->v_kernentry)); + VERBOSE(printf(" v_start %llx\n", dsi->v_start)); + VERBOSE(printf(" v_end %llx\n", dsi->v_end)); + VERBOSE(printf(" v_kernstart %llx\n", dsi->v_kernstart)); + VERBOSE(printf(" v_kernend %llx\n", dsi->v_kernend)); + VERBOSE(printf(" v_kernentry %llx\n", dsi->v_kernentry)); out: free(kernel_img); @@ -376,7 +376,8 @@ int xc_linux_build(int xc_handle, } kern_addr = 0; - if (load_initrd(xc_handle, domid, page_array, initrd_name, &initrd_base, + if (initrd_name && initrd_name[0] != '\0' && + load_initrd(xc_handle, domid, page_array, initrd_name, &initrd_base, &initrd_len)) { rc = -1; goto out; @@ -385,8 +386,7 @@ int xc_linux_build(int xc_handle, dtb_addr = (16 << 20); if (load_dtb(xc_handle, domid, "DomU.dtb", dtb_addr, &dsi, page_array)) { - rc = -1; - goto out; + dtb_addr = 0; } si_addr = create_start_info(&si, store_evtchn, console_evtchn); diff -r f623f5667824 -r 239f82b1208e tools/libxc/xg_private.h --- a/tools/libxc/xg_private.h Wed Jun 28 15:16:48 2006 -0400 +++ b/tools/libxc/xg_private.h Wed Jun 28 15:18:54 2006 -0400 @@ -132,13 +132,13 @@ typedef unsigned long l4_pgentry_t; struct domain_setup_info { - unsigned long v_start; - unsigned long v_end; - unsigned long v_kernstart; - unsigned long v_kernend; - unsigned long v_kernentry; - - unsigned long elf_paddr_offset; + uint64_t v_start; + uint64_t v_end; + uint64_t v_kernstart; + uint64_t v_kernend; + uint64_t v_kernentry; + + uint64_t elf_paddr_offset; #define PAEKERN_no 0 #define PAEKERN_yes 1 @@ -146,8 +146,8 @@ struct domain_setup_info unsigned int pae_kernel; unsigned int load_symtab; - unsigned long symtab_addr; - unsigned long symtab_len; + unsigned int symtab_addr; + unsigned int symtab_len; /* __xen_guest info string for convenient loader parsing. */ char *xen_guest_string; _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |