|
[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 Fri, 5 Oct 2012, Ian Campbell wrote:
> 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?
You are right, I realize now that the series is not bisectable :(
It makes sense to squash 4, 5 and 6 together, the only reason why I kept
them separate is for readability._______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |