WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

Re: [XenPPC] Xencomm on ia64 - The patches

Le Lundi 21 Août 2006 13:13, Jimi Xenidis a écrit :
> On Aug 21, 2006, at 3:47 AM, Tristan Gingold wrote:
> > Le Vendredi 18 Août 2006 23:21, Hollis Blanchard a écrit :
> >> On Fri, 2006-08-18 at 18:02 +0200, Tristan Gingold wrote:
> >
> > [...]
> >
> >>> I have also fixed a few bugs in guest_access.h
> >>
> >> Do you think you could split those out as a diff to
> >> xen/include/asm-powerpc/guest_access.h, to be applied before we
> >> move it?
> >
> > Here is the patch.
>
> your patch inlined below, does not do anything other than rename
> _x,_y to _d,_s.. am I missing something?
Yes.  See below.

> > #define __copy_field_to_guest(hnd, ptr, field) ({                   \
> > -    const int _off = offsetof(typeof(*ptr),
> > field);                  \
> > -    const typeof(&(ptr)->field) _x = &(hnd).p->field;               \
> > -    const typeof(&(ptr)->field) _y = &(ptr)->field;                 \
> > -    xencomm_copy_to_guest(_x, _y, sizeof(*_x), sizeof(*_x)*(_off)); \
> > +    const int _off = offsetof(typeof(*ptr), field);                 \
> > +    const typeof(ptr) _d = (hnd).p;                                 \
> > +    const typeof(&(ptr)->field) _s = &(ptr)->field;                 \
> > +    xencomm_copy_to_guest(_d, _s, sizeof(*_s), _off); \
Cf how _x/_d are declared and the parameters of xencomm_copy_to_guest.

> > #define __copy_field_from_guest(ptr, hnd, field) ({                 \
> >      const int _off = offsetof(typeof(*ptr), field);                 \
> > -    const typeof(&(ptr)->field) _x = &(hnd).p->field;               \
> > -    const typeof(&(ptr)->field) _y = &(ptr)->field;                 \
> > -    xencomm_copy_to_guest(_y, _x, sizeof(*_x), sizeof(*_x)*(_off)); \
> > +    const typeof(ptr) _s = (hnd).p;                                 \
> > +    const typeof(&(ptr)->field) _d = &(ptr)->field;                 \
> > +    xencomm_copy_from_guest(_d, _s, sizeof(*_d), _off); \
Idem.

Tristan.

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel