X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=init%2Fmain.c;h=ff410063e4e13ca6a296a680a136a15297d079de;hb=9bcf655109ae06a8e652671a0de6fe2da5c213c2;hp=d324801729ba713938481fd4f3a8199fdc2eb6e9;hpb=3e0777b8fa96f7073ed5d13d3bc1d573b766bef9;p=linux-2.6 diff --git a/init/main.c b/init/main.c index d324801729..ff410063e4 100644 --- a/init/main.c +++ b/init/main.c @@ -47,10 +47,12 @@ #include #include #include +#include #include #include #include +#include /* * This is one of the first .c files built. Error out early @@ -79,7 +81,6 @@ static int init(void *); extern void init_IRQ(void); -extern void sock_init(void); extern void fork_init(unsigned long); extern void mca_init(void); extern void sbus_init(void); @@ -323,8 +324,6 @@ static void __init setup_per_cpu_areas(void) { unsigned long size, i; char *ptr; - /* Created by linker magic */ - extern char __per_cpu_start[], __per_cpu_end[]; /* Copy section for each CPU (we discard the original) */ size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES); @@ -383,6 +382,13 @@ static void noinline rest_init(void) numa_default_policy(); unlock_kernel(); preempt_enable_no_resched(); + + /* + * The boot idle thread must execute schedule() + * at least one to get things moving: + */ + schedule(); + cpu_idle(); }