While this is only a start (IOCTL_PRIVCMD_MMAP* and IOCTL_PRIVCMD_DM_OP require more work), it at least allows some simple operations (like "xl dmesg") which have always been available on XenoLinux to work again with a 64-bit kernel underneath a 32-bit distro. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Juergen Gross <jgross@xxxxxxxx> --- Resend due to prior omission of file system related addressees. --- fs/compat_ioctl.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- 4.18/fs/compat_ioctl.c +++ 4.18-xen-privcmd-compat-ioctls/fs/compat_ioctl.c @@ -115,6 +115,12 @@ #include <asm/fbio.h> #endif +#ifdef CONFIG_XEN +#include <xen/interface/xen.h> +#include <xen/evtchn.h> +#include <xen/privcmd.h> +#endif + #define convert_in_user(srcptr, dstptr) \ ({ \ typeof(*srcptr) val; \ @@ -1300,6 +1306,17 @@ IGNORE_IOCTL(FBIOGETCMAP32) IGNORE_IOCTL(FBIOSCURSOR32) IGNORE_IOCTL(FBIOGCURSOR32) #endif + +#ifdef CONFIG_XEN +COMPATIBLE_IOCTL(IOCTL_PRIVCMD_HYPERCALL) +COMPATIBLE_IOCTL(IOCTL_PRIVCMD_RESTRICT) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_BIND_VIRQ) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_BIND_INTERDOMAIN) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_BIND_UNBOUND_PORT) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_UNBIND) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_NOTIFY) +COMPATIBLE_IOCTL(IOCTL_EVTCHN_RESET) +#endif }; /*