Skip to content

Commit

Permalink
x86, mm: relocate initrd under all mem for 64bit
Browse files Browse the repository at this point in the history
instead of under 4g.

For 64bit, we can use any mapped mem instead of low mem.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1353123563-3103-17-git-send-email-yinghai@kernel.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
  • Loading branch information
Yinghai Lu authored and H. Peter Anvin committed Nov 17, 2012
1 parent 66520eb commit 74f2765
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions arch/x86/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ static void __init relocate_initrd(void)
char *p, *q;

/* We need to move the initrd down into directly mapped mem */
ramdisk_here = memblock_find_in_range(0, PFN_PHYS(max_low_pfn_mapped),
ramdisk_here = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
area_size, PAGE_SIZE);

if (!ramdisk_here)
Expand Down Expand Up @@ -392,7 +392,7 @@ static void __init reserve_initrd(void)

initrd_start = 0;

mapped_size = get_mem_size(max_low_pfn_mapped);
mapped_size = get_mem_size(max_pfn_mapped);
if (ramdisk_size >= (mapped_size>>1))
panic("initrd too large to handle, "
"disabling initrd (%lld needed, %lld available)\n",
Expand All @@ -401,8 +401,7 @@ static void __init reserve_initrd(void)
printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
ramdisk_end - 1);

if (ramdisk_end <= (max_low_pfn_mapped<<PAGE_SHIFT) &&
pfn_range_is_mapped(PFN_DOWN(ramdisk_image),
if (pfn_range_is_mapped(PFN_DOWN(ramdisk_image),
PFN_DOWN(ramdisk_end))) {
/* All are mapped, easy case */
/*
Expand Down

0 comments on commit 74f2765

Please sign in to comment.