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

[Xen-devel] [PATCH] fix x86_64 initrd support


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Chris Wright <chrisw@xxxxxxxx>
  • Date: Mon, 13 Jun 2005 14:49:21 -0700
  • Delivery-date: Mon, 13 Jun 2005 21:48:29 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Looks like x86_64 never quite handled initrd's.  This brings x86_64
in line with i386 in that it doesn't check LOADER_TYPE (which will be
zero anyway).  Now initrd is working fine for me on x86_64.

Signed-off-by: Chris Wright <chrisw@xxxxxxxx>

===== linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/setup.c 1.6 vs edited =====
--- 1.6/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/setup.c  2005-06-08 
01:34:42 -07:00
+++ edited/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/setup.c       
2005-06-13 14:39:19 -07:00
@@ -727,23 +727,20 @@ void __init setup_arch(char **cmdline_p)
        acpi_reserve_bootmem();
 #endif
 #ifdef CONFIG_BLK_DEV_INITRD
-        if (xen_start_info.mod_start) {
-                if (LOADER_TYPE && INITRD_START) {
-                        if (INITRD_START + INITRD_SIZE <= (end_pfn << 
PAGE_SHIFT)) {
-                                /* reserve_bootmem_generic(INITRD_START, 
INITRD_SIZE); */
-                                initrd_start = INITRD_START + PAGE_OFFSET;
-                                initrd_end = initrd_start+INITRD_SIZE;
-                                initrd_below_start_ok = 1;
-                        }
-                        else {
-                                printk(KERN_ERR "initrd extends beyond end of 
memory "
-                                       "(0x%08lx > 0x%08lx)\ndisabling 
initrd\n",
-                                       (unsigned long)(INITRD_START + 
INITRD_SIZE),
-                                       (unsigned long)(end_pfn << PAGE_SHIFT));
-                                initrd_start = 0;
-                        }
-                }
-        }
+       if (xen_start_info.mod_start) {
+               if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) {
+                       /*reserve_bootmem_generic(INITRD_START, INITRD_SIZE);*/
+                       initrd_start = INITRD_START + PAGE_OFFSET;
+                       initrd_end = initrd_start+INITRD_SIZE;
+                       initrd_below_start_ok = 1;
+               } else {
+               printk(KERN_ERR "initrd extends beyond end of memory "
+                       "(0x%08lx > 0x%08lx)\ndisabling initrd\n",
+                       (unsigned long)(INITRD_START + INITRD_SIZE),
+                       (unsigned long)(end_pfn << PAGE_SHIFT));
+               initrd_start = 0;
+               }
+       }
 #endif
        paging_init();
 #ifdef CONFIG_X86_LOCAL_APIC

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


 


Rackspace

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