* Kevin Winchester wrote: > Various per-cpu fields are define in arch/x86/kernel/smpboot.c > that are basically equivalent to the cpu-specific data in > struct cpuinfo_x86. By moving these fields into the structure, > a number of codepaths can be simplified since they no longer > need to care about those fields not existing on !SMP builds. Works mostly fine, except with the attached 32-bit UP !APIC config I get various build failures (resolved via the patch below) and a link failure (not resolved): make[1]: Nothing to be done for `all'. arch/x86/built-in.o:vdso32-setup.c:function detect_extended_topology: error: undefined reference to 'apic' arch/x86/built-in.o:vdso32-setup.c:function detect_extended_topology: error: undefined reference to 'apic' arch/x86/built-in.o:vdso32-setup.c:function detect_extended_topology: error: undefined reference to 'apic' arch/x86/built-in.o:vdso32-setup.c:function detect_ht: error: undefined reference to 'apic' arch/x86/built-in.o:vdso32-setup.c:function x86_msi: error: undefined reference to 'native_setup_msi_irqs' arch/x86/built-in.o:vdso32-setup.c:function x86_msi: error: undefined reference to 'native_teardown_msi_irq' make: *** [.tmp_vmlinux1] Error 1 Thanks, Ingo ------------> arch/x86/kernel/cpu/amd.c | 1 + arch/x86/kernel/cpu/topology.c | 1 + arch/x86/kernel/process.c | 1 + 3 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index c593eac..84bf176 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/arch/x86/kernel/cpu/topology.c b/arch/x86/kernel/cpu/topology.c index 4397e98..c53440c 100644 --- a/arch/x86/kernel/cpu/topology.c +++ b/arch/x86/kernel/cpu/topology.c @@ -6,6 +6,7 @@ #include #include +#include #include #include diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 14baf78..3dd6015 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include