blob: 58ab8117058ff79c8fe6a1a8250548b0b65a7e63 [file] [log] [blame]
diff --git a/init/main.c b/init/main.c
index b5cc0a7..640623a 100644
--- a/init/main.c
+++ b/init/main.c
@@ -68,6 +68,8 @@
#include <linux/shmem_fs.h>
#include <linux/slab.h>
#include <linux/perf_event.h>
+#include <linux/console.h>
+#include <linux/mm.h>
#include <asm/io.h>
#include <asm/bugs.h>
@@ -462,6 +464,16 @@ static void __init mm_init(void)
vmalloc_init();
}
+static void contprint(void *dummy)
+{
+ int i;
+
+ printk("%i-<", smp_processor_id());
+ for (i = 0; i < 10; i++)
+ printk("%i-%i ", smp_processor_id(), i);
+ printk("%i->\n", smp_processor_id());
+}
+
asmlinkage void __init start_kernel(void)
{
char * command_line;
@@ -562,6 +574,33 @@ asmlinkage void __init start_kernel(void)
kmem_cache_init_late();
+ console_lock();
+ smp_call_function_single(0, contprint, NULL, 1);
+ smp_call_function_single(1, contprint, NULL, 1);
+ smp_call_function_single(0, contprint, NULL, 1);
+ smp_call_function_single(1, contprint, NULL, 1);
+
+ show_free_areas(0);
+
+ {
+ int i;
+
+ pr_info("[");
+ for (i = 0; i < 4; i++)
+ pr_cont("%i ", i);
+ pr_cont("]\n");
+ }
+ console_unlock();
+
+ {
+ int i;
+
+ pr_info("[");
+ for (i = 0; i < 4; i++)
+ pr_cont("%i ", i);
+ pr_cont("]\n");
+ }
+
/*
* HACK ALERT! This is early. We're enabling the console before
* we've done PCI setups etc, and console_init() must be aware of
@@ -864,6 +903,13 @@ static int __init kernel_init(void * unused)
do_basic_setup();
+ console_lock();
+ smp_call_function_single(0, contprint, NULL, 1);
+ smp_call_function_single(1, contprint, NULL, 1);
+ smp_call_function_single(0, contprint, NULL, 1);
+ smp_call_function_single(1, contprint, NULL, 1);
+ console_unlock();
+
/* Open the /dev/console on the rootfs, this should never fail */
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
printk(KERN_WARNING "Warning: unable to open an initial console.\n");