[patch V2 18/22] x86/mm/numa: Move early mptable evaluation into common code

From: Thomas Gleixner
Date: Tue Jan 23 2024 - 08:14:52 EST


From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

There is no reason to have the early mptable evaluation conditionally
invoked only from the AMD numa topology code.

Make it explicit and invoke it from setup_arch() right after the
corresponding ACPI init call. Remove the pointless wrapper and invoke
x86_init::mpparse::early_parse_smp_config() directly.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---
arch/x86/include/asm/mpspec.h | 5 -----
arch/x86/kernel/setup.c | 2 ++
arch/x86/mm/amdtopology.c | 7 -------
3 files changed, 2 insertions(+), 12 deletions(-)
---
--- a/arch/x86/include/asm/mpspec.h
+++ b/arch/x86/include/asm/mpspec.h
@@ -46,11 +46,6 @@ extern int smp_found_config;
# define smp_found_config 0
#endif

-static inline void early_get_smp_config(void)
-{
- x86_init.mpparse.early_parse_smp_cfg();
-}
-
#ifdef CONFIG_X86_MPPARSE
extern void e820__memblock_alloc_reserved_mpc_new(void);
extern int enable_update_mptable;
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1086,7 +1086,9 @@ void __init setup_arch(char **cmdline_p)

early_platform_quirks();

+ /* Some platforms need the APIC registered for NUMA configuration */
early_acpi_boot_init();
+ x86_init.mpparse.early_parse_smp_cfg();

x86_flattree_get_config();

--- a/arch/x86/mm/amdtopology.c
+++ b/arch/x86/mm/amdtopology.c
@@ -161,13 +161,6 @@ int __init amd_numa_init(void)
*/
cores = topology_get_domain_size(TOPO_CORE_DOMAIN);

- /*
- * Scan MPTABLE to map the local APIC and ensure that the boot CPU
- * APIC ID is valid. This is required because on pre ACPI/SRAT
- * systems IO-APICs are mapped before the boot CPU.
- */
- early_get_smp_config();
-
apicid = boot_cpu_physical_apicid;
if (apicid > 0)
pr_info("BSP APIC ID: %02x\n", apicid);