]> err.no Git - linux-2.6/blobdiff - init/main.c
[ALSA] ymfpci: add per-voice volume controls
[linux-2.6] / init / main.c
index d324801729ba713938481fd4f3a8199fdc2eb6e9..ff410063e4e13ca6a296a680a136a15297d079de 100644 (file)
 #include <linux/rmap.h>
 #include <linux/mempolicy.h>
 #include <linux/key.h>
+#include <net/sock.h>
 
 #include <asm/io.h>
 #include <asm/bugs.h>
 #include <asm/setup.h>
+#include <asm/sections.h>
 
 /*
  * 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();
 }