On Fri, 2007-07-06 at 17:09 +0100, Jan Beulich wrote:
> >>> Hollis Blanchard <[EMAIL PROTECTED]> 06.07.07 17:44 >>>
> >> Where does the hypercall argument translation happen? 
> >
> >It happens inside privcmd_hypercall(). See
> >http://xenbits.xensource.com/ext/linux-ppc-2.6.hg?file/04f6ad5d9232/arch/powerpc/platforms/xen/hcall.c
> > 
> >
> >(In that tree, the function is named "arch_privcmd_hypercall".) IA64 and
> >PPC both implement this function now; only x86 is left with #ifdefs in
> >drivers/xen/privcmd/privcmd.c .
> >
> >COMPATIBLE_IOCTL is just about the ioctl itself, not the sub-structures.
> Hmm, I can't really see any structures being translated there, all I see is
> guest handles getting dereferenced. So I'm still unclear where you do the
> 32-bit layout to 64-bit layout conversion, but obviously I must be missing
> something.

Which structures do you think need further conversion?

We've already fixed all the shared structures (e.g. sysctl) to use
explicitly-sized types, so the PowerPC port has always had proper
interfaces. For example, look at the definition of xen_ulong_t on the
different architectures. The x86 interfaces were frozen too early,
cementing this problem for you.

Hollis Blanchard
IBM Linux Technology Center

Xen-ppc-devel mailing list

Reply via email to