x86: use specialized routine for setup per-cpu area
authorGlauber de Oliveira Costa <gcosta@redhat.com>
Wed, 19 Mar 2008 17:25:23 +0000 (14:25 -0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:01 +0000 (17:41 +0200)
We use the same routing as x86_64, moved now to setup.c.
Just with a few ifdefs inside.
Note that this routing uses prefill_possible_map().
It has the very nice side effect of allowing hotplugging of
cpus that are marked as present but disabled by acpi bios.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/Kconfig
arch/x86/kernel/Makefile
arch/x86/kernel/setup.c [new file with mode: 0644]
arch/x86/kernel/setup64.c
arch/x86/kernel/smpboot_32.c

index dbdd314..fd27048 100644 (file)
@@ -117,7 +117,7 @@ config ARCH_HAS_CPU_RELAX
        def_bool y
 
 config HAVE_SETUP_PER_CPU_AREA
-       def_bool X86_64
+       def_bool X86_64 || (X86_SMP && !X86_VOYAGER)
 
 config ARCH_HIBERNATION_POSSIBLE
        def_bool y
index c436e74..5d33509 100644 (file)
@@ -18,7 +18,7 @@ CFLAGS_tsc_64.o               := $(nostackp)
 obj-y                  := process_$(BITS).o signal_$(BITS).o entry_$(BITS).o
 obj-y                  += traps_$(BITS).o irq_$(BITS).o
 obj-y                  += time_$(BITS).o ioport.o ldt.o
-obj-y                  += setup_$(BITS).o i8259_$(BITS).o
+obj-y                  += setup_$(BITS).o i8259_$(BITS).o setup.o
 obj-$(CONFIG_X86_32)   += sys_i386_32.o i386_ksyms_32.o
 obj-$(CONFIG_X86_64)   += sys_x86_64.o x8664_ksyms_64.o
 obj-$(CONFIG_X86_64)   += syscall_64.o vsyscall_64.o setup64.o
Simple merge
Simple merge
Simple merge