diff options
Diffstat (limited to 'xen/arch/x86/setup.c')
-rw-r--r-- | xen/arch/x86/setup.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 8d9f6f9e08..8770a29509 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -18,6 +18,10 @@ #include <xen/keyhandler.h> #include <xen/numa.h> #include <public/version.h> +#ifdef CONFIG_COMPAT +#include <compat/platform.h> +#include <compat/xen.h> +#endif #include <asm/bitops.h> #include <asm/smp.h> #include <asm/processor.h> @@ -544,7 +548,14 @@ void __init __start_xen(multiboot_info_t *mbi) BUILD_BUG_ON(sizeof(start_info_t) > PAGE_SIZE); BUILD_BUG_ON(sizeof(shared_info_t) > PAGE_SIZE); - BUILD_BUG_ON(sizeof(vcpu_info_t) != 64); + BUILD_BUG_ON(sizeof(struct vcpu_info) != 64); + +#ifdef CONFIG_COMPAT + BUILD_BUG_ON(sizeof(((struct compat_platform_op *)0)->u) != + sizeof(((struct compat_platform_op *)0)->u.pad)); + BUILD_BUG_ON(sizeof(start_info_compat_t) > PAGE_SIZE); + BUILD_BUG_ON(sizeof(struct compat_vcpu_info) != 64); +#endif /* Check definitions in public headers match internal defs. */ BUILD_BUG_ON(__HYPERVISOR_VIRT_START != HYPERVISOR_VIRT_START); @@ -791,6 +802,9 @@ void arch_get_xen_caps(xen_capabilities_info_t info) #elif defined(CONFIG_X86_64) p += sprintf(p, "xen-%d.%d-x86_64 ", major, minor); +#ifdef CONFIG_COMPAT + p += sprintf(p, "xen-%d.%d-x86_32p ", major, minor); +#endif if ( hvm_enabled ) { p += sprintf(p, "hvm-%d.%d-x86_32 ", major, minor); |