Skip to content

Commit 822df31

Browse files
mips-hptsbogend
authored andcommitted
MIPS: loongson64: set nid for reserved memblock region
Commit 61167ad("mm: pass nid to reserve_bootmem_region()") reveals that reserved memblock regions have no valid node id set, just set it right since loongson64 firmware makes it clear in memory layout info. This works around booting failure on 3A1000+ since commit 61167ad ("mm: pass nid to reserve_bootmem_region()") under CONFIG_DEFERRED_STRUCT_PAGE_INIT. Signed-off-by: Huang Pei <huangpei@loongson.cn> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
1 parent c91c6b2 commit 822df31

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

arch/mips/loongson64/init.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ void __init szmem(unsigned int node)
103103
if (loongson_sysconf.vgabios_addr)
104104
memblock_reserve(virt_to_phys((void *)loongson_sysconf.vgabios_addr),
105105
SZ_256K);
106+
/* set nid for reserved memory */
107+
memblock_set_node((u64)node << 44, (u64)(node + 1) << 44,
108+
&memblock.reserved, node);
106109
}
107110

108111
#ifndef CONFIG_NUMA

arch/mips/loongson64/numa.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ static void __init node_mem_init(unsigned int node)
132132

133133
/* Reserve pfn range 0~node[0]->node_start_pfn */
134134
memblock_reserve(0, PAGE_SIZE * start_pfn);
135+
/* set nid for reserved memory on node 0 */
136+
memblock_set_node(0, 1ULL << 44, &memblock.reserved, 0);
135137
}
136138
}
137139

0 commit comments

Comments
 (0)