diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/e820.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 7b7685b7885..fa77cb4185c 100644 --- a/arch/x86/kernel/e820.c +++ b/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); } |