--- arch/x86/kernel/smpboot.c | 9 +++++++++ 1 file changed, 9 insertions(+) Index: linux-2.6/arch/x86/kernel/smpboot.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/smpboot.c +++ linux-2.6/arch/x86/kernel/smpboot.c @@ -1253,6 +1253,15 @@ void __init native_smp_cpus_done(unsigne { pr_debug("Boot done.\n"); +#ifdef CONFIG_X86_64 + /* + * This is necessary for the resume from suspend to RAM code to work + * on x86_64 if there is only one CPU, but the kernel is SMP-capable. + */ + early_gdt_descr.address = + (unsigned long)get_cpu_gdt_table(smp_processor_id()); +#endif + impress_friends(); smp_checks(); #ifdef CONFIG_X86_IO_APIC