aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorChristoph Egger <Christoph.Egger@amd.com>2011-05-20 15:39:07 +0100
committerChristoph Egger <Christoph.Egger@amd.com>2011-05-20 15:39:07 +0100
commit8b7d4efbc3f9393ff73c4c2aa14bde59a199d3b6 (patch)
tree5867df529c218d0dc0cc050458ed4e37e332e6f1 /xen
parente982084c7604a4386b84655664ea029aba25770a (diff)
downloadxen-8b7d4efbc3f9393ff73c4c2aa14bde59a199d3b6.tar.gz
xen-8b7d4efbc3f9393ff73c4c2aa14bde59a199d3b6.tar.bz2
xen-8b7d4efbc3f9393ff73c4c2aa14bde59a199d3b6.zip
xen: Include headers that are actually needed, drop everything else.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/x86/domain.c1
-rw-r--r--xen/arch/x86/hvm/svm/svm.c2
-rw-r--r--xen/arch/x86/hvm/svm/vmcb.c19
-rw-r--r--xen/arch/x86/hvm/svm/vpmu.c10
-rw-r--r--xen/arch/x86/hvm/vmx/vpmu_core2.c1
-rw-r--r--xen/arch/x86/hvm/vpmu.c3
-rw-r--r--xen/arch/x86/machine_kexec.c10
-rw-r--r--xen/arch/x86/mm.c1
-rw-r--r--xen/arch/x86/mm/mem_sharing.c11
-rw-r--r--xen/arch/x86/oprofile/nmi_int.c5
-rw-r--r--xen/arch/x86/oprofile/op_model_athlon.c2
-rw-r--r--xen/arch/x86/oprofile/op_model_p4.c2
-rw-r--r--xen/arch/x86/oprofile/op_model_ppro.c3
-rw-r--r--xen/arch/x86/traps.c1
-rw-r--r--xen/arch/x86/x86_32/traps.c1
-rw-r--r--xen/arch/x86/x86_64/traps.c1
-rw-r--r--xen/common/domain.c2
-rw-r--r--xen/common/grant_table.c1
-rw-r--r--xen/common/xenoprof.c1
-rw-r--r--xen/drivers/char/console.c11
-rw-r--r--xen/drivers/char/ns16550.c2
-rw-r--r--xen/drivers/char/serial.c4
-rw-r--r--xen/drivers/video/vesa.c6
-rw-r--r--xen/drivers/video/vga.c2
-rw-r--r--xen/include/asm-x86/fixmap.h6
-rw-r--r--xen/include/asm-x86/hvm/support.h4
-rw-r--r--xen/include/asm-x86/hvm/svm/asid.h8
-rw-r--r--xen/include/asm-x86/hvm/svm/emulate.h2
-rw-r--r--xen/include/asm-x86/hvm/svm/svm.h9
-rw-r--r--xen/include/asm-x86/hvm/svm/vmcb.h5
-rw-r--r--xen/include/asm-x86/msi.h2
-rw-r--r--xen/include/public/hvm/save.h1
-rw-r--r--xen/include/xen/console.h3
-rw-r--r--xen/include/xen/hvm/save.h2
-rw-r--r--xen/include/xen/sched.h17
-rw-r--r--xen/include/xen/serial.h2
-rw-r--r--xen/include/xen/tasklet.h1
-rw-r--r--xen/include/xen/vga.h1
-rw-r--r--xen/include/xen/xenoprof.h1
-rw-r--r--xen/include/xen/xmalloc.h3
40 files changed, 73 insertions, 96 deletions
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index f5f6fcfe2a..c05fd778c7 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -34,6 +34,7 @@
#include <xen/paging.h>
#include <xen/cpu.h>
#include <xen/wait.h>
+#include <xen/guest_access.h>
#include <public/sysctl.h>
#include <asm/regs.h>
#include <asm/mc146818rtc.h>
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 55d76323f3..4b2b0503b5 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -26,6 +26,7 @@
#include <xen/softirq.h>
#include <xen/hypercall.h>
#include <xen/domain_page.h>
+#include <xen/xenoprof.h>
#include <asm/current.h>
#include <asm/io.h>
#include <asm/paging.h>
@@ -38,6 +39,7 @@
#include <asm/types.h>
#include <asm/debugreg.h>
#include <asm/msr.h>
+#include <asm/i387.h>
#include <asm/spinlock.h>
#include <asm/hvm/emulate.h>
#include <asm/hvm/hvm.h>
diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
index f23ee9aba6..b21b0c568f 100644
--- a/xen/arch/x86/hvm/svm/vmcb.c
+++ b/xen/arch/x86/hvm/svm/vmcb.c
@@ -20,24 +20,17 @@
#include <xen/config.h>
#include <xen/init.h>
-#include <xen/mm.h>
#include <xen/lib.h>
-#include <xen/errno.h>
-#include <asm/cpufeature.h>
-#include <asm/processor.h>
-#include <asm/msr.h>
+#include <xen/keyhandler.h>
+#include <xen/mm.h>
+#include <xen/rcupdate.h>
+#include <xen/sched.h>
+#include <asm/hvm/svm/vmcb.h>
+#include <asm/msr-index.h>
#include <asm/p2m.h>
-#include <asm/hvm/hvm.h>
-#include <asm/hvm/io.h>
#include <asm/hvm/support.h>
#include <asm/hvm/svm/svm.h>
-#include <asm/hvm/svm/intr.h>
-#include <asm/hvm/svm/asid.h>
#include <asm/hvm/svm/svmdebug.h>
-#include <xen/event.h>
-#include <xen/kernel.h>
-#include <xen/domain_page.h>
-#include <xen/keyhandler.h>
extern int svm_dbg_on;
diff --git a/xen/arch/x86/hvm/svm/vpmu.c b/xen/arch/x86/hvm/svm/vpmu.c
index a755c4a0f2..a4f73d91c5 100644
--- a/xen/arch/x86/hvm/svm/vpmu.c
+++ b/xen/arch/x86/hvm/svm/vpmu.c
@@ -23,17 +23,11 @@
*/
#include <xen/config.h>
+#include <xen/xenoprof.h>
+#include <xen/hvm/save.h>
#include <xen/sched.h>
-#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>
#include <asm/hvm/vlapic.h>
-#include <public/sched.h>
-#include <public/hvm/save.h>
#include <asm/hvm/vpmu.h>
#define F10H_NUM_COUNTERS 4
diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 44aa8e3c47..1e1a09b42f 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -21,6 +21,7 @@
#include <xen/config.h>
#include <xen/sched.h>
+#include <xen/xenoprof.h>
#include <asm/system.h>
#include <asm/regs.h>
#include <asm/types.h>
diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c
index 9422da92c9..d8501129e4 100644
--- a/xen/arch/x86/hvm/vpmu.c
+++ b/xen/arch/x86/hvm/vpmu.c
@@ -21,14 +21,13 @@
#include <xen/config.h>
#include <xen/sched.h>
+#include <xen/xenoprof.h>
#include <asm/regs.h>
#include <asm/types.h>
#include <asm/msr.h>
#include <asm/hvm/support.h>
#include <asm/hvm/vmx/vmx.h>
#include <asm/hvm/vmx/vmcs.h>
-#include <public/sched.h>
-#include <public/hvm/save.h>
#include <asm/hvm/vpmu.h>
#include <asm/hvm/svm/svm.h>
#include <asm/hvm/svm/vmcb.h>
diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index 9e5e7abda5..c998377dbb 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -6,18 +6,10 @@
* - Magnus Damm <magnus@valinux.co.jp>
*/
-#include <xen/lib.h>
-#include <asm/irq.h>
-#include <asm/page.h>
-#include <asm/flushtlb.h>
-#include <xen/smp.h>
-#include <xen/nmi.h>
#include <xen/types.h>
-#include <xen/console.h>
#include <xen/kexec.h>
-#include <xen/domain_page.h>
+#include <xen/guest_access.h>
#include <asm/fixmap.h>
-#include <asm/hvm/hvm.h>
#include <asm/hpet.h>
typedef void (*relocate_new_kernel_t)(
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 3ddbfaa515..609618f542 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -101,6 +101,7 @@
#include <xen/guest_access.h>
#include <xen/pfn.h>
#include <xen/xmalloc.h>
+#include <xen/grant_table.h>
#include <asm/paging.h>
#include <asm/shadow.h>
#include <asm/page.h>
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 5cf50c60ff..bd3ff6851d 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -20,16 +20,17 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <xen/types.h>
+#include <xen/domain_page.h>
+#include <xen/spinlock.h>
+#include <xen/mm.h>
+#include <xen/grant_table.h>
+#include <xen/sched.h>
#include <asm/page.h>
#include <asm/string.h>
#include <asm/p2m.h>
#include <asm/mem_event.h>
#include <asm/atomic.h>
-#include <xen/domain_page.h>
-#include <xen/types.h>
-#include <xen/spinlock.h>
-#include <xen/mm.h>
-#include <xen/sched.h>
/* Auditing of memory sharing code? */
#define MEM_SHARING_AUDIT 0
diff --git a/xen/arch/x86/oprofile/nmi_int.c b/xen/arch/x86/oprofile/nmi_int.c
index 69bb5fb13c..d06ba881c0 100644
--- a/xen/arch/x86/oprofile/nmi_int.c
+++ b/xen/arch/x86/oprofile/nmi_int.c
@@ -16,13 +16,14 @@
#include <xen/errno.h>
#include <xen/init.h>
#include <xen/nmi.h>
+#include <xen/string.h>
+#include <xen/delay.h>
+#include <xen/xenoprof.h>
#include <public/xen.h>
#include <asm/msr.h>
#include <asm/apic.h>
#include <asm/regs.h>
#include <asm/current.h>
-#include <xen/delay.h>
-#include <xen/string.h>
#include "op_counter.h"
#include "op_x86_model.h"
diff --git a/xen/arch/x86/oprofile/op_model_athlon.c b/xen/arch/x86/oprofile/op_model_athlon.c
index d40100b0ca..fcbf5b55e8 100644
--- a/xen/arch/x86/oprofile/op_model_athlon.c
+++ b/xen/arch/x86/oprofile/op_model_athlon.c
@@ -15,7 +15,7 @@
#include <asm/io.h>
#include <asm/apic.h>
#include <asm/processor.h>
-#include <xen/sched.h>
+#include <xen/xenoprof.h>
#include <asm/regs.h>
#include <asm/current.h>
#include <asm/hvm/support.h>
diff --git a/xen/arch/x86/oprofile/op_model_p4.c b/xen/arch/x86/oprofile/op_model_p4.c
index fe208a43bb..bb6f3d70fc 100644
--- a/xen/arch/x86/oprofile/op_model_p4.c
+++ b/xen/arch/x86/oprofile/op_model_p4.c
@@ -13,7 +13,7 @@
#include <asm/io.h>
#include <asm/apic.h>
#include <asm/processor.h>
-#include <xen/sched.h>
+#include <xen/xenoprof.h>
#include <asm/regs.h>
#include <asm/current.h>
diff --git a/xen/arch/x86/oprofile/op_model_ppro.c b/xen/arch/x86/oprofile/op_model_ppro.c
index c195269e0c..f48fa50d33 100644
--- a/xen/arch/x86/oprofile/op_model_ppro.c
+++ b/xen/arch/x86/oprofile/op_model_ppro.c
@@ -11,11 +11,12 @@
*/
#include <xen/types.h>
+#include <xen/xenoprof.h>
+#include <xen/sched.h>
#include <asm/msr.h>
#include <asm/io.h>
#include <asm/apic.h>
#include <asm/processor.h>
-#include <xen/sched.h>
#include <asm/regs.h>
#include <asm/current.h>
#include <asm/hvm/vpmu.h>
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index b6daf0f66d..35cde514e7 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -33,6 +33,7 @@
#include <xen/mm.h>
#include <xen/console.h>
#include <xen/shutdown.h>
+#include <xen/guest_access.h>
#include <asm/regs.h>
#include <xen/delay.h>
#include <xen/event.h>
diff --git a/xen/arch/x86/x86_32/traps.c b/xen/arch/x86/x86_32/traps.c
index 8ab432efbb..c50b146695 100644
--- a/xen/arch/x86/x86_32/traps.c
+++ b/xen/arch/x86/x86_32/traps.c
@@ -12,6 +12,7 @@
#include <xen/shutdown.h>
#include <xen/nmi.h>
#include <xen/cpu.h>
+#include <xen/guest_access.h>
#include <asm/current.h>
#include <asm/flushtlb.h>
#include <asm/traps.h>
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index f931b8d8dd..f48c61e71c 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -12,6 +12,7 @@
#include <xen/sched.h>
#include <xen/shutdown.h>
#include <xen/nmi.h>
+#include <xen/guest_access.h>
#include <asm/current.h>
#include <asm/flushtlb.h>
#include <asm/traps.h>
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 852c968bba..dc5a876871 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -28,6 +28,8 @@
#include <xen/multicall.h>
#include <xen/rcupdate.h>
#include <xen/wait.h>
+#include <xen/grant_table.h>
+#include <xen/xenoprof.h>
#include <acpi/cpufreq/cpufreq.h>
#include <asm/debugger.h>
#include <public/sched.h>
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 7090dfb5c4..e3ad8e60c2 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -31,6 +31,7 @@
#include <xen/mm.h>
#include <xen/event.h>
#include <xen/trace.h>
+#include <xen/grant_table.h>
#include <xen/guest_access.h>
#include <xen/domain_page.h>
#include <xen/iommu.h>
diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
index 74d988a305..19926f4118 100644
--- a/xen/common/xenoprof.c
+++ b/xen/common/xenoprof.c
@@ -13,6 +13,7 @@
#include <xen/guest_access.h>
#include <xen/sched.h>
#include <xen/event.h>
+#include <xen/xenoprof.h>
#include <public/xenoprof.h>
#include <xen/paging.h>
#include <xsm/xsm.h>
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index fba702deed..c8cf8992df 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -10,31 +10,20 @@
* Ported to Xen - Steven Rostedt - Red Hat
*/
-#include <xen/stdarg.h>
-#include <xen/config.h>
#include <xen/version.h>
-#include <xen/init.h>
#include <xen/lib.h>
-#include <xen/errno.h>
#include <xen/event.h>
-#include <xen/spinlock.h>
#include <xen/console.h>
#include <xen/serial.h>
#include <xen/softirq.h>
-#include <xen/tasklet.h>
#include <xen/keyhandler.h>
-#include <xen/mm.h>
#include <xen/delay.h>
#include <xen/guest_access.h>
#include <xen/shutdown.h>
#include <xen/vga.h>
#include <xen/kexec.h>
-#include <asm/current.h>
#include <asm/debugger.h>
-#include <asm/io.h>
#include <asm/div64.h>
-#include <xsm/xsm.h>
-#include <public/sysctl.h>
#include <xen/hypercall.h> /* for do_console_io */
/* console: comma-separated list of console outputs. */
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index bdd96f9596..8d376b8fec 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -13,6 +13,8 @@
#include <xen/init.h>
#include <xen/irq.h>
#include <xen/sched.h>
+#include <xen/pci.h>
+#include <xen/timer.h>
#include <xen/serial.h>
#include <xen/iocap.h>
#include <asm/io.h>
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index f5cf8d2eaa..8252823ef9 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -9,11 +9,9 @@
#include <xen/config.h>
#include <xen/delay.h>
#include <xen/init.h>
-#include <xen/irq.h>
-#include <xen/keyhandler.h>
-#include <xen/sched.h>
#include <xen/mm.h>
#include <xen/serial.h>
+#include <xen/cache.h>
/* Never drop characters, even if the async transmit buffer fills. */
/* #define SERIAL_NEVER_DROP_CHARS 1 */
diff --git a/xen/drivers/video/vesa.c b/xen/drivers/video/vesa.c
index aa31d9b891..fc3ea47013 100644
--- a/xen/drivers/video/vesa.c
+++ b/xen/drivers/video/vesa.c
@@ -7,10 +7,10 @@
#include <xen/config.h>
#include <xen/init.h>
#include <xen/lib.h>
-#include <xen/mm.h>
-#include <xen/errno.h>
-#include <xen/console.h>
+#include <xen/xmalloc.h>
+#include <xen/kernel.h>
#include <xen/vga.h>
+#include <asm/page.h>
#include "font.h"
#define vlfb_info vga_console_info.u.vesa_lfb
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 6a22d6f77a..fea3e23cb4 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -8,8 +8,6 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/mm.h>
-#include <xen/errno.h>
-#include <xen/console.h>
#include <xen/vga.h>
#include <asm/io.h>
diff --git a/xen/include/asm-x86/fixmap.h b/xen/include/asm-x86/fixmap.h
index 0614291b9d..695e8d95f8 100644
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -13,12 +13,12 @@
#define _ASM_FIXMAP_H
#include <xen/config.h>
-#include <asm/apicdef.h>
-#include <asm/acpi.h>
-#include <asm/page.h>
#include <xen/pfn.h>
#include <xen/kexec.h>
#include <xen/iommu.h>
+#include <asm/apicdef.h>
+#include <asm/acpi.h>
+#include <asm/page.h>
#include <asm/amd-iommu.h>
#include <asm/msi.h>
#include <acpi/apei.h>
diff --git a/xen/include/asm-x86/hvm/support.h b/xen/include/asm-x86/hvm/support.h
index d9a4e3cdca..f9b102f2a7 100644
--- a/xen/include/asm-x86/hvm/support.h
+++ b/xen/include/asm-x86/hvm/support.h
@@ -21,10 +21,10 @@
#ifndef __ASM_X86_HVM_SUPPORT_H__
#define __ASM_X86_HVM_SUPPORT_H__
+#include <xen/types.h>
+#include <public/hvm/ioreq.h>
#include <xen/sched.h>
#include <xen/hvm/save.h>
-#include <asm/types.h>
-#include <asm/regs.h>
#include <asm/processor.h>
static inline ioreq_t *get_ioreq(struct vcpu *v)
diff --git a/xen/include/asm-x86/hvm/svm/asid.h b/xen/include/asm-x86/hvm/svm/asid.h
index 356a1cd023..d9a0618f26 100644
--- a/xen/include/asm-x86/hvm/svm/asid.h
+++ b/xen/include/asm-x86/hvm/svm/asid.h
@@ -20,13 +20,9 @@
#define __ASM_X86_HVM_SVM_ASID_H__
#include <xen/config.h>
-#include <asm/types.h>
-#include <asm/hvm/hvm.h>
+#include <xen/types.h>
#include <asm/hvm/asid.h>
-#include <asm/hvm/support.h>
-#include <asm/hvm/svm/svm.h>
-#include <asm/hvm/svm/vmcb.h>
-#include <asm/percpu.h>
+#include <asm/processor.h>
void svm_asid_init(struct cpuinfo_x86 *c);
diff --git a/xen/include/asm-x86/hvm/svm/emulate.h b/xen/include/asm-x86/hvm/svm/emulate.h
index 7d2677fa07..8779b82f81 100644
--- a/xen/include/asm-x86/hvm/svm/emulate.h
+++ b/xen/include/asm-x86/hvm/svm/emulate.h
@@ -42,6 +42,8 @@ enum instruction_index {
INSTR_MAX_COUNT /* Must be last - Number of instructions supported */
};
+struct vcpu;
+
int __get_instruction_length_from_list(
struct vcpu *v, enum instruction_index *list, unsigned int list_count);
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 59dbf39e4e..53f6ed5188 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -21,13 +21,8 @@
#ifndef __ASM_X86_HVM_SVM_H__
#define __ASM_X86_HVM_SVM_H__
-#include <xen/sched.h>
-#include <asm/types.h>
-#include <asm/regs.h>
-#include <asm/processor.h>
-#include <asm/hvm/svm/vmcb.h>
-#include <asm/i387.h>
-#include <asm/hvm/vpmu.h>
+#include <xen/types.h>
+#include <xen/bitmap.h>
#define SVM_REG_EAX (0)
#define SVM_REG_ECX (1)
diff --git a/xen/include/asm-x86/hvm/svm/vmcb.h b/xen/include/asm-x86/hvm/svm/vmcb.h
index 9337ebaf36..7e6ddad437 100644
--- a/xen/include/asm-x86/hvm/svm/vmcb.h
+++ b/xen/include/asm-x86/hvm/svm/vmcb.h
@@ -20,8 +20,9 @@
#ifndef __ASM_X86_HVM_SVM_VMCB_H__
#define __ASM_X86_HVM_SVM_VMCB_H__
-#include <asm/config.h>
-#include <asm/hvm/hvm.h>
+#include <xen/config.h>
+#include <xen/types.h>
+#include <asm/hvm/emulate.h>
/* general 1 intercepts */
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 0848616b29..760315e923 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -2,6 +2,8 @@
#define __ASM_MSI_H
#include <xen/cpumask.h>
+#include <xen/pci.h>
+
/*
* Constants for Intel APIC based MSI messages.
*/
diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.h
index 8a4c53815a..d0f2661477 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -67,6 +67,7 @@ struct hvm_save_descriptor {
struct __HVM_SAVE_TYPE_##_x { _type t; char c[_code]; char cpt[2];}; \
struct __HVM_SAVE_TYPE_COMPAT_##_x { _ctype t; }
+# include <xen/lib.h> /* BUG() */
# define DECLARE_HVM_SAVE_TYPE(_x, _code, _type) \
static inline int __HVM_SAVE_FIX_COMPAT_##_x(void *h) { BUG(); return -1; } \
struct __HVM_SAVE_TYPE_##_x { _type t; char c[_code]; char cpt[1];}; \
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index 553d425bae..cfb07a23e0 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -7,8 +7,7 @@
#ifndef __CONSOLE_H__
#define __CONSOLE_H__
-#include <xen/spinlock.h>
-#include <xen/guest_access.h>
+#include <xen/inttypes.h>
#include <public/xen.h>
struct xen_sysctl_readconsole;
diff --git a/xen/include/xen/hvm/save.h b/xen/include/xen/hvm/save.h
index 43adfcf39c..f1eeaf068e 100644
--- a/xen/include/xen/hvm/save.h
+++ b/xen/include/xen/hvm/save.h
@@ -18,9 +18,9 @@
#ifndef __XEN_HVM_SAVE_H__
#define __XEN_HVM_SAVE_H__
+#include <xen/types.h>
#include <public/xen.h>
#include <public/hvm/save.h>
-#include <asm/types.h>
/* Marshalling and unmarshalling uses a buffer with size and cursor. */
typedef struct hvm_domain_context {
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 17fac57dfd..7b546d77b9 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -5,26 +5,19 @@
#include <xen/config.h>
#include <xen/types.h>
#include <xen/spinlock.h>
-#include <xen/smp.h>
#include <xen/shared.h>
-#include <public/xen.h>
-#include <public/domctl.h>
-#include <public/sysctl.h>
-#include <public/vcpu.h>
-#include <xen/time.h>
#include <xen/timer.h>
-#include <xen/grant_table.h>
#include <xen/rangeset.h>
#include <xen/domain.h>
-#include <xen/xenoprof.h>
#include <xen/rcupdate.h>
-#include <xen/irq.h>
-#include <xen/mm.h>
-#include <xen/tasklet.h>
-#include <public/mem_event.h>
#include <xen/cpumask.h>
#include <xen/nodemask.h>
#include <xen/multicall.h>
+#include <public/xen.h>
+#include <public/domctl.h>
+#include <public/sysctl.h>
+#include <public/vcpu.h>
+#include <public/mem_event.h>
#ifdef CONFIG_COMPAT
#include <compat/vcpu.h>
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 15f7f12275..c5719ec5c5 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -9,6 +9,8 @@
#ifndef __XEN_SERIAL_H__
#define __XEN_SERIAL_H__
+#include <xen/spinlock.h>
+
struct cpu_user_regs;
/* Register a character-receive hook on the specified COM port. */
diff --git a/xen/include/xen/tasklet.h b/xen/include/xen/tasklet.h
index e8d6e96b0f..2f65da2c4a 100644
--- a/xen/include/xen/tasklet.h
+++ b/xen/include/xen/tasklet.h
@@ -10,6 +10,7 @@
#include <xen/types.h>
#include <xen/list.h>
+#include <xen/percpu.h>
struct tasklet
{
diff --git a/xen/include/xen/vga.h b/xen/include/xen/vga.h
index f96776d2f8..04100778e1 100644
--- a/xen/include/xen/vga.h
+++ b/xen/include/xen/vga.h
@@ -10,6 +10,7 @@
#define _XEN_VGA_H
#include <xen/config.h>
+#include <public/xen.h>
#ifdef CONFIG_VGA
extern struct xen_vga_console_info vga_console_info;
diff --git a/xen/include/xen/xenoprof.h b/xen/include/xen/xenoprof.h
index 5b38e614da..df4c842bbf 100644
--- a/xen/include/xen/xenoprof.h
+++ b/xen/include/xen/xenoprof.h
@@ -11,6 +11,7 @@
#define __XEN_XENOPROF_H__
#include <xen/config.h>
+#include <xen/inttypes.h>
#include <public/xenoprof.h>
#include <asm/xenoprof.h>
diff --git a/xen/include/xen/xmalloc.h b/xen/include/xen/xmalloc.h
index a5188e8629..d9df7dc50e 100644
--- a/xen/include/xen/xmalloc.h
+++ b/xen/include/xen/xmalloc.h
@@ -2,6 +2,9 @@
#ifndef __XMALLOC_H__
#define __XMALLOC_H__
+#include <xen/types.h>
+#include <xen/cache.h>
+
/*
* Xen malloc/free-style interface.
*/