[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] [rfc] [patch] 64-bitize guest handles
On Wed, 2006-06-28 at 06:34 -0400, Jimi Xenidis wrote: > oops! a typo and an update, see below > On Jun 27, 2006, at 6:15 PM, Jimi Xenidis wrote: > > how about: > > struct __guest_handle_struct { > > char __pad[sizeof (long) - sizeof (void *)]; > needs to be: > char __pad[sizeof (u64) - sizeof (void *)]; > > Also, we will have to set the __pad member to zero or 32bit > "creators" will have garbage there, so let make it an u32: > > u32 __pad[(sizeof (u64) - sizeof (void *)) / 4]; > > and... > > -#define set_xen_guest_handle(hnd, val) do { (hnd).p = val; } > > while (0) > > +#define set_xen_guest_handle(hnd, val) \ > > + do { (hnd).l = (unsigned long)(void *)val; } while (0) > > #define set_xen_guest_handle(hnd, val) \ > do { \ > if (sizeof ((hnd).__pad)) \ > (hnd).__pad = 0; \ > (hnd).p = val; \ > } while (0) I like the union better than a struct with carefully-constructed non-overlapping members. Also, the separate assignment to 0 would be avoided. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |