diff options
Diffstat (limited to 'arch/arm/kernel/setup.c')
-rw-r--r-- | arch/arm/kernel/setup.c | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index a7f79b7ee868..4848ef1c0e7f 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -31,6 +31,9 @@ #include <linux/compiler.h> #include <linux/sort.h> #include <linux/efi.h> +#ifdef CONFIG_ACPI +#include <linux/acpi.h> +#endif #include <asm/unified.h> #include <asm/cp15.h> @@ -62,6 +65,18 @@ #include "atags.h" +/* BOZO: clears up the missing symbol during compile, but is this + * the right way to handle it? + */ +/* + * end_pfn only includes RAM, while max_pfn_mapped includes all e820 entries. + * The direct mapping extends to max_pfn_mapped, so that we can directly access + * apertures, ACPI and other tables without having to play with fixmaps. + */ +unsigned long max_low_pfn_mapped; +unsigned long max_pfn_mapped; + +/* END BOZO */ #if defined(CONFIG_FPE_NWFPE) || defined(CONFIG_FPE_FASTFPE) char fpe_type[8]; @@ -895,6 +910,14 @@ void __init setup_arch(char **cmdline_p) paging_init(mdesc); request_standard_resources(mdesc); +#ifdef CONFIG_ACPI + /* + * Parse the ACPI tables for possible boot-time configuration + */ + acpi_boot_table_init(); + early_acpi_boot_init(); +#endif + if (mdesc->restart) arm_pm_restart = mdesc->restart; @@ -934,22 +957,11 @@ void __init setup_arch(char **cmdline_p) if (mdesc->init_early) mdesc->init_early(); -} - - -static int __init topology_init(void) -{ - int cpu; - for_each_possible_cpu(cpu) { - struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu); - cpuinfo->cpu.hotpluggable = 1; - register_cpu(&cpuinfo->cpu, cpu); - } - - return 0; +#ifdef CONFIG_ACPI + acpi_boot_init(); +#endif } -subsys_initcall(topology_init); #ifdef CONFIG_HAVE_PROC_CPU static int __init proc_cpu_init(void) |