x86, apic: fix build fallout of genapic changes

- make oprofile build
- select X86_X2APIC from X86_UV - it relies on it
- export genapic for oprofile modular build

Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/cpu/mcheck/p4.c b/arch/x86/kernel/cpu/mcheck/p4.c
index 9b60fce..f9c92b6 100644
--- a/arch/x86/kernel/cpu/mcheck/p4.c
+++ b/arch/x86/kernel/cpu/mcheck/p4.c
@@ -11,7 +11,7 @@
 #include <asm/processor.h>
 #include <asm/system.h>
 #include <asm/msr.h>
-#include <asm/apic.h>
+#include <asm/genapic.h>
 
 #include <asm/therm_throt.h>
 
diff --git a/arch/x86/kernel/genapic_64.c b/arch/x86/kernel/genapic_64.c
index 70b616b..ef78863 100644
--- a/arch/x86/kernel/genapic_64.c
+++ b/arch/x86/kernel/genapic_64.c
@@ -30,6 +30,7 @@
 extern struct genapic apic_x2apic_cluster;
 
 struct genapic __read_mostly *apic = &apic_flat;
+EXPORT_SYMBOL_GPL(apic);
 
 static struct genapic *apic_probe[] __initdata = {
 #ifdef CONFIG_X86_UV
diff --git a/arch/x86/kernel/probe_32.c b/arch/x86/kernel/probe_32.c
index 1f701ca..6e31b17 100644
--- a/arch/x86/kernel/probe_32.c
+++ b/arch/x86/kernel/probe_32.c
@@ -8,6 +8,7 @@
  */
 #include <linux/threads.h>
 #include <linux/cpumask.h>
+#include <linux/module.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
 #include <linux/ctype.h>
@@ -143,6 +144,7 @@
 extern struct genapic apic_default;
 
 struct genapic *apic = &apic_default;
+EXPORT_SYMBOL_GPL(apic);
 
 static struct genapic *apic_probe[] __initdata = {
 #ifdef CONFIG_X86_NUMAQ