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

[Xen-changelog] Move xenstore page before page tables so that guest doesn't free it after boot



# HG changeset patch
# User smh22@xxxxxxxxxxxxxxxxxxxx
# Node ID b3a27d7ef9995c3e17bd8dc28bfd21c87e8efde9
# Parent  287583627544a984c89ff5ec6b44ec2c73187838

Move xenstore page before page tables so that guest doesn't free it after boot

Signed-off-by: Steven Hand <steven@xxxxxxxxxxxxx>

diff -r 287583627544 -r b3a27d7ef999 tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Wed Jul  6 08:50:11 2005
+++ b/tools/libxc/xc_linux_build.c      Wed Jul  6 15:36:57 2005
@@ -129,16 +129,16 @@
     vinitrd_end      = vinitrd_start + initrd_len;
     vphysmap_start   = round_pgup(vinitrd_end);
     vphysmap_end     = vphysmap_start + (nr_pages * sizeof(unsigned long));
-    vpt_start        = round_pgup(vphysmap_end);
+    vstoreinfo_start = round_pgup(vphysmap_end);
+    vstoreinfo_end   = vstoreinfo_start + PAGE_SIZE;
+    vpt_start        = vstoreinfo_end; 
+
     for ( nr_pt_pages = 2; ; nr_pt_pages++ )
     {
         vpt_end          = vpt_start + (nr_pt_pages * PAGE_SIZE);
         vstartinfo_start = vpt_end;
         vstartinfo_end   = vstartinfo_start + PAGE_SIZE;
-        /* Place store shared page after startinfo. */
-        vstoreinfo_start = vstartinfo_end;
-        vstoreinfo_end   = vstartinfo_end + PAGE_SIZE;
-        vstack_start     = vstoreinfo_end;
+        vstack_start     = vstartinfo_end;
         vstack_end       = vstack_start + PAGE_SIZE;
         v_end            = (vstack_end + (1UL<<22)-1) & ~((1UL<<22)-1);
         if ( (v_end - vstack_end) < (512UL << 10) )
@@ -167,17 +167,17 @@
            " Loaded kernel: %p->%p\n"
            " Init. ramdisk: %p->%p\n"
            " Phys-Mach map: %p->%p\n"
+           " Store page:    %p->%p\n"
            " Page tables:   %p->%p\n"
            " Start info:    %p->%p\n"
-           " Store page:    %p->%p\n"
            " Boot stack:    %p->%p\n"
            " TOTAL:         %p->%p\n",
            _p(dsi.v_kernstart), _p(dsi.v_kernend), 
            _p(vinitrd_start), _p(vinitrd_end),
            _p(vphysmap_start), _p(vphysmap_end),
+           _p(vstoreinfo_start), _p(vstoreinfo_end),
            _p(vpt_start), _p(vpt_end),
            _p(vstartinfo_start), _p(vstartinfo_end),
-           _p(vstoreinfo_start), _p(vstoreinfo_end),
            _p(vstack_start), _p(vstack_end),
            _p(dsi.v_start), _p(v_end));
     printf(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));

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


 


Rackspace

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