From 27cf9a4454983d914a9c670102e4ea14e48418ec Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Fri, 16 Nov 2012 19:39:18 -0800 Subject: [PATCH] --- yaml --- r: 356221 b: refs/heads/master c: b8fd39c036ab982aa087b7ee671f86e2574d31f2 h: refs/heads/master i: 356219: e17a2a21c7e2504b3a8e902963d4513af7204965 v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/init.c | 21 +++++---------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index 9da2b36ae561..ea71e9560048 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 60a8f428320918458a9a21052777eada68eebfd8 +refs/heads/master: b8fd39c036ab982aa087b7ee671f86e2574d31f2 diff --git a/trunk/arch/x86/mm/init.c b/trunk/arch/x86/mm/init.c index 2a27e5ac1e3c..6f85de8a1f28 100644 --- a/trunk/arch/x86/mm/init.c +++ b/trunk/arch/x86/mm/init.c @@ -357,31 +357,20 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, * would have hole in the middle or ends, and only ram parts will be mapped. */ static unsigned long __init init_range_memory_mapping( - unsigned long range_start, - unsigned long range_end) + unsigned long r_start, + unsigned long r_end) { unsigned long start_pfn, end_pfn; unsigned long mapped_ram_size = 0; int i; for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) { - u64 start = (u64)start_pfn << PAGE_SHIFT; - u64 end = (u64)end_pfn << PAGE_SHIFT; - - if (end <= range_start) - continue; - - if (start < range_start) - start = range_start; - - if (start >= range_end) + u64 start = clamp_val(PFN_PHYS(start_pfn), r_start, r_end); + u64 end = clamp_val(PFN_PHYS(end_pfn), r_start, r_end); + if (start >= end) continue; - if (end > range_end) - end = range_end; - init_memory_mapping(start, end); - mapped_ram_size += end - start; }