aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/arch/x86/acpi/cpu_idle.c1
-rw-r--r--xen/arch/x86/acpi/power.c3
-rw-r--r--xen/arch/x86/cpu/amd.c1
-rw-r--r--xen/arch/x86/cpu/mcheck/mce_intel.c1
-rw-r--r--xen/arch/x86/crash.c2
-rw-r--r--xen/arch/x86/domain_build.c1
-rw-r--r--xen/arch/x86/genapic/bigsmp.c1
-rw-r--r--xen/arch/x86/genapic/default.c1
-rw-r--r--xen/arch/x86/genapic/summit.c1
-rw-r--r--xen/arch/x86/genapic/x2apic.c4
-rw-r--r--xen/arch/x86/hvm/hvm.c1
-rw-r--r--xen/arch/x86/hvm/svm/svm.c1
-rw-r--r--xen/arch/x86/hvm/svm/vpmu.c1
-rw-r--r--xen/arch/x86/hvm/vioapic.c1
-rw-r--r--xen/arch/x86/hvm/viridian.c1
-rw-r--r--xen/arch/x86/hvm/vlapic.c8
-rw-r--r--xen/arch/x86/hvm/vmsi.c1
-rw-r--r--xen/arch/x86/hvm/vmx/vmx.c1
-rw-r--r--xen/arch/x86/hvm/vmx/vpmu_core2.c1
-rw-r--r--xen/arch/x86/hvm/vpt.c1
-rw-r--r--xen/arch/x86/mm.c1
-rw-r--r--xen/arch/x86/numa.c5
-rw-r--r--xen/arch/x86/platform_hypercall.c1
-rw-r--r--xen/arch/x86/shutdown.c1
-rw-r--r--xen/arch/x86/smp.c10
-rw-r--r--xen/arch/x86/traps.c1
-rw-r--r--xen/arch/x86/x86_32/domain_page.c1
-rw-r--r--xen/arch/x86/x86_64/mmconfig-shared.c2
-rw-r--r--xen/arch/x86/x86_64/mmconfig_64.c2
-rw-r--r--xen/common/shutdown.c1
-rw-r--r--xen/drivers/passthrough/amd/iommu_acpi.c1
-rw-r--r--xen/drivers/passthrough/amd/iommu_intr.c1
-rw-r--r--xen/drivers/passthrough/pci.c3
-rw-r--r--xen/drivers/passthrough/vtd/intremap.c2
-rw-r--r--xen/drivers/passthrough/vtd/utils.c4
-rw-r--r--xen/drivers/passthrough/vtd/x86/vtd.c1
-rw-r--r--xen/include/asm-x86/apic.h3
-rw-r--r--xen/include/asm-x86/bzimage.h1
-rw-r--r--xen/include/asm-x86/config.h5
-rw-r--r--xen/include/asm-x86/hvm/vlapic.h6
-rw-r--r--xen/include/asm-x86/mach-generic/mach_apic.h2
-rw-r--r--xen/include/asm-x86/numa.h6
-rw-r--r--xen/include/asm-x86/smp.h23
-rw-r--r--xen/include/xen/irq.h1
44 files changed, 83 insertions, 34 deletions
diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 3b52c5469b..32dc4250ba 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -51,6 +51,7 @@
#include <public/platform.h>
#include <public/sysctl.h>
#include <acpi/cpufreq/cpufreq.h>
+#include <asm/apic.h>
/*#define DEBUG_PM_CX*/
diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 90a8fff470..f429d9914e 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -28,7 +28,8 @@
#include <xen/cpu.h>
#include <public/platform.h>
#include <asm/tboot.h>
-
+#include <asm/apic.h>
+#include <asm/io_apic.h>
#include <acpi/cpufreq/cpufreq.h>
uint32_t system_reset_counter = 1;
diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 24e6c2da26..2d4192be4f 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -9,6 +9,7 @@
#include <asm/processor.h>
#include <asm/hvm/support.h>
#include <asm/setup.h> /* amd_init_cpu */
+#include <asm/acpi.h>
#include "cpu.h"
#include "amd.h"
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 573838c4d4..e18e7d23b0 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -13,6 +13,7 @@
#include <asm/msr.h>
#include <asm/p2m.h>
#include <asm/mce.h>
+#include <asm/apic.h>
#include "mce.h"
#include "x86_mca.h"
diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c
index 1c90b6eca2..a95154771e 100644
--- a/xen/arch/x86/crash.c
+++ b/xen/arch/x86/crash.c
@@ -26,6 +26,8 @@
#include <asm/shared.h>
#include <asm/hvm/support.h>
#include <asm/hpet.h>
+#include <asm/apic.h>
+#include <asm/io_apic.h>
static atomic_t waiting_for_crash_ipi;
static unsigned int crashing_cpu;
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index 8dba898281..166509f2e2 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -32,6 +32,7 @@
#include <asm/e820.h>
#include <asm/acpi.h>
#include <asm/bzimage.h> /* for bzimage_parse */
+#include <asm/io_apic.h>
#include <public/version.h>
diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index 1be2e97139..95861691cf 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -10,6 +10,7 @@
#include <xen/init.h>
#include <xen/dmi.h>
#include <asm/mach-default/mach_mpparse.h>
+#include <asm/io_apic.h>
static int dmi_bigsmp; /* can be set by dmi scanners */
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 5665ded0c0..dbab88fab4 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -12,6 +12,7 @@
#include <xen/string.h>
#include <xen/smp.h>
#include <xen/init.h>
+#include <asm/io_apic.h>
#include <asm/mach-default/mach_mpparse.h>
/* should be called last. */
diff --git a/xen/arch/x86/genapic/summit.c b/xen/arch/x86/genapic/summit.c
index 910f2e0da5..c84f14eddd 100644
--- a/xen/arch/x86/genapic/summit.c
+++ b/xen/arch/x86/genapic/summit.c
@@ -13,6 +13,7 @@
#include <xen/smp.h>
#include <xen/init.h>
#include <asm/mach-summit/mach_mpparse.h>
+#include <asm/io_apic.h>
static __init int probe_summit(void)
{
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index d84e66fba6..bea9cb0ade 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -17,9 +17,13 @@
* Place - Suite 330, Boston, MA 02111-1307 USA.
*/
+#include <xen/config.h>
+#include <xen/init.h>
#include <xen/cpumask.h>
#include <asm/apicdef.h>
#include <asm/genapic.h>
+#include <asm/apic.h>
+#include <asm/io_apic.h>
#include <xen/smp.h>
#include <asm/mach-default/mach_mpparse.h>
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d0c878d6bb..1eef66d5e7 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -55,6 +55,7 @@
#include <asm/hvm/cacheattr.h>
#include <asm/hvm/trace.h>
#include <asm/mtrr.h>
+#include <asm/apic.h>
#include <public/sched.h>
#include <public/hvm/ioreq.h>
#include <public/version.h>
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index c29ff34ea5..01c94c52f1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -53,6 +53,7 @@
#include <asm/hvm/vpt.h>
#include <asm/hvm/trace.h>
#include <asm/hap.h>
+#include <asm/apic.h>
#include <asm/debugger.h>
u32 svm_feature_flags;
diff --git a/xen/arch/x86/hvm/svm/vpmu.c b/xen/arch/x86/hvm/svm/vpmu.c
index 97163e9f20..be257834d4 100644
--- a/xen/arch/x86/hvm/svm/vpmu.c
+++ b/xen/arch/x86/hvm/svm/vpmu.c
@@ -27,6 +27,7 @@
#include <asm/system.h>
#include <asm/regs.h>
#include <asm/types.h>
+#include <asm/apic.h>
#include <asm/msr.h>
#include <asm/msr-index.h>
#include <asm/hvm/support.h>
diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 9c0033a23e..6e6b94ea7b 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -39,6 +39,7 @@
#include <asm/hvm/support.h>
#include <asm/current.h>
#include <asm/event.h>
+#include <asm/io_apic.h>
/* HACK: Route IRQ0 only to VCPU0 to prevent time jumps. */
#define IRQ0_SPECIAL_ROUTING 1
diff --git a/xen/arch/x86/hvm/viridian.c b/xen/arch/x86/hvm/viridian.c
index ef48dfa3e9..2e1b4ecc08 100644
--- a/xen/arch/x86/hvm/viridian.c
+++ b/xen/arch/x86/hvm/viridian.c
@@ -11,6 +11,7 @@
#include <xen/domain_page.h>
#include <asm/paging.h>
#include <asm/p2m.h>
+#include <asm/apic.h>
#include <asm/hvm/support.h>
#include <public/sched.h>
#include <public/hvm/hvm_op.h>
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index ad0e0ceca7..da513de052 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -31,6 +31,8 @@
#include <xen/numa.h>
#include <asm/current.h>
#include <asm/page.h>
+#include <asm/apic.h>
+#include <asm/io_apic.h>
#include <asm/hvm/hvm.h>
#include <asm/hvm/io.h>
#include <asm/hvm/support.h>
@@ -803,6 +805,12 @@ int vlapic_ack_pending_irq(struct vcpu *v, int vector)
return 1;
}
+bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic)
+{
+ return (vlapic_enabled(vlapic) &&
+ !(vlapic_get_reg(vlapic, APIC_LVTPC) & APIC_LVT_MASKED));
+}
+
/* Reset the VLPAIC back to its power-on/reset state. */
void vlapic_reset(struct vlapic *vlapic)
{
diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 31ee9b7cfe..ccc629e180 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -39,6 +39,7 @@
#include <asm/hvm/support.h>
#include <asm/current.h>
#include <asm/event.h>
+#include <asm/io_apic.h>
static void vmsi_inj_irq(
struct domain *d,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index f2c143afa1..c4093154a4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -53,6 +53,7 @@
#include <asm/hvm/trace.h>
#include <asm/xenoprof.h>
#include <asm/debugger.h>
+#include <asm/apic.h>
enum handler_return { HNDL_done, HNDL_unhandled, HNDL_exception_raised };
diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 279d9b002e..4646600ca4 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -24,6 +24,7 @@
#include <asm/system.h>
#include <asm/regs.h>
#include <asm/types.h>
+#include <asm/apic.h>
#include <asm/msr.h>
#include <asm/msr-index.h>
#include <asm/hvm/support.h>
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 096d083f74..7056769ea3 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -21,6 +21,7 @@
#include <asm/hvm/support.h>
#include <asm/hvm/vpt.h>
#include <asm/event.h>
+#include <asm/apic.h>
#define mode_is(d, name) \
((d)->arch.hvm_domain.params[HVM_PARAM_TIMER_MODE] == HVMPTM_##name)
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index f9ab808da4..6256e0d027 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -114,6 +114,7 @@
#include <xsm/xsm.h>
#include <xen/trace.h>
#include <asm/setup.h>
+#include <asm/fixmap.h>
#include <asm/mem_sharing.h>
/*
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 75d4be1d20..466ff76db6 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -51,6 +51,11 @@ int numa_off __devinitdata = 0;
int acpi_numa __devinitdata;
+int srat_disabled(void)
+{
+ return numa_off || acpi_numa < 0;
+}
+
/*
* Given a shift value, try to populate memnodemap[]
* Returns :
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 2ab7617a86..5be2970d36 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -25,6 +25,7 @@
#include <acpi/cpufreq/processor_perf.h>
#include <asm/edd.h>
#include <asm/mtrr.h>
+#include <asm/io_apic.h>
#include "cpu/mtrr/mtrr.h"
#include <xsm/xsm.h>
diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index 6466df4ee8..dcaa79346b 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -23,6 +23,7 @@
#include <asm/processor.h>
#include <asm/mpspec.h>
#include <asm/tboot.h>
+#include <asm/apic.h>
enum reboot_type {
BOOT_TRIPLE = 't',
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 650835ff1f..239dde6fb7 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -22,6 +22,16 @@
#include <asm/hvm/support.h>
#include <mach_apic.h>
+int hard_smp_processor_id(void)
+{
+ return get_apic_id();
+}
+
+int logical_smp_processor_id(void)
+{
+ return get_logical_apic_id();
+}
+
/*
* send_IPI_mask(cpumask, vector): sends @vector IPI to CPUs in @cpumask,
* excluding the local CPU. @cpumask may be empty.
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e30b1528d7..1d833beff6 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -66,6 +66,7 @@
#include <asm/hvm/vpt.h>
#include <asm/hypercall.h>
#include <asm/mce.h>
+#include <asm/apic.h>
#include <public/arch-x86/cpuid.h>
/*
diff --git a/xen/arch/x86/x86_32/domain_page.c b/xen/arch/x86/x86_32/domain_page.c
index c381a0e98f..6d09a879b3 100644
--- a/xen/arch/x86/x86_32/domain_page.c
+++ b/xen/arch/x86/x86_32/domain_page.c
@@ -15,6 +15,7 @@
#include <asm/flushtlb.h>
#include <asm/hardirq.h>
#include <asm/hvm/support.h>
+#include <asm/fixmap.h>
static inline struct vcpu *mapcache_current_vcpu(void)
{
diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index 905a62bf16..97e58e7231 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -12,6 +12,8 @@
* Author: Allen Kay <allen.m.kay@intel.com> - adapted to xen from Linux
*/
+#include <xen/config.h>
+#include <xen/init.h>
#include <xen/mm.h>
#include <xen/acpi.h>
#include <xen/xmalloc.h>
diff --git a/xen/arch/x86/x86_64/mmconfig_64.c b/xen/arch/x86/x86_64/mmconfig_64.c
index 78a7da732c..fc5cca847e 100644
--- a/xen/arch/x86/x86_64/mmconfig_64.c
+++ b/xen/arch/x86/x86_64/mmconfig_64.c
@@ -7,6 +7,8 @@
* copied from Linux
*/
+#include <xen/config.h>
+#include <xen/init.h>
#include <xen/mm.h>
#include <xen/acpi.h>
#include <xen/xmalloc.h>
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index 65d59b5ca0..6e0b412308 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -6,6 +6,7 @@
#include <xen/delay.h>
#include <xen/shutdown.h>
#include <xen/console.h>
+#include <xen/kexec.h>
#include <asm/debugger.h>
#include <public/sched.h>
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 7905e12f07..b2471aaf67 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -20,6 +20,7 @@
#include <xen/config.h>
#include <xen/errno.h>
+#include <asm/apicdef.h>
#include <asm/amd-iommu.h>
#include <asm/hvm/svm/amd-iommu-proto.h>
#include <asm/hvm/svm/amd-iommu-acpi.h>
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 8c284d3c98..fb36e5af0f 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -21,6 +21,7 @@
#include <xen/hvm/iommu.h>
#include <asm/amd-iommu.h>
#include <asm/hvm/svm/amd-iommu-proto.h>
+#include <asm/io_apic.h>
#define INTREMAP_TABLE_ORDER 1
#define INTREMAP_LENGTH 0xB
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 23dc95ca4e..bd8da7fe1a 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -26,6 +26,9 @@
#include <xen/delay.h>
#include <xen/keyhandler.h>
#include <xen/tasklet.h>
+#ifdef CONFIG_X86
+#include <asm/msi.h>
+#endif
LIST_HEAD(alldevs_list);
spinlock_t pcidevs_lock = SPIN_LOCK_UNLOCKED;
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 71b423011b..03dff08e29 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -35,6 +35,8 @@
#define nr_ioapics iosapic_get_nr_iosapics()
#define nr_ioapic_registers(i) iosapic_get_nr_pins(i)
#else
+#include <asm/apic.h>
+#include <asm/io_apic.h>
#define nr_ioapic_registers(i) nr_ioapic_registers[i]
#endif
diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c
index 8cc89f3c90..fc7d6c2cec 100644
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -28,6 +28,10 @@
#include "vtd.h"
#include "extern.h"
+#if defined(CONFIG_X86)
+#include <asm/io_apic.h>
+#endif
+
int is_usb_device(u8 bus, u8 devfn)
{
u16 class = pci_conf_read16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
index bdd980c264..2c11dc775f 100644
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -24,6 +24,7 @@
#include <asm/paging.h>
#include <xen/iommu.h>
#include <xen/numa.h>
+#include <asm/fixmap.h>
#include "../iommu.h"
#include "../dmar.h"
#include "../vtd.h"
diff --git a/xen/include/asm-x86/apic.h b/xen/include/asm-x86/apic.h
index 15ba62beb3..b02e7b38b9 100644
--- a/xen/include/asm-x86/apic.h
+++ b/xen/include/asm-x86/apic.h
@@ -219,9 +219,6 @@ extern int lapic_resume(void);
extern int check_nmi_watchdog (void);
extern void enable_NMI_through_LVT0 (void * dummy);
-extern void watchdog_disable(void);
-extern void watchdog_enable(void);
-
extern unsigned int nmi_watchdog;
#define NMI_NONE 0
#define NMI_IO_APIC 1
diff --git a/xen/include/asm-x86/bzimage.h b/xen/include/asm-x86/bzimage.h
index 31dacdf1ec..410ecd4cfe 100644
--- a/xen/include/asm-x86/bzimage.h
+++ b/xen/include/asm-x86/bzimage.h
@@ -2,6 +2,7 @@
#define __X86_BZIMAGE_H__
#include <xen/config.h>
+#include <xen/init.h>
int __init bzimage_headroom(char *image_start, unsigned long image_length);
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 4235c3524f..58cbe490e6 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -394,4 +394,9 @@ extern unsigned long xenheap_phys_end;
#define ARCH_CRASH_SAVE_VMCOREINFO
+#ifndef __ASSEMBLY__
+extern void watchdog_disable(void);
+extern void watchdog_enable(void);
+#endif
+
#endif /* __X86_CONFIG_H__ */
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/include/asm-x86/hvm/vlapic.h
index 9d0b0bdc57..eda970f780 100644
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -74,11 +74,7 @@ static inline void vlapic_set_reg(
*((uint32_t *)(&vlapic->regs->data[reg])) = val;
}
-static inline int is_vlapic_lvtpc_enabled(struct vlapic *vlapic)
-{
- return vlapic_enabled(vlapic) &&
- !(vlapic_get_reg(vlapic, APIC_LVTPC) & APIC_LVT_MASKED);
-}
+bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
int vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
diff --git a/xen/include/asm-x86/mach-generic/mach_apic.h b/xen/include/asm-x86/mach-generic/mach_apic.h
index c022362606..ecf96d47c2 100644
--- a/xen/include/asm-x86/mach-generic/mach_apic.h
+++ b/xen/include/asm-x86/mach-generic/mach_apic.h
@@ -1,6 +1,8 @@
#ifndef __ASM_MACH_APIC_H
#define __ASM_MACH_APIC_H
+#include <asm/apic.h>
+#include <asm/io_apic.h>
#include <asm/genapic.h>
#include <asm/smp.h>
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index d00b56fcf0..27d4e30e8a 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -30,10 +30,8 @@ extern void numa_add_cpu(int cpu);
extern void numa_init_array(void);
extern int numa_off;
-static __devinit inline int srat_disabled(void)
-{
- return numa_off || acpi_numa < 0;
-}
+
+extern int srat_disabled(void);
extern void numa_set_node(int cpu, int node);
extern int setup_node(int pxm);
extern void srat_detect_node(int cpu);
diff --git a/xen/include/asm-x86/smp.h b/xen/include/asm-x86/smp.h
index d2a4334ae6..76413e70b9 100644
--- a/xen/include/asm-x86/smp.h
+++ b/xen/include/asm-x86/smp.h
@@ -11,15 +11,9 @@
#include <asm/current.h>
#endif
-#ifdef CONFIG_X86_LOCAL_APIC
#ifndef __ASSEMBLY__
#include <asm/bitops.h>
#include <asm/mpspec.h>
-#ifdef CONFIG_X86_IO_APIC
-#include <asm/io_apic.h>
-#endif
-#include <asm/apic.h>
-#endif
#endif
#define BAD_APICID -1U
@@ -64,21 +58,8 @@ int cpu_add(uint32_t apic_id, uint32_t acpi_id, uint32_t pxm);
*/
#define raw_smp_processor_id() (get_processor_id())
-#ifdef CONFIG_X86_LOCAL_APIC
-
-static inline int hard_smp_processor_id(void)
-{
- /* we don't want to mark this access volatile - bad code generation */
- return get_apic_id();
-}
-
-static __inline int logical_smp_processor_id(void)
-{
- /* we don't want to mark this access volatile - bad code generation */
- return get_logical_apic_id();
-}
-
-#endif
+int hard_smp_processor_id(void);
+int logical_smp_processor_id(void);
#endif /* !__ASSEMBLY__ */
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index dae4a2a122..2889c71fa7 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -5,6 +5,7 @@
#include <xen/cpumask.h>
#include <xen/spinlock.h>
#include <xen/time.h>
+#include <xen/list.h>
#include <asm/regs.h>
#include <asm/hardirq.h>