diff options
| author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-10-06 18:11:14 -0400 |
|---|---|---|
| committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-11-04 11:47:24 -0500 |
| commit | 1ccbf5344c3daef046d2323190cc6807c44f1917 (patch) | |
| tree | 0c080e1c478a7cd5b67e5ec0af4d9ca97dbcf348 | |
| parent | 9a08f7d3506019e3833cd4394ca0d7da0ae3689f (diff) | |
xen: move Xen-testing predicates to common header
Move xen_domain and related tests out of asm-x86 to xen/xen.h so they
can be included whenever they are necessary.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| -rw-r--r-- | arch/x86/include/asm/xen/hypervisor.h | 27 | ||||
| -rw-r--r-- | arch/x86/xen/enlighten.c | 1 | ||||
| -rw-r--r-- | drivers/block/xen-blkfront.c | 1 | ||||
| -rw-r--r-- | drivers/char/hvc_xen.c | 2 | ||||
| -rw-r--r-- | drivers/input/xen-kbdfront.c | 3 | ||||
| -rw-r--r-- | drivers/net/xen-netfront.c | 1 | ||||
| -rw-r--r-- | drivers/video/xen-fbfront.c | 3 | ||||
| -rw-r--r-- | drivers/xen/balloon.c | 2 | ||||
| -rw-r--r-- | drivers/xen/cpu_hotplug.c | 1 | ||||
| -rw-r--r-- | drivers/xen/evtchn.c | 2 | ||||
| -rw-r--r-- | drivers/xen/grant-table.c | 1 | ||||
| -rw-r--r-- | drivers/xen/sys-hypervisor.c | 1 | ||||
| -rw-r--r-- | drivers/xen/xenbus/xenbus_probe.c | 2 | ||||
| -rw-r--r-- | drivers/xen/xenfs/super.c | 2 | ||||
| -rw-r--r-- | include/xen/xen.h | 32 |
15 files changed, 54 insertions, 27 deletions
diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h index d5b7e90c0ed..396ff4cc8ed 100644 --- a/arch/x86/include/asm/xen/hypervisor.h +++ b/arch/x86/include/asm/xen/hypervisor.h | |||
| @@ -37,31 +37,4 @@ | |||
| 37 | extern struct shared_info *HYPERVISOR_shared_info; | 37 | extern struct shared_info *HYPERVISOR_shared_info; |
| 38 | extern struct start_info *xen_start_info; | 38 | extern struct start_info *xen_start_info; |
| 39 | 39 | ||
| 40 | enum xen_domain_type { | ||
| 41 | XEN_NATIVE, /* running on bare hardware */ | ||
| 42 | XEN_PV_DOMAIN, /* running in a PV domain */ | ||
| 43 | XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ | ||
| 44 | }; | ||
| 45 | |||
| 46 | #ifdef CONFIG_XEN | ||
| 47 | extern enum xen_domain_type xen_domain_type; | ||
| 48 | #else | ||
| 49 | #define xen_domain_type XEN_NATIVE | ||
| 50 | #endif | ||
| 51 | |||
| 52 | #define xen_domain() (xen_domain_type != XEN_NATIVE) | ||
| 53 | #define xen_pv_domain() (xen_domain() && \ | ||
| 54 | xen_domain_type == XEN_PV_DOMAIN) | ||
| 55 | #define xen_hvm_domain() (xen_domain() && \ | ||
| 56 | xen_domain_type == XEN_HVM_DOMAIN) | ||
| 57 | |||
| 58 | #ifdef CONFIG_XEN_DOM0 | ||
| 59 | #include <xen/interface/xen.h> | ||
| 60 | |||
| 61 | #define xen_initial_domain() (xen_pv_domain() && \ | ||
| 62 | xen_start_info->flags & SIF_INITDOMAIN) | ||
| 63 | #else /* !CONFIG_XEN_DOM0 */ | ||
| 64 | #define xen_initial_domain() (0) | ||
| 65 | #endif /* CONFIG_XEN_DOM0 */ | ||
| 66 | |||
| 67 | #endif /* _ASM_X86_XEN_HYPERVISOR_H */ | 40 | #endif /* _ASM_X86_XEN_HYPERVISOR_H */ |
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 23a4d80fb39..5bccd706232 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/highmem.h> | 28 | #include <linux/highmem.h> |
| 29 | #include <linux/console.h> | 29 | #include <linux/console.h> |
| 30 | 30 | ||
| 31 | #include <xen/xen.h> | ||
| 31 | #include <xen/interface/xen.h> | 32 | #include <xen/interface/xen.h> |
| 32 | #include <xen/interface/version.h> | 33 | #include <xen/interface/version.h> |
| 33 | #include <xen/interface/physdev.h> | 34 | #include <xen/interface/physdev.h> |
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index b8578bb3f4c..05a31e55d27 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c | |||
| @@ -42,6 +42,7 @@ | |||
| 42 | #include <linux/module.h> | 42 | #include <linux/module.h> |
| 43 | #include <linux/scatterlist.h> | 43 | #include <linux/scatterlist.h> |
| 44 | 44 | ||
| 45 | #include <xen/xen.h> | ||
| 45 | #include <xen/xenbus.h> | 46 | #include <xen/xenbus.h> |
| 46 | #include <xen/grant_table.h> | 47 | #include <xen/grant_table.h> |
| 47 | #include <xen/events.h> | 48 | #include <xen/events.h> |
diff --git a/drivers/char/hvc_xen.c b/drivers/char/hvc_xen.c index eba999f8598..93d33816c9d 100644 --- a/drivers/char/hvc_xen.c +++ b/drivers/char/hvc_xen.c | |||
| @@ -25,6 +25,8 @@ | |||
| 25 | #include <linux/types.h> | 25 | #include <linux/types.h> |
| 26 | 26 | ||
| 27 | #include <asm/xen/hypervisor.h> | 27 | #include <asm/xen/hypervisor.h> |
| 28 | |||
| 29 | #include <xen/xen.h> | ||
| 28 | #include <xen/page.h> | 30 | #include <xen/page.h> |
| 29 | #include <xen/events.h> | 31 | #include <xen/events.h> |
| 30 | #include <xen/interface/io/console.h> | 32 | #include <xen/interface/io/console.h> |
diff --git a/drivers/input/xen-kbdfront.c b/drivers/input/xen-kbdfront.c index b115726dc08..c721c0a23eb 100644 --- a/drivers/input/xen-kbdfront.c +++ b/drivers/input/xen-kbdfront.c | |||
| @@ -21,7 +21,10 @@ | |||
| 21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
| 22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
| 23 | #include <linux/input.h> | 23 | #include <linux/input.h> |
| 24 | |||
| 24 | #include <asm/xen/hypervisor.h> | 25 | #include <asm/xen/hypervisor.h> |
| 26 | |||
| 27 | #include <xen/xen.h> | ||
| 25 | #include <xen/events.h> | 28 | #include <xen/events.h> |
| 26 | #include <xen/page.h> | 29 | #include <xen/page.h> |
| 27 | #include <xen/interface/io/fbif.h> | 30 | #include <xen/interface/io/fbif.h> |
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index baa051d5bfb..a869b45d3d3 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
| @@ -42,6 +42,7 @@ | |||
| 42 | #include <linux/mm.h> | 42 | #include <linux/mm.h> |
| 43 | #include <net/ip.h> | 43 | #include <net/ip.h> |
| 44 | 44 | ||
| 45 | #include <xen/xen.h> | ||
| 45 | #include <xen/xenbus.h> | 46 | #include <xen/xenbus.h> |
| 46 | #include <xen/events.h> | 47 | #include <xen/events.h> |
| 47 | #include <xen/page.h> | 48 | #include <xen/page.h> |
diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c index 54cd9161017..966b226c858 100644 --- a/drivers/video/xen-fbfront.c +++ b/drivers/video/xen-fbfront.c | |||
| @@ -25,7 +25,10 @@ | |||
| 25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
| 26 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
| 27 | #include <linux/mm.h> | 27 | #include <linux/mm.h> |
| 28 | |||
| 28 | #include <asm/xen/hypervisor.h> | 29 | #include <asm/xen/hypervisor.h> |
| 30 | |||
| 31 | #include <xen/xen.h> | ||
| 29 | #include <xen/events.h> | 32 | #include <xen/events.h> |
| 30 | #include <xen/page.h> | 33 | #include <xen/page.h> |
| 31 | #include <xen/interface/io/fbif.h> | 34 | #include <xen/interface/io/fbif.h> |
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index d31505b6f7a..826dda41416 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c | |||
| @@ -52,6 +52,8 @@ | |||
| 52 | 52 | ||
| 53 | #include <asm/xen/hypervisor.h> | 53 | #include <asm/xen/hypervisor.h> |
| 54 | #include <asm/xen/hypercall.h> | 54 | #include <asm/xen/hypercall.h> |
| 55 | |||
| 56 | #include <xen/xen.h> | ||
| 55 | #include <xen/interface/xen.h> | 57 | #include <xen/interface/xen.h> |
| 56 | #include <xen/interface/memory.h> | 58 | #include <xen/interface/memory.h> |
| 57 | #include <xen/xenbus.h> | 59 | #include <xen/xenbus.h> |
diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c index bdfd584ad85..6625ffe1a6f 100644 --- a/drivers/xen/cpu_hotplug.c +++ b/drivers/xen/cpu_hotplug.c | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | #include <linux/notifier.h> | 1 | #include <linux/notifier.h> |
| 2 | 2 | ||
| 3 | #include <xen/xen.h> | ||
| 3 | #include <xen/xenbus.h> | 4 | #include <xen/xenbus.h> |
| 4 | 5 | ||
| 5 | #include <asm/xen/hypervisor.h> | 6 | #include <asm/xen/hypervisor.h> |
diff --git a/drivers/xen/evtchn.c b/drivers/xen/evtchn.c index 79bedba44fe..f70a4f4698c 100644 --- a/drivers/xen/evtchn.c +++ b/drivers/xen/evtchn.c | |||
| @@ -48,6 +48,8 @@ | |||
| 48 | #include <linux/gfp.h> | 48 | #include <linux/gfp.h> |
| 49 | #include <linux/mutex.h> | 49 | #include <linux/mutex.h> |
| 50 | #include <linux/cpu.h> | 50 | #include <linux/cpu.h> |
| 51 | |||
| 52 | #include <xen/xen.h> | ||
| 51 | #include <xen/events.h> | 53 | #include <xen/events.h> |
| 52 | #include <xen/evtchn.h> | 54 | #include <xen/evtchn.h> |
| 53 | #include <asm/xen/hypervisor.h> | 55 | #include <asm/xen/hypervisor.h> |
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index 7d8f531fb8e..4c6c0bd636a 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
| 38 | #include <linux/uaccess.h> | 38 | #include <linux/uaccess.h> |
| 39 | 39 | ||
| 40 | #include <xen/xen.h> | ||
| 40 | #include <xen/interface/xen.h> | 41 | #include <xen/interface/xen.h> |
| 41 | #include <xen/page.h> | 42 | #include <xen/page.h> |
| 42 | #include <xen/grant_table.h> | 43 | #include <xen/grant_table.h> |
diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c index 88a60e03ccf..ae5cb05a1a1 100644 --- a/drivers/xen/sys-hypervisor.c +++ b/drivers/xen/sys-hypervisor.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <asm/xen/hypervisor.h> | 14 | #include <asm/xen/hypervisor.h> |
| 15 | #include <asm/xen/hypercall.h> | 15 | #include <asm/xen/hypercall.h> |
| 16 | 16 | ||
| 17 | #include <xen/xen.h> | ||
| 17 | #include <xen/xenbus.h> | 18 | #include <xen/xenbus.h> |
| 18 | #include <xen/interface/xen.h> | 19 | #include <xen/interface/xen.h> |
| 19 | #include <xen/interface/version.h> | 20 | #include <xen/interface/version.h> |
diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c index d42e25d5968..08638adec9f 100644 --- a/drivers/xen/xenbus/xenbus_probe.c +++ b/drivers/xen/xenbus/xenbus_probe.c | |||
| @@ -49,6 +49,8 @@ | |||
| 49 | #include <asm/page.h> | 49 | #include <asm/page.h> |
| 50 | #include <asm/pgtable.h> | 50 | #include <asm/pgtable.h> |
| 51 | #include <asm/xen/hypervisor.h> | 51 | #include <asm/xen/hypervisor.h> |
| 52 | |||
| 53 | #include <xen/xen.h> | ||
| 52 | #include <xen/xenbus.h> | 54 | #include <xen/xenbus.h> |
| 53 | #include <xen/events.h> | 55 | #include <xen/events.h> |
| 54 | #include <xen/page.h> | 56 | #include <xen/page.h> |
diff --git a/drivers/xen/xenfs/super.c b/drivers/xen/xenfs/super.c index 6559e0c752c..8924d93136f 100644 --- a/drivers/xen/xenfs/super.c +++ b/drivers/xen/xenfs/super.c | |||
| @@ -13,6 +13,8 @@ | |||
| 13 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
| 14 | #include <linux/magic.h> | 14 | #include <linux/magic.h> |
| 15 | 15 | ||
| 16 | #include <xen/xen.h> | ||
| 17 | |||
| 16 | #include "xenfs.h" | 18 | #include "xenfs.h" |
| 17 | 19 | ||
| 18 | #include <asm/xen/hypervisor.h> | 20 | #include <asm/xen/hypervisor.h> |
diff --git a/include/xen/xen.h b/include/xen/xen.h new file mode 100644 index 00000000000..a16402418d3 --- /dev/null +++ b/include/xen/xen.h | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | #ifndef _XEN_XEN_H | ||
| 2 | #define _XEN_XEN_H | ||
| 3 | |||
| 4 | enum xen_domain_type { | ||
| 5 | XEN_NATIVE, /* running on bare hardware */ | ||
| 6 | XEN_PV_DOMAIN, /* running in a PV domain */ | ||
| 7 | XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ | ||
| 8 | }; | ||
| 9 | |||
| 10 | #ifdef CONFIG_XEN | ||
| 11 | extern enum xen_domain_type xen_domain_type; | ||
| 12 | #else | ||
| 13 | #define xen_domain_type XEN_NATIVE | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #define xen_domain() (xen_domain_type != XEN_NATIVE) | ||
| 17 | #define xen_pv_domain() (xen_domain() && \ | ||
| 18 | xen_domain_type == XEN_PV_DOMAIN) | ||
| 19 | #define xen_hvm_domain() (xen_domain() && \ | ||
| 20 | xen_domain_type == XEN_HVM_DOMAIN) | ||
| 21 | |||
| 22 | #ifdef CONFIG_XEN_DOM0 | ||
| 23 | #include <xen/interface/xen.h> | ||
| 24 | #include <asm/xen/hypervisor.h> | ||
| 25 | |||
| 26 | #define xen_initial_domain() (xen_pv_domain() && \ | ||
| 27 | xen_start_info->flags & SIF_INITDOMAIN) | ||
| 28 | #else /* !CONFIG_XEN_DOM0 */ | ||
| 29 | #define xen_initial_domain() (0) | ||
| 30 | #endif /* CONFIG_XEN_DOM0 */ | ||
| 31 | |||
| 32 | #endif /* _XEN_XEN_H */ | ||
