static void syscall_handler(struct dune_tf *tf) { // printf("Syscall No. %d\n", tf->rax); if (syscall_check_params(tf) == -1) return; if (!syscall_allow(tf)) return; syscall_do(tf); }
static void syscall_handler(struct dune_tf *tf) { // printf("Syscall No. %d\n", tf->rax); if (tf->rax >= SYSCALL_START) return do_syscall(tf, tf->rax - SYSCALL_START); if (syscall_check_params(tf) == -1) return; KSTATS_POP(NULL); KSTATS_PUSH(posix_syscall, NULL); syscall_do(tf); KSTATS_POP(NULL); KSTATS_PUSH(user, NULL); }