• Gerd Hoffmann's avatar
    [PATCH] x86_64: x86_64 version of the smp alternative patch. · d167a518
    Gerd Hoffmann authored
    Changes are largely identical to the i386 version:
    
     * alternative #define are moved to the new alternative.h file.
     * one new elf section with pointers to the lock prefixes which can be
       nop'ed out for non-smp.
     * two new elf sections simliar to the "classic" alternatives to
       replace SMP code with simpler UP code.
     * fixup headers to use alternative.h instead of defining their own
       LOCK / LOCK_PREFIX macros.
    
    The patch reuses the i386 version of the alternatives code to avoid code
    duplication.  The code in alternatives.c was shuffled around a bit to
    reduce the number of #ifdefs needed.  It also got some tweaks needed for
    x86_64 (vsyscall page handling) and new features (noreplacement option
    which was x86_64 only up to now).  Debug printk's are changed from
    compile-time to runtime.
    
    Loosely based on a early version from Bastian Blank <waldi@debian.org>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@suse.de>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    d167a518
smpboot.c 31.7 KB