diff options
| author | Sohil Mehta <[email protected]> | 2021-05-25 16:57:40 -0700 |
|---|---|---|
| committer | Sohil Mehta <[email protected]> | 2021-09-12 19:22:18 -0700 |
| commit | 6022ad37b0b6b58153b5c4663c4365dfc0d583c6 (patch) | |
| tree | 57c10828180ff5fe40c5cd9aaa5317b5b59f38fa /include | |
| parent | 34777dfbdf50046a33d6426f454eeedcc88d33fd (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.h | 8 | ||||
| -rw-r--r-- | include/uapi/asm-generic/unistd.h | 15 |
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 |
