aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor@insightbb.com>2007-02-10 01:26:32 -0500
committerDmitry Torokhov <dtor@insightbb.com>2007-02-10 01:26:32 -0500
commitb22364c8eec89e6b0c081a237f3b6348df87796f (patch)
tree233a923281fb640106465d076997ff511efb6edf /init/main.c
parent2c8dc071517ec2843869024dc82be2e246f41064 (diff)
parent66efc5a7e3061c3597ac43a8bb1026488d57e66b (diff)
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/init/main.c b/init/main.c
index 1174ae3aec8c..8b4a7d769162 100644
--- a/init/main.c
+++ b/init/main.c
@@ -50,6 +50,8 @@
50#include <linux/buffer_head.h> 50#include <linux/buffer_head.h>
51#include <linux/debug_locks.h> 51#include <linux/debug_locks.h>
52#include <linux/lockdep.h> 52#include <linux/lockdep.h>
53#include <linux/pid_namespace.h>
54#include <linux/device.h>
53 55
54#include <asm/io.h> 56#include <asm/io.h>
55#include <asm/bugs.h> 57#include <asm/bugs.h>
@@ -91,8 +93,6 @@ extern void pidmap_init(void);
91extern void prio_tree_init(void); 93extern void prio_tree_init(void);
92extern void radix_tree_init(void); 94extern void radix_tree_init(void);
93extern void free_initmem(void); 95extern void free_initmem(void);
94extern void populate_rootfs(void);
95extern void driver_init(void);
96extern void prepare_namespace(void); 96extern void prepare_namespace(void);
97#ifdef CONFIG_ACPI 97#ifdef CONFIG_ACPI
98extern void acpi_early_init(void); 98extern void acpi_early_init(void);
@@ -530,6 +530,11 @@ asmlinkage void __init start_kernel(void)
530 parse_args("Booting kernel", command_line, __start___param, 530 parse_args("Booting kernel", command_line, __start___param,
531 __stop___param - __start___param, 531 __stop___param - __start___param,
532 &unknown_bootoption); 532 &unknown_bootoption);
533 if (!irqs_disabled()) {
534 printk(KERN_WARNING "start_kernel(): bug: interrupts were "
535 "enabled *very* early, fixing it\n");
536 local_irq_disable();
537 }
533 sort_main_extable(); 538 sort_main_extable();
534 trap_init(); 539 trap_init();
535 rcu_init(); 540 rcu_init();
@@ -624,8 +629,6 @@ static int __init initcall_debug_setup(char *str)
624} 629}
625__setup("initcall_debug", initcall_debug_setup); 630__setup("initcall_debug", initcall_debug_setup);
626 631
627struct task_struct *child_reaper = &init_task;
628
629extern initcall_t __initcall_start[], __initcall_end[]; 632extern initcall_t __initcall_start[], __initcall_end[];
630 633
631static void __init do_initcalls(void) 634static void __init do_initcalls(void)
@@ -692,7 +695,7 @@ static void __init do_basic_setup(void)
692 do_initcalls(); 695 do_initcalls();
693} 696}
694 697
695static void do_pre_smp_initcalls(void) 698static void __init do_pre_smp_initcalls(void)
696{ 699{
697 extern int spawn_ksoftirqd(void); 700 extern int spawn_ksoftirqd(void);
698#ifdef CONFIG_SMP 701#ifdef CONFIG_SMP
@@ -725,7 +728,7 @@ static int init(void * unused)
725 * assumptions about where in the task array this 728 * assumptions about where in the task array this
726 * can be found. 729 * can be found.
727 */ 730 */
728 child_reaper = current; 731 init_pid_ns.child_reaper = current;
729 732
730 cad_pid = task_pid(current); 733 cad_pid = task_pid(current);
731 734
@@ -738,12 +741,6 @@ static int init(void * unused)
738 741
739 cpuset_init_smp(); 742 cpuset_init_smp();
740 743
741 /*
742 * Do this before initcalls, because some drivers want to access
743 * firmware files.
744 */
745 populate_rootfs();
746
747 do_basic_setup(); 744 do_basic_setup();
748 745
749 /* 746 /*