• James Bottomley's avatar
    [PATCH] x86: fix PDA variables to work during boot · 9ee79a3d
    James Bottomley authored
    The current PDA code, which went in in post 2.6.19 has a flaw in that it
    doesn't correctly cycle the GDT and %GS segment through the boot PDA,
    the CPU PDA and finally the per-cpu PDA.
    
    The bug generally doesn't show up if the boot CPU id is zero, but
    everything falls apart for a non zero boot CPU id.  The basically kills
    voyager which is perfectly capable of doing non zero CPU id boots, so
    voyager currently won't boot without this.
    
    The fix is to be careful and actually do the GDT setups correctly.
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Cc: Andrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9ee79a3d
smpboot.c 36.7 KB