summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSohil Mehta <[email protected]>2021-05-25 16:57:40 -0700
committerSohil Mehta <[email protected]>2021-09-12 19:22:18 -0700
commit6022ad37b0b6b58153b5c4663c4365dfc0d583c6 (patch)
tree57c10828180ff5fe40c5cd9aaa5317b5b59f38fa /include
parent34777dfbdf50046a33d6426f454eeedcc88d33fd (diff)
x86/uintr: Wire up the user interrupt syscalls
Wire up the user interrupt receiver and sender related syscalls for x86_64. For rest of the architectures the syscalls are not implemented. <TODO: Reserve the syscall numbers for other architectures> Signed-off-by: Sohil Mehta <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/linux/syscalls.h8
-rw-r--r--include/uapi/asm-generic/unistd.h15
2 files changed, 22 insertions, 1 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 252243c7783d..f47f64c36d87 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -1060,6 +1060,14 @@ asmlinkage long sys_memfd_secret(unsigned int flags);
/* arch/x86/kernel/ioport.c */
asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
+/* arch/x86/kernel/uintr_fd.c */
+asmlinkage long sys_uintr_register_handler(u64 __user *handler, unsigned int flags);
+asmlinkage long sys_uintr_unregister_handler(unsigned int flags);
+asmlinkage long sys_uintr_create_fd(u64 vector, unsigned int flags);
+asmlinkage long sys_uintr_register_sender(int uintr_fd, unsigned int flags);
+asmlinkage long sys_uintr_unregister_sender(int uintr_fd, unsigned int flags);
+asmlinkage long sys_uintr_wait(unsigned int flags);
+
/* pciconfig: alpha, arm, arm64, ia64, sparc */
asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn,
unsigned long off, unsigned long len,
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
index 1c5fb86d455a..b9a8b344270a 100644
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
@@ -880,8 +880,21 @@ __SYSCALL(__NR_memfd_secret, sys_memfd_secret)
#define __NR_process_mrelease 448
__SYSCALL(__NR_process_mrelease, sys_process_mrelease)
+#define __NR_uintr_register_handler 449
+__SYSCALL(__NR_uintr_register_handler, sys_uintr_register_handler)
+#define __NR_uintr_unregister_handler 450
+__SYSCALL(__NR_uintr_unregister_handler, sys_uintr_unregister_handler)
+#define __NR_uintr_create_fd 451
+__SYSCALL(__NR_uintr_create_fd, sys_uintr_create_fd)
+#define __NR_uintr_register_sender 452
+__SYSCALL(__NR_uintr_register_sender, sys_uintr_register_sender)
+#define __NR_uintr_unregister_sender 453
+__SYSCALL(__NR_uintr_unregister_sender, sys_uintr_unregister_sender)
+#define __NR_uintr_wait 454
+__SYSCALL(__NR_uintr_wait, sys_uintr_wait)
+
#undef __NR_syscalls
-#define __NR_syscalls 449
+#define __NR_syscalls 455
/*
* 32 bit systems traditionally used different