ia64/xen-unstable

changeset 7736:ea1214123c2f

Remove old version of xen xlilo patch
author djm@kirby.fc.hp.com
date Thu Nov 17 07:23:14 2005 -0600 (2005-11-17)
parents d0a2b36f72f2
children 424e28ebc882
files
line diff
     1.1 --- a/xen/arch/ia64/tools/xelilo/xen4elilo.patch	Thu Nov 17 07:21:18 2005 -0600
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,187 +0,0 @@
     1.4 -<Sign-Off: Fred.Yang@intel.com>
     1.5 -diff -r f2309ac2648a xen/arch/ia64/xen/dom_fw.c
     1.6 ---- a/xen/arch/ia64/xen/dom_fw.c	Tue Sep 20 19:03:25 2005
     1.7 -+++ b/xen/arch/ia64/xen/dom_fw.c	Tue Sep 20 20:10:36 2005
     1.8 -@@ -686,6 +686,12 @@
     1.9 - 	bp->console_info.orig_x = 0;
    1.10 - 	bp->console_info.orig_y = 24;
    1.11 - 	bp->fpswa = 0;
    1.12 -+        bp->initrd_start = (dom0_start+dom0_size) -
    1.13 -+                (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
    1.14 -+        bp->initrd_size = ia64_boot_param->initrd_size;
    1.15 -+                printf(" initrd start %0xlx", bp->initrd_start);
    1.16 -+                printf(" initrd size %0xlx", bp->initrd_size);
    1.17 -+
    1.18 - 
    1.19 - 	return bp;
    1.20 - }
    1.21 -diff -r f2309ac2648a xen/arch/ia64/xen/domain.c
    1.22 ---- a/xen/arch/ia64/xen/domain.c	Tue Sep 20 19:03:25 2005
    1.23 -+++ b/xen/arch/ia64/xen/domain.c	Tue Sep 20 20:10:36 2005
    1.24 -@@ -830,6 +830,7 @@
    1.25 - 	unsigned long pkern_start;
    1.26 - 	unsigned long pkern_entry;
    1.27 - 	unsigned long pkern_end;
    1.28 -+	unsigned long pinitrd_start = 0;
    1.29 - 	unsigned long ret, progress = 0;
    1.30 - 
    1.31 - //printf("construct_dom0: starting\n");
    1.32 -@@ -848,12 +849,6 @@
    1.33 - 	alloc_start = dom0_start;
    1.34 - 	alloc_end = dom0_start + dom0_size;
    1.35 - 	d->tot_pages = d->max_pages = dom0_size/PAGE_SIZE;
    1.36 --	image_start = __va(ia64_boot_param->initrd_start);
    1.37 --	image_len = ia64_boot_param->initrd_size;
    1.38 --//printk("image_start=%lx, image_len=%lx\n",image_start,image_len);
    1.39 --//printk("First word of image: %lx\n",*(unsigned long *)image_start);
    1.40 --
    1.41 --//printf("construct_dom0: about to call parseelfimage\n");
    1.42 - 	dsi.image_addr = (unsigned long)image_start;
    1.43 - 	dsi.image_len  = image_len;
    1.44 - 	rc = parseelfimage(&dsi);
    1.45 -@@ -890,11 +885,18 @@
    1.46 - 	    return -EINVAL;
    1.47 - 	}
    1.48 - 
    1.49 -+        if(initrd_start&&initrd_len){
    1.50 -+             pinitrd_start=(dom0_start+dom0_size) -
    1.51 -+                          (PAGE_ALIGN(initrd_len) + 4*1024*1024);
    1.52 -+
    1.53 -+             memcpy(__va(pinitrd_start),initrd_start,initrd_len);
    1.54 -+        }
    1.55 -+
    1.56 - 	printk("METAPHYSICAL MEMORY ARRANGEMENT:\n"
    1.57 - 	       " Kernel image:  %lx->%lx\n"
    1.58 - 	       " Entry address: %lx\n"
    1.59 --	       " Init. ramdisk:   (NOT IMPLEMENTED YET)\n",
    1.60 --	       pkern_start, pkern_end, pkern_entry);
    1.61 -+               " Init. ramdisk: %lx len %lx\n",
    1.62 -+               pkern_start, pkern_end, pkern_entry, pinitrd_start, initrd_len);
    1.63 - 
    1.64 - 	if ( (pkern_end - pkern_start) > (d->max_pages * PAGE_SIZE) )
    1.65 - 	{
    1.66 -diff -r f2309ac2648a xen/arch/ia64/xen/xensetup.c
    1.67 ---- a/xen/arch/ia64/xen/xensetup.c	Tue Sep 20 19:03:25 2005
    1.68 -+++ b/xen/arch/ia64/xen/xensetup.c	Tue Sep 20 20:10:36 2005
    1.69 -@@ -153,7 +153,8 @@
    1.70 -     void *heap_start;
    1.71 -     int i;
    1.72 -     unsigned long max_mem, nr_pages, firsthole_start;
    1.73 --    unsigned long dom0_memory_start, dom0_memory_end;
    1.74 -+    unsigned long dom0_memory_start, dom0_memory_size;
    1.75 -+    unsigned long dom0_initrd_start, dom0_initrd_size;
    1.76 -     unsigned long initial_images_start, initial_images_end;
    1.77 - 
    1.78 -     running_on_sim = is_platform_hp_ski();
    1.79 -@@ -191,7 +192,18 @@
    1.80 -     efi_memmap_walk(xen_find_first_hole, &firsthole_start);
    1.81 - 
    1.82 -     initial_images_start = xenheap_phys_end;
    1.83 --    initial_images_end = initial_images_start + ia64_boot_param->initrd_size;
    1.84 -+    initial_images_end = initial_images_start +
    1.85 -+       PAGE_ALIGN(ia64_boot_param->domain_size);
    1.86 -+
    1.87 -+    /* also reserve space for initrd */
    1.88 -+    if (ia64_boot_param->initrd_start && ia64_boot_param->initrd_size)
    1.89 -+       initial_images_end += PAGE_ALIGN(ia64_boot_param->initrd_size);
    1.90 -+    else {
    1.91 -+       /* sanity cleanup */
    1.92 -+       ia64_boot_param->initrd_size = 0;
    1.93 -+       ia64_boot_param->initrd_start = 0;
    1.94 -+    }
    1.95 -+
    1.96 - 
    1.97 -     /* Later may find another memory trunk, even away from xen image... */
    1.98 -     if (initial_images_end > firsthole_start) {
    1.99 -@@ -203,11 +215,21 @@
   1.100 - 
   1.101 -     /* This copy is time consuming, but elilo may load Dom0 image
   1.102 -      * within xenheap range */
   1.103 --    printk("ready to move Dom0 to 0x%lx...", initial_images_start);
   1.104 -+    printk("ready to move Dom0 to 0x%lx with len %lx...", initial_images_start,
   1.105 -+          ia64_boot_param->domain_size);
   1.106 -+
   1.107 -     memmove(__va(initial_images_start),
   1.108 -+          __va(ia64_boot_param->domain_start),
   1.109 -+          ia64_boot_param->domain_size);
   1.110 -+//    ia64_boot_param->domain_start = initial_images_start;
   1.111 -+
   1.112 -+    printk("ready to move initrd to 0x%lx with len %lx...",
   1.113 -+          initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size),
   1.114 -+          ia64_boot_param->initrd_size);
   1.115 -+    memmove(__va(initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size)),
   1.116 -+
   1.117 - 	   __va(ia64_boot_param->initrd_start),
   1.118 - 	   ia64_boot_param->initrd_size);
   1.119 --    ia64_boot_param->initrd_start = initial_images_start;
   1.120 -     printk("Done\n");
   1.121 - 
   1.122 -     /* first find highest page frame number */
   1.123 -@@ -335,23 +357,26 @@
   1.124 -      * above our heap. The second module, if present, is an initrd ramdisk.
   1.125 -      */
   1.126 - printk("About to call construct_dom0()\n");
   1.127 --    dom0_memory_start = __va(ia64_boot_param->initrd_start);
   1.128 --    dom0_memory_end = ia64_boot_param->initrd_size;
   1.129 --    if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_end,
   1.130 --			0,
   1.131 --                        0,
   1.132 -+    dom0_memory_start = __va(initial_images_start);
   1.133 -+    dom0_memory_size = ia64_boot_param->domain_size;
   1.134 -+    dom0_initrd_start = __va(initial_images_start +
   1.135 -+                       PAGE_ALIGN(ia64_boot_param->domain_size));
   1.136 -+    dom0_initrd_size = ia64_boot_param->initrd_size;
   1.137 -+
   1.138 -+    if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_size,
   1.139 -+                       dom0_initrd_start,dom0_initrd_size,
   1.140 - 			0) != 0)
   1.141 -         panic("Could not set up DOM0 guest OS\n");
   1.142 - #ifdef CLONE_DOMAIN0
   1.143 -     {
   1.144 -     int i;
   1.145 --    dom0_memory_start = __va(ia64_boot_param->initrd_start);
   1.146 --    dom0_memory_end = ia64_boot_param->initrd_size;
   1.147 -+    dom0_memory_start = __va(ia64_boot_param->domain_start);
   1.148 -+    dom0_memory_size = ia64_boot_param->domain_size;
   1.149 -+
   1.150 -     for (i = 0; i < CLONE_DOMAIN0; i++) {
   1.151 - printk("CONSTRUCTING DOMAIN0 CLONE #%d\n",i+1);
   1.152 --        if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_end,
   1.153 --                        0, 
   1.154 --                        0,
   1.155 -+        if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_size,
   1.156 -+                       dom0_initrd_start,dom0_initrd_size,
   1.157 - 			0) != 0)
   1.158 -             panic("Could not set up DOM0 clone %d\n",i);
   1.159 -     }
   1.160 -@@ -359,8 +384,14 @@
   1.161 - #endif
   1.162 - 
   1.163 -     /* The stash space for the initial kernel image can now be freed up. */
   1.164 --    init_domheap_pages(ia64_boot_param->initrd_start,
   1.165 --		       ia64_boot_param->initrd_start + ia64_boot_param->initrd_size);
   1.166 -+    init_domheap_pages(ia64_boot_param->domain_start,
   1.167 -+                       ia64_boot_param->domain_size);
   1.168 -+    /* throw away initrd area passed from elilo */
   1.169 -+    if (ia64_boot_param->initrd_size) {
   1.170 -+        init_domheap_pages(ia64_boot_param->initrd_start,
   1.171 -+                          ia64_boot_param->initrd_size);
   1.172 -+    }
   1.173 -+
   1.174 -     if (!running_on_sim)  // slow on ski and pages are pre-initialized to zero
   1.175 - 	scrub_heap_pages();
   1.176 - 
   1.177 -diff -r f2309ac2648a xen/include/asm-ia64/linux-xen/asm/system.h
   1.178 ---- a/xen/include/asm-ia64/linux-xen/asm/system.h	Tue Sep 20 19:03:25 2005
   1.179 -+++ b/xen/include/asm-ia64/linux-xen/asm/system.h	Tue Sep 20 20:10:36 2005
   1.180 -@@ -56,6 +56,10 @@
   1.181 - 	__u64 fpswa;		/* physical address of the fpswa interface */
   1.182 - 	__u64 initrd_start;
   1.183 - 	__u64 initrd_size;
   1.184 -+//for loading initrd for dom0
   1.185 -+       __u64 domain_start;     /* virtual address where the boot time domain begins */
   1.186 -+       __u64 domain_size;      /* how big is the boot domain */
   1.187 -+
   1.188 - } *ia64_boot_param;
   1.189 - 
   1.190 - /*