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);
}