Add syscall alarm

This commit is contained in:
Jianfeng Jiang
2023-12-12 07:00:40 +00:00
committed by Tate, Hongliang Tian
parent 286a3514b3
commit 3f402d2d88
8 changed files with 199 additions and 23 deletions

View File

@ -5,15 +5,16 @@
use aster_frame::cpu::UserContext;
use self::{
accept::sys_accept, bind::sys_bind, connect::sys_connect, execve::sys_execveat,
getgroups::sys_getgroups, getpeername::sys_getpeername, getrandom::sys_getrandom,
getresgid::sys_getresgid, getresuid::sys_getresuid, getsid::sys_getsid,
getsockname::sys_getsockname, getsockopt::sys_getsockopt, listen::sys_listen,
pread64::sys_pread64, recvfrom::sys_recvfrom, sendto::sys_sendto, setfsgid::sys_setfsgid,
setfsuid::sys_setfsuid, setgid::sys_setgid, setgroups::sys_setgroups, setregid::sys_setregid,
setresgid::sys_setresgid, setresuid::sys_setresuid, setreuid::sys_setreuid, setsid::sys_setsid,
setsockopt::sys_setsockopt, setuid::sys_setuid, shutdown::sys_shutdown,
sigaltstack::sys_sigaltstack, socket::sys_socket, socketpair::sys_socketpair,
accept::sys_accept, alarm::sys_alarm, bind::sys_bind, connect::sys_connect,
execve::sys_execveat, getgroups::sys_getgroups, getpeername::sys_getpeername,
getrandom::sys_getrandom, getresgid::sys_getresgid, getresuid::sys_getresuid,
getsid::sys_getsid, getsockname::sys_getsockname, getsockopt::sys_getsockopt,
listen::sys_listen, pread64::sys_pread64, recvfrom::sys_recvfrom, sendto::sys_sendto,
setfsgid::sys_setfsgid, setfsuid::sys_setfsuid, setgid::sys_setgid, setgroups::sys_setgroups,
setregid::sys_setregid, setresgid::sys_setresgid, setresuid::sys_setresuid,
setreuid::sys_setreuid, setsid::sys_setsid, setsockopt::sys_setsockopt, setuid::sys_setuid,
shutdown::sys_shutdown, sigaltstack::sys_sigaltstack, socket::sys_socket,
socketpair::sys_socketpair,
};
use crate::{
prelude::*,
@ -96,6 +97,7 @@ use crate::{
mod accept;
mod access;
mod alarm;
mod arch_prctl;
mod bind;
mod brk;
@ -257,6 +259,7 @@ define_syscall_nums!(
SYS_DUP = 32,
SYS_DUP2 = 33,
SYS_PAUSE = 34,
SYS_ALARM = 37,
SYS_GETPID = 39,
SYS_SOCKET = 41,
SYS_CONNECT = 42,
@ -443,6 +446,7 @@ pub fn syscall_dispatch(
SYS_DUP => syscall_handler!(1, sys_dup, args),
SYS_DUP2 => syscall_handler!(2, sys_dup2, args),
SYS_PAUSE => syscall_handler!(0, sys_pause),
SYS_ALARM => syscall_handler!(1, sys_alarm, args),
SYS_GETPID => syscall_handler!(0, sys_getpid),
SYS_SOCKET => syscall_handler!(3, sys_socket, args),
SYS_CONNECT => syscall_handler!(3, sys_connect, args),