diff options
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 90a2b857b4a7..7e06ecd83174 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
@@ -59,6 +59,7 @@ | |||
59 | #include <asm/setup.h> | 59 | #include <asm/setup.h> |
60 | #include <asm/arch_hooks.h> | 60 | #include <asm/arch_hooks.h> |
61 | #include <asm/sections.h> | 61 | #include <asm/sections.h> |
62 | #include <asm/dmi.h> | ||
62 | #include <asm/io_apic.h> | 63 | #include <asm/io_apic.h> |
63 | #include <asm/ist.h> | 64 | #include <asm/ist.h> |
64 | #include <asm/io.h> | 65 | #include <asm/io.h> |
@@ -185,6 +186,12 @@ int bootloader_type; | |||
185 | static unsigned int highmem_pages = -1; | 186 | static unsigned int highmem_pages = -1; |
186 | 187 | ||
187 | /* | 188 | /* |
189 | * Early DMI memory | ||
190 | */ | ||
191 | int dmi_alloc_index; | ||
192 | char dmi_alloc_data[DMI_MAX_DATA]; | ||
193 | |||
194 | /* | ||
188 | * Setup options | 195 | * Setup options |
189 | */ | 196 | */ |
190 | struct screen_info screen_info; | 197 | struct screen_info screen_info; |
@@ -775,6 +782,24 @@ void __init setup_arch(char **cmdline_p) | |||
775 | max_pfn = e820_end_of_ram(); | 782 | max_pfn = e820_end_of_ram(); |
776 | } | 783 | } |
777 | 784 | ||
785 | dmi_scan_machine(); | ||
786 | |||
787 | io_delay_init(); | ||
788 | |||
789 | #ifdef CONFIG_ACPI | ||
790 | /* | ||
791 | * Parse the ACPI tables for possible boot-time SMP configuration. | ||
792 | */ | ||
793 | acpi_boot_table_init(); | ||
794 | #endif | ||
795 | |||
796 | #ifdef CONFIG_ACPI_NUMA | ||
797 | /* | ||
798 | * Parse SRAT to discover nodes. | ||
799 | */ | ||
800 | acpi_numa_init(); | ||
801 | #endif | ||
802 | |||
778 | max_low_pfn = setup_memory(); | 803 | max_low_pfn = setup_memory(); |
779 | 804 | ||
780 | #ifdef CONFIG_ACPI_SLEEP | 805 | #ifdef CONFIG_ACPI_SLEEP |
@@ -841,10 +866,6 @@ void __init setup_arch(char **cmdline_p) | |||
841 | 866 | ||
842 | paravirt_post_allocator_init(); | 867 | paravirt_post_allocator_init(); |
843 | 868 | ||
844 | dmi_scan_machine(); | ||
845 | |||
846 | io_delay_init(); | ||
847 | |||
848 | #ifdef CONFIG_X86_SMP | 869 | #ifdef CONFIG_X86_SMP |
849 | /* | 870 | /* |
850 | * setup to use the early static init tables during kernel startup | 871 | * setup to use the early static init tables during kernel startup |
@@ -861,13 +882,6 @@ void __init setup_arch(char **cmdline_p) | |||
861 | generic_apic_probe(); | 882 | generic_apic_probe(); |
862 | #endif | 883 | #endif |
863 | 884 | ||
864 | #ifdef CONFIG_ACPI | ||
865 | /* | ||
866 | * Parse the ACPI tables for possible boot-time SMP configuration. | ||
867 | */ | ||
868 | acpi_boot_table_init(); | ||
869 | #endif | ||
870 | |||
871 | early_quirks(); | 885 | early_quirks(); |
872 | 886 | ||
873 | #ifdef CONFIG_ACPI | 887 | #ifdef CONFIG_ACPI |