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

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] fix x86_64 initrd support
From: Chris Wright <chrisw@xxxxxxxx>
Date: Mon, 13 Jun 2005 14:49:21 -0700
Delivery-date: Mon, 13 Jun 2005 21:48:29 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6i
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

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