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

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


  • To: "Chris Wright" <chrisw@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
  • Date: Mon, 13 Jun 2005 15:23:36 -0700
  • Delivery-date: Mon, 13 Jun 2005 22:23:36 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcVwYnKxO32A20ZlS5uT0DLymchd2wAA2Dog
  • Thread-topic: [Xen-devel] [PATCH] fix x86_64 initrd support

Chris Wright wrote:
> 
> 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.

Great to see more participation in x86-64 xenlinux. Good work!

Jun

> 
> 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
>  07:52:20 -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


_______________________________________________
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®.