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

Re: [Xen-devel] [PATCH 2/4] xen/public: arm: Rework __guest_handle_param*



On Fri, 30 Oct 2015, Julien Grall wrote:
> __guest_handle_param is used to represent a guest pointer stored pass as
> an hypercall parameters. They are the same size as the native register
> for the architecture. It will be 32-bit on ARM32 and 64-bit on ARM64.
> 
> As the __guest_handle_param will always be the size of a native
> pointer, there is no need to have a union with an unsigned long.
> 
> Note that unsigned long may be not equivalent to the size of a pointer
> on ARM64. It depends whether the software is build using the LP64 or
> LLP64 data model. The size of an unsigned long in the latter will be
> 32-bit.
> 
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>

Obviously this is going to break set_xen_guest_handle_raw. I don't think
this cannot be committed separately to the change to
set_xen_guest_handle_raw.


> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Cc: Tim Deegan <tim@xxxxxxx>
> ---
>  xen/include/public/arch-arm.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 35839db..477254f 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -170,7 +170,7 @@
>  
>  #ifndef __ASSEMBLY__
>  #define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
> -    typedef union { type *p; unsigned long q; }                 \
> +    typedef struct { type *p; }                                 \
>          __guest_handle_param_ ## name;                          \
>      typedef union { type *p; uint64_aligned_t q; }              \
>          __guest_handle_ ## name;
> -- 
> 2.1.4
> 

_______________________________________________
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®.