11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * sys_parisc32.c: Conversion between 32bit and 64bit native syscalls. 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 2000-2001 Hewlett Packard Company 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 2000 John Marvin 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 2001 Matthew Wilcox 7ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller * Copyright (C) 2014 Helge Deller <deller@gmx.de> 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * These routines maintain argument size conversion between 32bit and 64bit 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * environment. Based heavily on sys_ia32.c and sys_sparc32.c. 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/compat.h> 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/kernel.h> 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/syscalls.h> 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsasmlinkage long sys32_unimplemented(int r26, int r25, int r24, int r23, 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds int r22, int r21, int r20) 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds printk(KERN_ERR "%s(%d): Unimplemented 32 on 64 syscall #%d!\n", 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds current->comm, current->pid, r20); 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds return -ENOSYS; 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} 25ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller 26ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Dellerasmlinkage long sys32_fanotify_mark(compat_int_t fanotify_fd, compat_uint_t flags, 27ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller compat_uint_t mask0, compat_uint_t mask1, compat_int_t dfd, 28ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller const char __user * pathname) 29ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller{ 30ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller return sys_fanotify_mark(fanotify_fd, flags, 31ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller ((__u64)mask1 << 32) | mask0, 32ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller dfd, pathname); 33ab8a261ba5e2dd9206da640de5870cc31d568a7cHelge Deller} 34