X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fx86_64%2Fkernel%2Fsmpboot.c;h=06937402b31c3fc864559e321ff2b0fcbf237c30;hb=5020cac828f9f6c98a685598599a1dc798712005;hp=29f2578bf5e3fdf697ab26ffa0179ea24522c9ac;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 29f2578bf..06937402b 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c @@ -659,7 +659,7 @@ static void __init do_boot_cpu (int apicid) Dprintk("CPU has booted.\n"); } else { boot_error = 1; - if (*((volatile unsigned char *)phys_to_virt(SMP_TRAMPOLINE_BASE)) + if (*((volatile unsigned char *)phys_to_virt(8192)) == 0xA5) /* trampoline started but...? */ printk("Stuck ??\n"); @@ -676,6 +676,9 @@ static void __init do_boot_cpu (int apicid) clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ cpucount--; } + + /* mark "stuck" area as not stuck */ + *((volatile unsigned *)phys_to_virt(8192)) = 0; } cycles_t cacheflush_time;