aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-11-16 22:39:18 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2012-11-17 14:59:46 -0500
commitb8fd39c036ab982aa087b7ee671f86e2574d31f2 (patch)
tree59d60b2d8db18f629084e1e33dc4f9fb7be8c2c0
parent60a8f428320918458a9a21052777eada68eebfd8 (diff)
x86, mm: Use clamp_t() in init_range_memory_mapping
save some lines, and make code more readable. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Link: http://lkml.kernel.org/r/1353123563-3103-42-git-send-email-yinghai@kernel.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r--arch/x86/mm/init.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 2a27e5ac1e3c..6f85de8a1f28 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -357,31 +357,20 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
357 * would have hole in the middle or ends, and only ram parts will be mapped. 357 * would have hole in the middle or ends, and only ram parts will be mapped.
358 */ 358 */
359static unsigned long __init init_range_memory_mapping( 359static unsigned long __init init_range_memory_mapping(
360 unsigned long range_start, 360 unsigned long r_start,
361 unsigned long range_end) 361 unsigned long r_end)
362{ 362{
363 unsigned long start_pfn, end_pfn; 363 unsigned long start_pfn, end_pfn;
364 unsigned long mapped_ram_size = 0; 364 unsigned long mapped_ram_size = 0;
365 int i; 365 int i;
366 366
367 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) { 367 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) {
368 u64 start = (u64)start_pfn << PAGE_SHIFT; 368 u64 start = clamp_val(PFN_PHYS(start_pfn), r_start, r_end);
369 u64 end = (u64)end_pfn << PAGE_SHIFT; 369 u64 end = clamp_val(PFN_PHYS(end_pfn), r_start, r_end);
370 370 if (start >= end)
371 if (end <= range_start)
372 continue;
373
374 if (start < range_start)
375 start = range_start;
376
377 if (start >= range_end)
378 continue; 371 continue;
379 372
380 if (end > range_end)
381 end = range_end;
382
383 init_memory_mapping(start, end); 373 init_memory_mapping(start, end);
384
385 mapped_ram_size += end - start; 374 mapped_ram_size += end - start;
386 } 375 }
387 376