[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 02/10] xen: make GUEST_HANDLE_64() and uint64_aligned_t available everywhere



>>> On 24.06.13 at 19:42, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
> --- a/xen/include/public/arch-x86/xen-x86_32.h
> +++ b/xen/include/public/arch-x86/xen-x86_32.h
> @@ -91,8 +91,7 @@
>  #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; }                                 \
> @@ -107,7 +106,6 @@
>  #define uint64_aligned_t uint64_t __attribute__((aligned(8)))

This line is the reason why such a change is not acceptable: We
require the headers to not use gcc extensions outside of regions
guarded by dependencies on __XEN__ and/or __XEN_TOOLS__ (which
we know/require will always be built by gcc compatible tool chains).

>  #define __XEN_GUEST_HANDLE_64(name) __guest_handle_64_ ## name
>  #define XEN_GUEST_HANDLE_64(name) __XEN_GUEST_HANDLE_64(name)
> -#endif
>  
>  #ifndef __ASSEMBLY__

I'm afraid you'll need to find a way to do what you want in the
kexec interface with the traditional manual padding approach.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.