Make uint64_aligned_t and GUEST_HANDLE_64 visible to guests.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 1 Sep 2010 09:17:16 +0000 (10:17 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 1 Sep 2010 09:17:16 +0000 (10:17 +0100)
No reason to hide them and they're useful for building 32/64-bit
invariant hypercall structures.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/include/public/arch-x86/xen-x86_32.h
xen/include/public/xen.h

index 7cb6a0179f4dd3889c9b5aa2d80b35c84bfe7b75..1f97587d539d86f6753dab3b048440a3778af573 100644 (file)
 #define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START)
 #endif
 
-/* 32-/64-bit invariability for control interfaces (domctl/sysctl). */
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
+/* 32-/64-bit invariability. */
 #undef ___DEFINE_XEN_GUEST_HANDLE
 #define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
     typedef struct { type *p; }                                 \
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
 #define __XEN_GUEST_HANDLE_64(name) __guest_handle_64_ ## name
 #define XEN_GUEST_HANDLE_64(name) __XEN_GUEST_HANDLE_64(name)
-#endif
 
 #ifndef __ASSEMBLY__
 
index 6c783412cfe0a4b72f330a219a547c2d4091acb2..bd80f0e76699887b06af0b96ebe557cddbbb63c2 100644 (file)
@@ -688,9 +688,6 @@ __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
 
 #endif /* !__ASSEMBLY__ */
 
-/* Default definitions for macros used by domctl/sysctl. */
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
-
 #ifndef uint64_aligned_t
 #define uint64_aligned_t uint64_t
 #endif
@@ -698,15 +695,13 @@ __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
 #define XEN_GUEST_HANDLE_64(name) XEN_GUEST_HANDLE(name)
 #endif
 
-#ifndef __ASSEMBLY__
+#if (defined(__XEN__) || defined(__XEN_TOOLS__)) && !defined(__ASSEMBLY__)
 struct xenctl_cpumap {
     XEN_GUEST_HANDLE_64(uint8) bitmap;
     uint32_t nr_cpus;
 };
 #endif
 
-#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
-
 #endif /* __XEN_PUBLIC_XEN_H__ */
 
 /*