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

Re: [Xen-devel] [PATCH v4 4/6] xen: introduce XEN_GUEST_HANDLE_PARAM



On Wed, 2012-08-22 at 12:08 +0100, Stefano Stabellini wrote:
> diff --git a/xen/include/asm-arm/guest_access.h 
> b/xen/include/asm-arm/guest_access.h
> index 0fceae6..5686217 100644
> --- a/xen/include/asm-arm/guest_access.h
> +++ b/xen/include/asm-arm/guest_access.h
> @@ -27,16 +27,40 @@ unsigned long raw_clear_guest(void *to, unsigned len);
>  #define guest_handle_add_offset(hnd, nr) ((hnd).p += (nr))
>  #define guest_handle_subtract_offset(hnd, nr) ((hnd).p -= (nr))
>  
> -/* Cast a guest handle to the specified type of handle. */
> +/* Cast a guest handle (either XEN_GUEST_HANDLE or XEN_GUEST_HANDLE_PARAM)
> + * to the specified type of XEN_GUEST_HANDLE_PARAM. */
>  #define guest_handle_cast(hnd, type) ({         \
>      type *_x = (hnd).p;                         \
> -    (XEN_GUEST_HANDLE(type)) { _x };            \
> +    (XEN_GUEST_HANDLE_PARAM(type)) { _x };            \
[...]
>  #define guest_handle_from_ptr(ptr, type)        \
> -    ((XEN_GUEST_HANDLE(type)) { (type *)ptr })
> +    ((XEN_GUEST_HANDLE_PARAM(type)) { (type *)ptr })
>  #define const_guest_handle_from_ptr(ptr, type)  \
> -    ((XEN_GUEST_HANDLE(const_##type)) { (const type *)ptr })
> +    ((XEN_GUEST_HANDLE_PARAM(const_##type)) { (const type *)ptr })

These little bits cause build breakage if you only apply to this point
in the series (i.e. breaks bisectability):
        grant_table.c: In function âdo_grant_table_opâ:
        grant_table.c:2449:13: error: invalid initializer
        grant_table.c:2456:17: error: incompatible types when assigning to type 
â__guest_handle_64_voidâ from type â__guest_handle_voidâ
        [lots more of the same]

I think this is because you have changed guest_handle_cast but you
haven't yet changed the type of the parameter.

I haven't tried x86 but I can't see why the same problem wouldn't exist
there also.

The obvious answer is to move these hunks into the next patch, but I
think because of the split into patches 5/6 and 6/6 this will still
cause problems. I'll try it though but I suspect we might end up having
to squash 5+6 together?

Alternatively I've broken something during rebasing and this used to
work fine and you know what to do ;-)...

Ian.


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