From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH v6 2/5] xen: only expose start_info on architectures which have a PV boot path Date: Fri, 19 Jul 2013 12:51:08 +0100 Message-ID: <1374234671-6547-2-git-send-email-ian.campbell@citrix.com> References: <1374234595.13645.59.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1374234595.13645.59.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: keir@xen.org, Ian Campbell , stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Most of this struct is PV MMU specific and it is not used on ARM at all. Signed-off-by: Ian Campbell Acked-by: Jan Beulich Cc: Keir (Xen.org) Cc: Tim Deegan Cc: Stefano Stabellini --- v6: move compat #define into x86 config.h to remove it from public header. v3: Renamed from "xen: make start_info x86 specific." and use an ifdef instead of moving the definition. --- tools/libxc/xenctrl.h | 5 ++--- xen/include/asm-x86/config.h | 1 + xen/include/public/arch-x86/xen.h | 2 ++ xen/include/public/xen.h | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h index 388a9c3..f2cebaf 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 0044edb..5d79593 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -264,6 +264,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 b7f6a51..7ae8c90 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 3cab74f..2414e7e 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? */ -- 1.7.2.5