WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] [xenppc-unstable] [POWERPC][TOOLS] flatdevtree requires us to r

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [xenppc-unstable] [POWERPC][TOOLS] flatdevtree requires us to reserve the ramdisk
From: Xen patchbot-xenppc-unstable <patchbot-xenppc-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 16 Sep 2006 13:40:32 +0000
Delivery-date: Sat, 16 Sep 2006 06:43:10 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 7a20fed8be73857abe33d308ed27099efbff4a3c
# Parent  1d9c135673e4db41789d730d843c9e5f8de3a4eb
[POWERPC][TOOLS] flatdevtree requires us to reserve the ramdisk

The following patch solves the DomU:
  Freeing initrd memory: 3137k freed
  Bad page state in process 'swapper'

error message that was cause by not reserving the memory in the
flattened device tree.

We have to pre-reserve these entries when we create the tree in
FlatDeviceTree.py and fix it later because there appears to be no way
to add a reservation in libxc.

Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
 tools/libxc/powerpc64/xc_linux_build.c  |    8 +++++++-
 tools/python/xen/xend/FlatDeviceTree.py |    8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff -r 1d9c135673e4 -r 7a20fed8be73 tools/libxc/powerpc64/xc_linux_build.c
--- a/tools/libxc/powerpc64/xc_linux_build.c    Fri Sep 15 18:20:55 2006 -0400
+++ b/tools/libxc/powerpc64/xc_linux_build.c    Sat Sep 16 09:34:26 2006 -0400
@@ -208,6 +208,12 @@ static int load_devtree(
         return rc;
     }
 
+    rc = ft_set_rsvmap(devtree, 1, initrd_base, initrd_len);
+    if (rc < 0) {
+        DPRINTF("couldn't set initrd reservation\n");
+        return ~0UL;
+    }
+
     /* start-info (XXX being removed soon) */
     rc = ft_set_prop(&devtree, xen, "start-info",
             start_info, sizeof(start_info));
@@ -379,7 +385,7 @@ static unsigned long create_start_info(v
 
     rc = ft_set_rsvmap(devtree, 0, si_addr, 4*PAGE_SIZE);
     if (rc < 0) {
-        DPRINTF("couldn't set first reservation\n");
+        DPRINTF("couldn't set start_info reservation\n");
         return ~0UL;
     }
 
diff -r 1d9c135673e4 -r 7a20fed8be73 tools/python/xen/xend/FlatDeviceTree.py
--- a/tools/python/xen/xend/FlatDeviceTree.py   Fri Sep 15 18:20:55 2006 -0400
+++ b/tools/python/xen/xend/FlatDeviceTree.py   Sat Sep 16 09:34:26 2006 -0400
@@ -271,8 +271,14 @@ def build(imghandler):
     the host's device tree.'''
     root = Tree()
 
-    # 4 pages: start_info, console, store, shared_info
+    # 1st reseravtion entry used for start_info, console, store, shared_info
     root.reserve(0x3ffc000, 0x4000)
+
+    # 2nd reservation enrty used for initrd, later on when we load the
+    # initrd we may fill this in with zeroes which signifies the end
+    # of the reservation map.  So as to avoid adding a zero map now we
+    # put some bogus yet sensible numbers here.
+    root.reserve(0x1000000, 0x1000)
 
     root.addprop('device_type', 'chrp-but-not-really\0')
     root.addprop('#size-cells', 2)

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

<Prev in Thread] Current Thread [Next in Thread>