# 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
|