[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-ppc-devel
Subject:    [XenPPC] [xenppc-unstable] [ppc] struct domain_setup_info should be
From:       Xen patchbot-xenppc-unstable
Date:       2006-06-28 19:20:42
Message-ID: E1Fvfac-0001TB-TB () xenbits ! xensource ! com
[Download RAW message or body]

# HG changeset patch
# User Jimi Xenidis <jimix@watson.ibm.com>
# 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@watson.ibm.com>
---
 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@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic