[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] memop struct packing, 32/64 bits
> > luck? Am I missing something? > > Where older structs were not 32/64-bit invariant, compat shims were > implemented. See common/compat/memory.c, for example. Well worth avoiding > that! So for the "Fun" of it I tried to see if the 'struct xen_processor_performance' has some 32/64-bit issues and was surprised to find they do. What I am more surprised to find is that nobody seems to have had any troubles with this as it seems to have been there since it was initially implemented. The major issue would have been with the 'shared_type', 'domain_info' and the pointer to the 'states' being at different offsets (So when running a 32-bit dom0 with a 64-bit hypervisor). The attached little C program has the identified issues and the // FIX is my attempt at making the structs of the same size on 32 and 64 bit builds. Right now when built as 32-bit the struct is 96 bytes, while on 64-bit it is 104. Was wondering what is the right fix? The thoughts I had was to either leave them as be and the domain would have to figure out whether the hypervisor is 32-bit or 64-bit and provide the _right_ structure. Or perhaps fix it and provide a "version" hypercall, but that would not be backwards compatible. Attachment:
psd.c _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |