x86: extend e820 early_res support 32bit -fix #4
reserve_early pgdata for 32bit numa Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
f0d43100f1
commit
163872950d
1 changed files with 7 additions and 2 deletions
|
@ -159,8 +159,13 @@ static void __init allocate_pgdat(int nid)
|
|||
if (nid && node_has_online_mem(nid))
|
||||
NODE_DATA(nid) = (pg_data_t *)node_remap_start_vaddr[nid];
|
||||
else {
|
||||
NODE_DATA(nid) = (pg_data_t *)(pfn_to_kaddr(min_low_pfn));
|
||||
min_low_pfn += PFN_UP(sizeof(pg_data_t));
|
||||
unsigned long pgdat_phys;
|
||||
pgdat_phys = find_e820_area(min_low_pfn<<PAGE_SHIFT,
|
||||
max_low_pfn<<PAGE_SHIFT, sizeof(pg_data_t),
|
||||
PAGE_SIZE);
|
||||
NODE_DATA(nid) = (pg_data_t *)(pfn_to_kaddr(pgdat_phys>>PAGE_SHIFT));
|
||||
reserve_early(pgdat_phys, pgdat_phys + sizeof(pg_data_t),
|
||||
"NODE_DATA");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue