From a2f9ae9d4ab678fa66a2ec5d1072ea22a36a18a1 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Thu, 19 Jan 2023 23:36:11 +0100 Subject: kernel: user interrupts --- src/shared/include/camellia/syscalls.h | 4 ++++ src/shared/include/camellia/types.h | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'src/shared/include') diff --git a/src/shared/include/camellia/syscalls.h b/src/shared/include/camellia/syscalls.h index 690e928..1de5368 100644 --- a/src/shared/include/camellia/syscalls.h +++ b/src/shared/include/camellia/syscalls.h @@ -17,6 +17,8 @@ #define _SYSCALL_PIPE 14 #define _SYSCALL_SLEEP 15 #define _SYSCALL_FILICIDE 16 +#define _SYSCALL_INTR 17 +#define _SYSCALL_INTR_SET 18 #define _SYSCALL_EXECBUF 100 #define _SYSCALL_DEBUG_KLOG 101 @@ -74,6 +76,8 @@ long _syscall_pipe(handle_t __user user_ends[2], int flags); void _syscall_sleep(long ms); void _syscall_filicide(void); +void _syscall_intr(void); +void _syscall_intr_set(void __user *ip); /* see shared/execbuf.h */ long _syscall_execbuf(void __user *buf, size_t len); diff --git a/src/shared/include/camellia/types.h b/src/shared/include/camellia/types.h index be34783..bd17e51 100644 --- a/src/shared/include/camellia/types.h +++ b/src/shared/include/camellia/types.h @@ -30,3 +30,8 @@ struct ufs_request { long offset; int flags; }; + +struct intr_data { + void __user *ip; + void __user *sp; /* last for pop %rsp */ +}; -- cgit v1.2.3