On Fri, 2007-07-06 at 09:09 +0100, Jan Beulich wrote: > >--- a/fs/compat_ioctl.c Thu Jul 05 17:25:47 2007 -0500 > >+++ b/fs/compat_ioctl.c Thu Jul 05 17:26:48 2007 -0500 > >@@ -2948,6 +2953,18 @@ COMPATIBLE_IOCTL(LPRESET) > > /*LPGETSTATS not implemented, but no kernels seem to compile it in > anyways*/ > > COMPATIBLE_IOCTL(LPGETFLAGS) > > HANDLE_IOCTL(LPSETTIMEOUT, lp_timeout_trans) > >+ > >+#ifdef CONFIG_XEN > >+HANDLE_IOCTL(IOCTL_PRIVCMD_MMAP_32, privcmd_ioctl_32) > >+HANDLE_IOCTL(IOCTL_PRIVCMD_MMAPBATCH_32, privcmd_ioctl_32) > >+COMPATIBLE_IOCTL(IOCTL_PRIVCMD_HYPERCALL) > > 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. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@lists.xensource.com http://lists.xensource.com/xen-ppc-devel