From: Yinghai Lu <yinghai@xxxxxxxxxx> Parsing numa info has been separated into two steps now. early_initmem_info() only parses info in numa_meminfo and nodes_parsed. still keep numaq, acpi_numa, amd_numa, dummy fall back sequence working. SLIT and numa emulation handling are still left in initmem_init(). Call early_initmem_init before init_mem_mapping() to prepare to use numa_info with it. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Jacob Shin <jacob.shin@xxxxxxx> Reviewed-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Tested-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> --- arch/x86/kernel/setup.c | 24 ++++++++++-------------- 1 files changed, 10 insertions(+), 14 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 301165e..fd0d5be 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -1125,13 +1125,21 @@ void __init setup_arch(char **cmdline_p) trim_platform_memory_ranges(); trim_low_memory_range(); + /* + * Parse the ACPI tables for possible boot-time SMP configuration. + */ + acpi_initrd_override_copy(); + acpi_boot_table_init(); + early_acpi_boot_init(); + early_initmem_init(); init_mem_mapping(); - + memblock.current_limit = get_max_mapped(); early_trap_pf_init(); + reserve_initrd(); + setup_real_mode(); - memblock.current_limit = get_max_mapped(); dma_contiguous_reserve(0); /* @@ -1145,24 +1153,12 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); - acpi_initrd_override_copy(); - - reserve_initrd(); - reserve_crashkernel(); vsmp_init(); io_delay_init(); - /* - * Parse the ACPI tables for possible boot-time SMP configuration. - */ - acpi_boot_table_init(); - - early_acpi_boot_init(); - - early_initmem_init(); initmem_init(); memblock_find_dma_reserve(); -- 1.7.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>