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-devel

Re: [Xen-devel] pointers in public headers

>Io/xs_wire.h does not define a hypervisor interface so no need for guest
>handles there.

Good.

>The rest are all x86-specific, and represent pointers that
>don't really cleanly fit into the guest handle model and its accessor
>macros. Since on x86 the guest handle stuff is really only an enforcement
>method for ensuring we use the correct accessors I just left the tricky few
>as they were. Are you trying to macro/typedef the world for compat
>compilation, and these are annoying for you? :-) If so we could hide them
>behind a different macro -- we'd need to do that anyway to avoid breaking
>API compatibility.

Yes, they present a lurking problem once the converted structures get
accessed - clearly any kind of pointer is invalid when considering compatibility
mode guests. I could certainly try to make the script catch them and convert
them (to a integer type), but then the automation of copying the respective
fields will trigger compiler warnings about converting integrals to/from
pointers of different size.
So, yes, some kind of macro would help, but I can't see how you would
want to get away with not breaking API compatibility (which requires to
leave a pointer in there somehow) but eliminating the pointer.

Jan

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