--- arch/x86/kernel/setup.c | 4 ++++ arch/x86/kernel/smpboot.c | 1 + drivers/serial/8250.c | 3 +++ init/main.c | 6 ++++++ 4 files changed, 14 insertions(+) Index: linux-2.6/arch/x86/kernel/setup.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/setup.c 2008-05-29 17:10:59.373894168 -0700 +++ linux-2.6/arch/x86/kernel/setup.c 2008-05-29 17:10:59.978644454 -0700 @@ -129,9 +129,13 @@ void __init setup_per_cpu_areas(void) * So far we have used an embryonic per cpu area that only contained * the pda. Move the pda contents into the full per cpu area. */ + printk("Init cpu area =%d addr=%p pda=%p start=%p size=%ld\n", + i, ptr, cpu_pda(i), __per_cpu_load, __per_cpu_size); cpu_pda(i)->data_offset = ptr - __per_cpu_start; memcpy(ptr, cpu_pda(i), sizeof(struct x8664_pda)); cpu_pda(i) = (struct x8664_pda *)ptr; + + printk("per_cpu&pda,%d)=%p\n", i, &per_cpu(pda, i)); #else __per_cpu_offset[i] = ptr - __per_cpu_start; #endif Index: linux-2.6/arch/x86/kernel/smpboot.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/smpboot.c 2008-05-29 17:10:59.373894168 -0700 +++ linux-2.6/arch/x86/kernel/smpboot.c 2008-05-29 17:10:59.978644454 -0700 @@ -857,6 +857,7 @@ static int __cpuinit do_boot_cpu(int api } #endif + printk("do_boot_cpu(%d) cpu_pda=%p\n", cpu, cpu_pda(cpu)); alternatives_smp_switch(1); c_idle.idle = get_idle_for_cpu(cpu); Index: linux-2.6/drivers/serial/8250.c =================================================================== --- linux-2.6.orig/drivers/serial/8250.c 2008-05-29 17:10:53.325023657 -0700 +++ linux-2.6/drivers/serial/8250.c 2008-05-29 17:11:02.154394567 -0700 @@ -2625,8 +2625,11 @@ static struct console serial8250_console static int __init serial8250_console_init(void) { + printk("8250 serial init\n"); serial8250_isa_init_ports(); + printk("8250 register console\n"); register_console(&serial8250_console); + printk("8250 end\n"); return 0; } console_initcall(serial8250_console_init); Index: linux-2.6/init/main.c =================================================================== --- linux-2.6.orig/init/main.c 2008-05-29 17:10:53.335393868 -0700 +++ linux-2.6/init/main.c 2008-05-29 17:11:02.170393798 -0700 @@ -602,8 +602,10 @@ asmlinkage void __init start_kernel(void softirq_init(); timekeeping_init(); time_init(); + printk("T1\n"); sched_clock_init(); profile_init(); + printk("T2\n"); if (!irqs_disabled()) printk("start_kernel(): bug: interrupts were enabled early\n"); early_boot_irqs_on(); @@ -614,10 +616,12 @@ asmlinkage void __init start_kernel(void * we've done PCI setups etc, and console_init() must be aware of * this. But we do want output early, in case something goes wrong. */ + printk("T3\n"); console_init(); if (panic_later) panic(panic_later, panic_param); + printk("T4\n"); lockdep_info(); /* @@ -635,8 +639,10 @@ asmlinkage void __init start_kernel(void initrd_start = 0; } #endif + printk("T5\n"); vfs_caches_init_early(); cpuset_init_early(); + printk("TM\n"); mem_init(); enable_debug_pagealloc(); cpu_hotplug_init();