• James Bottomley's avatar
    [PATCH] x86: fix broken SMP boot sequence · 2b932f6c
    James Bottomley authored
    Recent GDT changes broke the SMP boot sequence if the booting CPU is
    numbered anything other than zero.  There's also a subtle source of error
    in that the boot time CPU now uses cpu_gdt_table (which is actually the GDT
    for booting CPUs in head.S).  This patch fixes both problems by making GDT
    descriptors themselves allocated from a per_cpu area and switching to them
    in cpu_init(), which now means that cpu_gdt_table is exclusively used for
    booting CPUs again.
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    Cc: Zachary Amsden <zach@vmware.com>
    Cc: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    2b932f6c
smpboot.c 34.4 KB