aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig15
-rw-r--r--init/main.c31
2 files changed, 13 insertions, 33 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 13627191a60d..52847eec7398 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -916,14 +916,17 @@ config MODULE_SRCVERSION_ALL
916 the version). With this option, such a "srcversion" field 916 the version). With this option, such a "srcversion" field
917 will be created for all modules. If unsure, say N. 917 will be created for all modules. If unsure, say N.
918 918
919config KMOD
920 def_bool y
921 help
922 This is being removed soon. These days, CONFIG_MODULES
923 implies CONFIG_KMOD, so use that instead.
924
925endif # MODULES 919endif # MODULES
926 920
921config INIT_ALL_POSSIBLE
922 bool
923 help
924 Back when each arch used to define their own cpu_online_map and
925 cpu_possible_map, some of them chose to initialize cpu_possible_map
926 with all 1s, and others with all 0s. When they were centralised,
927 it was better to provide this option than to break all the archs
928 and have several arch maintainers persuing me down dark alleys.
929
927config STOP_MACHINE 930config STOP_MACHINE
928 bool 931 bool
929 default y 932 default y
diff --git a/init/main.c b/init/main.c
index 77cb720fed4e..72a521c0da07 100644
--- a/init/main.c
+++ b/init/main.c
@@ -76,15 +76,6 @@
76#include <asm/smp.h> 76#include <asm/smp.h>
77#endif 77#endif
78 78
79/*
80 * This is one of the first .c files built. Error out early if we have compiler
81 * trouble.
82 */
83
84#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 0
85#warning gcc-4.1.0 is known to miscompile the kernel. A different compiler version is recommended.
86#endif
87
88static int kernel_init(void *); 79static int kernel_init(void *);
89 80
90extern void init_IRQ(void); 81extern void init_IRQ(void);
@@ -381,12 +372,7 @@ EXPORT_SYMBOL(nr_cpu_ids);
381/* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */ 372/* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */
382static void __init setup_nr_cpu_ids(void) 373static void __init setup_nr_cpu_ids(void)
383{ 374{
384 int cpu, highest_cpu = 0; 375 nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1;
385
386 for_each_possible_cpu(cpu)
387 highest_cpu = cpu;
388
389 nr_cpu_ids = highest_cpu + 1;
390} 376}
391 377
392#ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA 378#ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA
@@ -528,9 +514,9 @@ static void __init boot_cpu_init(void)
528{ 514{
529 int cpu = smp_processor_id(); 515 int cpu = smp_processor_id();
530 /* Mark the boot cpu "present", "online" etc for SMP and UP case */ 516 /* Mark the boot cpu "present", "online" etc for SMP and UP case */
531 cpu_set(cpu, cpu_online_map); 517 set_cpu_online(cpu, true);
532 cpu_set(cpu, cpu_present_map); 518 set_cpu_present(cpu, true);
533 cpu_set(cpu, cpu_possible_map); 519 set_cpu_possible(cpu, true);
534} 520}
535 521
536void __init __weak smp_setup_processor_id(void) 522void __init __weak smp_setup_processor_id(void)
@@ -541,15 +527,6 @@ void __init __weak thread_info_cache_init(void)
541{ 527{
542} 528}
543 529
544void __init __weak arch_early_irq_init(void)
545{
546}
547
548void __init __weak early_irq_init(void)
549{
550 arch_early_irq_init();
551}
552
553asmlinkage void __init start_kernel(void) 530asmlinkage void __init start_kernel(void)
554{ 531{
555 char * command_line; 532 char * command_line;