|
@@ -209,6 +209,12 @@ static int __meminit sparse_init_one_section(struct mem_section *ms,
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+__attribute__((weak))
|
|
|
+void *alloc_bootmem_high_node(pg_data_t *pgdat, unsigned long size)
|
|
|
+{
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
static struct page __init *sparse_early_mem_map_alloc(unsigned long pnum)
|
|
|
{
|
|
|
struct page *map;
|
|
@@ -219,6 +225,11 @@ static struct page __init *sparse_early_mem_map_alloc(unsigned long pnum)
|
|
|
if (map)
|
|
|
return map;
|
|
|
|
|
|
+ map = alloc_bootmem_high_node(NODE_DATA(nid),
|
|
|
+ sizeof(struct page) * PAGES_PER_SECTION);
|
|
|
+ if (map)
|
|
|
+ return map;
|
|
|
+
|
|
|
map = alloc_bootmem_node(NODE_DATA(nid),
|
|
|
sizeof(struct page) * PAGES_PER_SECTION);
|
|
|
if (map)
|