Message ID | 78559205988aa1c0b42ee6ac20bb0fec3200f978.1647682458.git.chenfeiyang@loongson.cn (mailing list archive) |
---|---|
State | Accepted |
Commit | f8f9f21c7848e63133c16c899f3d84aa54eb79fe |
Headers | show |
Series | [v2] MIPS: Fix build error for loongson64 and sgi-ip27 | expand |
Looks good to me. Reviewed-by: Huacai Chen <chenhuacai@kernel.org> On Sat, Mar 19, 2022 at 5:40 PM Feiyang Chen <chris.chenfeiyang@gmail.com> wrote: > > Select HAVE_ARCH_NODEDATA_EXTENSION for loongson64 to fix build error > when CONFIG_NUMA=y: > > mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': > (.init.text+0x1714): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: (.init.text+0x1730): undefined reference to `node_data' > > Also, select HAVE_ARCH_NODEDATA_EXTENSION for sgi-ip27 to fix build error: > > mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': > page_alloc.c:(.init.text+0x1ba8): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bcc): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1be4): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bf4): undefined reference to `node_data' > > Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn> > --- > arch/mips/Kconfig | 5 +++++ > arch/mips/loongson64/numa.c | 10 ++++++++++ > arch/mips/sgi-ip27/ip27-memory.c | 10 ++++++++++ > 3 files changed, 25 insertions(+) > > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index 0dae5f1e61cc..de3b32a507d2 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -513,6 +513,7 @@ config MACH_LOONGSON64 > select USE_OF > select BUILTIN_DTB > select PCI_HOST_GENERIC > + select HAVE_ARCH_NODEDATA_EXTENSION if NUMA > help > This enables the support of Loongson-2/3 family of machines. > > @@ -709,6 +710,7 @@ config SGI_IP27 > select WAR_R10000_LLSC > select MIPS_L1_CACHE_SHIFT_7 > select NUMA > + select HAVE_ARCH_NODEDATA_EXTENSION > help > This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics > workstations. To compile a Linux kernel that runs on these, say Y > @@ -2708,6 +2710,9 @@ config NUMA > config SYS_SUPPORTS_NUMA > bool > > +config HAVE_ARCH_NODEDATA_EXTENSION > + bool > + > config RELOCATABLE > bool "Relocatable kernel" > depends on SYS_SUPPORTS_RELOCATABLE > diff --git a/arch/mips/loongson64/numa.c b/arch/mips/loongson64/numa.c > index e8e3e48c5333..69a533148efd 100644 > --- a/arch/mips/loongson64/numa.c > +++ b/arch/mips/loongson64/numa.c > @@ -197,3 +197,13 @@ void __init prom_init_numa_memory(void) > prom_meminit(); > } > EXPORT_SYMBOL(prom_init_numa_memory); > + > +pg_data_t * __init arch_alloc_nodedata(int nid) > +{ > + return memblock_alloc(sizeof(pg_data_t), SMP_CACHE_BYTES); > +} > + > +void arch_refresh_nodedata(int nid, pg_data_t *pgdat) > +{ > + __node_data[nid] = pgdat; > +} > diff --git a/arch/mips/sgi-ip27/ip27-memory.c b/arch/mips/sgi-ip27/ip27-memory.c > index adc2faeecf7c..f79c48393716 100644 > --- a/arch/mips/sgi-ip27/ip27-memory.c > +++ b/arch/mips/sgi-ip27/ip27-memory.c > @@ -422,3 +422,13 @@ void __init mem_init(void) > memblock_free_all(); > setup_zero_pages(); /* This comes from node 0 */ > } > + > +pg_data_t * __init arch_alloc_nodedata(int nid) > +{ > + return memblock_alloc(sizeof(pg_data_t), SMP_CACHE_BYTES); > +} > + > +void arch_refresh_nodedata(int nid, pg_data_t *pgdat) > +{ > + __node_data[nid] = (struct node_data *)pgdat; > +} > -- > 2.27.0 >
On Sat, Mar 19, 2022 at 05:40:02PM +0800, Feiyang Chen wrote: > Select HAVE_ARCH_NODEDATA_EXTENSION for loongson64 to fix build error > when CONFIG_NUMA=y: > > mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': > (.init.text+0x1714): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: (.init.text+0x1730): undefined reference to `node_data' > > Also, select HAVE_ARCH_NODEDATA_EXTENSION for sgi-ip27 to fix build error: > > mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': > page_alloc.c:(.init.text+0x1ba8): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bcc): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1be4): undefined reference to `node_data' > mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bf4): undefined reference to `node_data' > > Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn> > --- > arch/mips/Kconfig | 5 +++++ > arch/mips/loongson64/numa.c | 10 ++++++++++ > arch/mips/sgi-ip27/ip27-memory.c | 10 ++++++++++ > 3 files changed, 25 insertions(+) applied to mips-next. Thomas.
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 0dae5f1e61cc..de3b32a507d2 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -513,6 +513,7 @@ config MACH_LOONGSON64 select USE_OF select BUILTIN_DTB select PCI_HOST_GENERIC + select HAVE_ARCH_NODEDATA_EXTENSION if NUMA help This enables the support of Loongson-2/3 family of machines. @@ -709,6 +710,7 @@ config SGI_IP27 select WAR_R10000_LLSC select MIPS_L1_CACHE_SHIFT_7 select NUMA + select HAVE_ARCH_NODEDATA_EXTENSION help This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics workstations. To compile a Linux kernel that runs on these, say Y @@ -2708,6 +2710,9 @@ config NUMA config SYS_SUPPORTS_NUMA bool +config HAVE_ARCH_NODEDATA_EXTENSION + bool + config RELOCATABLE bool "Relocatable kernel" depends on SYS_SUPPORTS_RELOCATABLE diff --git a/arch/mips/loongson64/numa.c b/arch/mips/loongson64/numa.c index e8e3e48c5333..69a533148efd 100644 --- a/arch/mips/loongson64/numa.c +++ b/arch/mips/loongson64/numa.c @@ -197,3 +197,13 @@ void __init prom_init_numa_memory(void) prom_meminit(); } EXPORT_SYMBOL(prom_init_numa_memory); + +pg_data_t * __init arch_alloc_nodedata(int nid) +{ + return memblock_alloc(sizeof(pg_data_t), SMP_CACHE_BYTES); +} + +void arch_refresh_nodedata(int nid, pg_data_t *pgdat) +{ + __node_data[nid] = pgdat; +} diff --git a/arch/mips/sgi-ip27/ip27-memory.c b/arch/mips/sgi-ip27/ip27-memory.c index adc2faeecf7c..f79c48393716 100644 --- a/arch/mips/sgi-ip27/ip27-memory.c +++ b/arch/mips/sgi-ip27/ip27-memory.c @@ -422,3 +422,13 @@ void __init mem_init(void) memblock_free_all(); setup_zero_pages(); /* This comes from node 0 */ } + +pg_data_t * __init arch_alloc_nodedata(int nid) +{ + return memblock_alloc(sizeof(pg_data_t), SMP_CACHE_BYTES); +} + +void arch_refresh_nodedata(int nid, pg_data_t *pgdat) +{ + __node_data[nid] = (struct node_data *)pgdat; +}
Select HAVE_ARCH_NODEDATA_EXTENSION for loongson64 to fix build error when CONFIG_NUMA=y: mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': (.init.text+0x1714): undefined reference to `node_data' mips64el-unknown-linux-gnu-ld: (.init.text+0x1730): undefined reference to `node_data' Also, select HAVE_ARCH_NODEDATA_EXTENSION for sgi-ip27 to fix build error: mips64el-unknown-linux-gnu-ld: mm/page_alloc.o: in function `free_area_init': page_alloc.c:(.init.text+0x1ba8): undefined reference to `node_data' mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bcc): undefined reference to `node_data' mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1be4): undefined reference to `node_data' mips64el-unknown-linux-gnu-ld: page_alloc.c:(.init.text+0x1bf4): undefined reference to `node_data' Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn> --- arch/mips/Kconfig | 5 +++++ arch/mips/loongson64/numa.c | 10 ++++++++++ arch/mips/sgi-ip27/ip27-memory.c | 10 ++++++++++ 3 files changed, 25 insertions(+)