diff options
| author | Huang Pei <huangpei@loongson.cn> | 2024-01-27 17:12:21 +0800 |
|---|---|---|
| committer | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2024-01-27 11:07:57 +0100 |
| commit | 822df315cc7c85c3c10afcc6408b254a6fa0f166 (patch) | |
| tree | 4a9997d54fa138ecd5310d32a8c8ed7cebc7478a /arch/mips/loongson64/init.c | |
| parent | c91c6b2f08afb7be111678ceade563158c9a31ba (diff) | |
| download | linux-822df315cc7c85c3c10afcc6408b254a6fa0f166.tar.gz linux-822df315cc7c85c3c10afcc6408b254a6fa0f166.tar.bz2 linux-822df315cc7c85c3c10afcc6408b254a6fa0f166.zip | |
MIPS: loongson64: set nid for reserved memblock region
Commit 61167ad5fecd("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 61167ad5fecd
("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>
Diffstat (limited to 'arch/mips/loongson64/init.c')
| -rw-r--r-- | arch/mips/loongson64/init.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c index f25caa6aa9d3..553142c1f14f 100644 --- a/arch/mips/loongson64/init.c +++ b/arch/mips/loongson64/init.c @@ -103,6 +103,9 @@ void __init szmem(unsigned int node) if (loongson_sysconf.vgabios_addr) memblock_reserve(virt_to_phys((void *)loongson_sysconf.vgabios_addr), SZ_256K); + /* set nid for reserved memory */ + memblock_set_node((u64)node << 44, (u64)(node + 1) << 44, + &memblock.reserved, node); } #ifndef CONFIG_NUMA |
