aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-07-19 12:51:08 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-08-20 15:40:52 +0100
commit6bba043afe0f29ff4f87b839b55b58b15cca1c08 (patch)
tree928d7b25517816266f735a79f5eb2d02514e35c0
parent623038e4df4f09946e6126e5744a3a2e28add28f (diff)
downloadxen-6bba043afe0f29ff4f87b839b55b58b15cca1c08.tar.gz
xen-6bba043afe0f29ff4f87b839b55b58b15cca1c08.tar.bz2
xen-6bba043afe0f29ff4f87b839b55b58b15cca1c08.zip
xen: only expose start_info on architectures which have a PV boot path
Most of this struct is PV MMU specific and it is not used on ARM at all. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Jan Beulich <JBeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
-rw-r--r--tools/libxc/xenctrl.h5
-rw-r--r--xen/include/asm-x86/config.h1
-rw-r--r--xen/include/public/arch-x86/xen.h2
-rw-r--r--xen/include/public/xen.h3
4 files changed, 7 insertions, 4 deletions
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 388a9c3d55..f2cebafc9d 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -408,15 +408,14 @@ typedef union
shared_info_t s;
} shared_info_any_t;
+#if defined(__i386__) || defined(__x86_64__)
typedef union
{
-#if defined(__i386__) || defined(__x86_64__)
start_info_x86_64_t x64;
start_info_x86_32_t x32;
-#endif
start_info_t s;
} start_info_any_t;
-
+#endif
int xc_domain_create(xc_interface *xch,
uint32_t ssidref,
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index cb7b2e4a05..028b696dfa 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -265,6 +265,7 @@ extern unsigned char boot_edid_info[128];
(COMPAT_L2_PAGETABLE_LAST_XEN_SLOT - COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(d) + 1)
#define COMPAT_LEGACY_MAX_VCPUS XEN_LEGACY_MAX_VCPUS
+#define COMPAT_HAVE_PV_GUEST_ENTRY XEN_HAVE_PV_GUEST_ENTRY
#endif
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index b7f6a517b9..7ae8c90489 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -70,6 +70,8 @@ typedef unsigned long xen_pfn_t;
#define PRI_xen_pfn "lx"
#endif
+#define XEN_HAVE_PV_GUEST_ENTRY 1
+
/*
* `incontents 200 segdesc Segment Descriptor Tables
*/
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 3cab74f18e..2414e7e3ca 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -716,7 +716,7 @@ typedef struct shared_info shared_info_t;
* 32-bit and runs under a 64-bit hypervisor should _NOT_ use two of the
* pages preceding pt_base and mark them as reserved/unused.
*/
-
+#ifdef XEN_HAVE_PV_GUEST_ENTRY
#define MAX_GUEST_CMDLINE 1024
struct start_info {
/* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME. */
@@ -756,6 +756,7 @@ typedef struct start_info start_info_t;
#define console_mfn console.domU.mfn
#define console_evtchn console.domU.evtchn
#endif
+#endif /* XEN_HAVE_PV_GUEST_ENTRY */
/* These flags are passed in the 'flags' field of start_info_t. */
#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */