1 From: Greg Kroah-Hartman <gregkh@suse.de>
2 Subject: Upstream 2.6.27.26 release from kernel.org
4 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
6 Automatically created from "patches.kernel.org/patch-2.6.27.25-26" by xen-port-patches.py
8 --- sle11-2009-07-31.orig/arch/x86/kernel/setup-xen.c 2009-06-29 15:38:34.000000000 +0200
9 +++ sle11-2009-07-31/arch/x86/kernel/setup-xen.c 2009-07-31 15:08:11.000000000 +0200
10 @@ -290,15 +290,13 @@ static inline void copy_edd(void)
12 #ifdef CONFIG_BLK_DEV_INITRD
14 -#if defined(CONFIG_X86_32) && !defined(CONFIG_XEN)
16 #define MAX_MAP_CHUNK (NR_FIX_BTMAPS << PAGE_SHIFT)
17 static void __init relocate_initrd(void)
21 u64 ramdisk_image = boot_params.hdr.ramdisk_image;
22 u64 ramdisk_size = boot_params.hdr.ramdisk_size;
23 - u64 end_of_lowmem = max_low_pfn << PAGE_SHIFT;
24 + u64 end_of_lowmem = max_low_pfn_mapped << PAGE_SHIFT;
26 unsigned long slop, clen, mapaddr;
28 @@ -353,8 +351,14 @@ static void __init relocate_initrd(void)
30 ramdisk_image, ramdisk_image + ramdisk_size - 1,
31 ramdisk_here, ramdisk_here + ramdisk_size - 1);
34 + printk(KERN_ERR "initrd extends beyond end of memory "
35 + "(0x%08lx > 0x%08lx)\ndisabling initrd\n",
36 + __pa(xen_start_info->mod_start) + xen_start_info->mod_len,
37 + max_low_pfn_mapped << PAGE_SHIFT);
42 static void __init reserve_initrd(void)
44 @@ -362,7 +366,7 @@ static void __init reserve_initrd(void)
45 u64 ramdisk_image = boot_params.hdr.ramdisk_image;
46 u64 ramdisk_size = boot_params.hdr.ramdisk_size;
47 u64 ramdisk_end = ramdisk_image + ramdisk_size;
48 - u64 end_of_lowmem = max_low_pfn << PAGE_SHIFT;
49 + u64 end_of_lowmem = max_low_pfn_mapped << PAGE_SHIFT;
51 if (!boot_params.hdr.type_of_loader ||
52 !ramdisk_image || !ramdisk_size)
53 @@ -371,7 +375,7 @@ static void __init reserve_initrd(void)
54 unsigned long ramdisk_image = __pa(xen_start_info->mod_start);
55 unsigned long ramdisk_size = xen_start_info->mod_len;
56 unsigned long ramdisk_end = ramdisk_image + ramdisk_size;
57 - unsigned long end_of_lowmem = max_low_pfn << PAGE_SHIFT;
58 + unsigned long end_of_lowmem = max_low_pfn_mapped << PAGE_SHIFT;
60 if (!xen_start_info->mod_start || !ramdisk_size)
61 return; /* No initrd provided by bootloader */
62 @@ -404,14 +408,8 @@ static void __init reserve_initrd(void)
66 -#if defined(CONFIG_X86_32) && !defined(CONFIG_XEN)
69 - printk(KERN_ERR "initrd extends beyond end of memory "
70 - "(0x%08lx > 0x%08lx)\ndisabling initrd\n",
71 - ramdisk_end, end_of_lowmem);
75 free_early(ramdisk_image, ramdisk_end);