diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-17 15:41:45 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 10:38:47 +0200 |
commit | 1c6e55032e24ff79668581a0f296c278ef7edd4e (patch) | |
tree | 5368ede51192cc0b4413ac8be9ea86bad211187c /arch/x86/kernel/setup_32.c | |
parent | 0699eae140a3eeca976df4e3b7699b1fa3f763cd (diff) |
x86: use acpi_numa_init to parse on 32-bit numa
seperate SRAT finding and parsing from get_memcfg_from_srat,
and let getmemcfg_from_srat only handle array from previous step.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup_32.c')
-rw-r--r-- | arch/x86/kernel/setup_32.c | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 90a2b857b4a..7e06ecd8317 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c @@ -59,6 +59,7 @@ #include <asm/setup.h> #include <asm/arch_hooks.h> #include <asm/sections.h> +#include <asm/dmi.h> #include <asm/io_apic.h> #include <asm/ist.h> #include <asm/io.h> @@ -185,6 +186,12 @@ int bootloader_type; static unsigned int highmem_pages = -1; /* + * Early DMI memory + */ +int dmi_alloc_index; +char dmi_alloc_data[DMI_MAX_DATA]; + +/* * Setup options */ struct screen_info screen_info; @@ -775,6 +782,24 @@ void __init setup_arch(char **cmdline_p) max_pfn = e820_end_of_ram(); } + dmi_scan_machine(); + + io_delay_init(); + +#ifdef CONFIG_ACPI + /* + * Parse the ACPI tables for possible boot-time SMP configuration. + */ + acpi_boot_table_init(); +#endif + +#ifdef CONFIG_ACPI_NUMA + /* + * Parse SRAT to discover nodes. + */ + acpi_numa_init(); +#endif + max_low_pfn = setup_memory(); #ifdef CONFIG_ACPI_SLEEP @@ -841,10 +866,6 @@ void __init setup_arch(char **cmdline_p) paravirt_post_allocator_init(); - dmi_scan_machine(); - - io_delay_init(); - #ifdef CONFIG_X86_SMP /* * setup to use the early static init tables during kernel startup @@ -861,13 +882,6 @@ void __init setup_arch(char **cmdline_p) generic_apic_probe(); #endif -#ifdef CONFIG_ACPI - /* - * Parse the ACPI tables for possible boot-time SMP configuration. - */ - acpi_boot_table_init(); -#endif - early_quirks(); #ifdef CONFIG_ACPI |