From 320962b31e23855581d26d06079c82b1660afece Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Fri, 27 Jun 2008 15:36:54 -0700 Subject: [PATCH] --- yaml --- r: 99973 b: refs/heads/master c: ab67715c7201be2fe729888a09007b6ba5bb2326 h: refs/heads/master i: 99971: c6ee7a8982c6051281023b22f071acbd00adad33 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/e820.c | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 3921cf5c5218..0d6eeac4baeb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22b45144f67dbaf0705992dc1462de2813fb83a1 +refs/heads/master: ab67715c7201be2fe729888a09007b6ba5bb2326 diff --git a/trunk/arch/x86/kernel/e820.c b/trunk/arch/x86/kernel/e820.c index 7b7685b78852..fa77cb4185c3 100644 --- a/trunk/arch/x86/kernel/e820.c +++ b/trunk/arch/x86/kernel/e820.c @@ -828,16 +828,26 @@ void __init free_early(u64 start, u64 end) void __init early_res_to_bootmem(u64 start, u64 end) { - int i; + int i, count; u64 final_start, final_end; - for (i = 0; i < MAX_EARLY_RES && early_res[i].end; i++) { + + count = 0; + for (i = 0; i < MAX_EARLY_RES && early_res[i].end; i++) + count++; + + printk(KERN_INFO "(%d early reservations) ==> bootmem\n", count); + for (i = 0; i < count; i++) { struct early_res *r = &early_res[i]; + printk(KERN_INFO " #%d [ %010llx - %010llx ] %16s", i, + r->start, r->end, r->name); final_start = max(start, r->start); final_end = min(end, r->end); - if (final_start >= final_end) + if (final_start >= final_end) { + printk(KERN_CONT "\n"); continue; - printk(KERN_INFO " early res: %d [%llx-%llx] %s\n", i, - final_start, final_end - 1, r->name); + } + printk(KERN_CONT " ===> [ %010llx - %010llx ]\n", + final_start, final_end); reserve_bootmem_generic(final_start, final_end - final_start, BOOTMEM_DEFAULT); }