mirror of
https://github.com/hexagonal-sun/moss-kernel.git
synced 2026-01-31 17:41:43 -05:00
stub sys_clock_nanosleep
# Conflicts: # src/arch/arm64/exceptions/syscall.rs
This commit is contained in:
@@ -115,7 +115,7 @@
|
||||
| 0x70 (112) | clock_settime | (const clockid_t which_clock, const struct __kernel_timespec *tp) | __arm64_sys_clock_settime | false |
|
||||
| 0x71 (113) | clock_gettime | (const clockid_t which_clock, struct __kernel_timespec *tp) | __arm64_sys_clock_gettime | true |
|
||||
| 0x72 (114) | clock_getres | (const clockid_t which_clock, struct __kernel_timespec *tp) | __arm64_sys_clock_getres | false |
|
||||
| 0x73 (115) | clock_nanosleep | (const clockid_t which_clock, int flags, const struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtp) | __arm64_sys_clock_nanosleep | false |
|
||||
| 0x73 (115) | clock_nanosleep | (const clockid_t which_clock, int flags, const struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtp) | __arm64_sys_clock_nanosleep | partially |
|
||||
| 0x74 (116) | syslog | (int type, char *buf, int len) | __arm64_sys_syslog | false |
|
||||
| 0x75 (117) | ptrace | (long request, long pid, unsigned long addr, unsigned long data) | __arm64_sys_ptrace | partially |
|
||||
| 0x76 (118) | sched_setparam | (pid_t pid, struct sched_param *param) | __arm64_sys_sched_setparam | false |
|
||||
|
||||
@@ -57,7 +57,7 @@ use crate::{
|
||||
},
|
||||
prctl::sys_prctl,
|
||||
ptrace::{TracePoint, ptrace_stop, sys_ptrace},
|
||||
sleep::sys_nanosleep,
|
||||
sleep::{sys_clock_nanosleep, sys_nanosleep},
|
||||
thread_group::{
|
||||
Pgid,
|
||||
pid::{sys_getpgid, sys_getpid, sys_getppid, sys_setpgid},
|
||||
@@ -316,6 +316,14 @@ pub async fn handle_syscall() {
|
||||
0x63 => sys_set_robust_list(TUA::from_value(arg1 as _), arg2 as _).await,
|
||||
0x65 => sys_nanosleep(TUA::from_value(arg1 as _), TUA::from_value(arg2 as _)).await,
|
||||
0x71 => sys_clock_gettime(arg1 as _, TUA::from_value(arg2 as _)).await,
|
||||
0x73 => {
|
||||
sys_clock_nanosleep(
|
||||
arg1 as _,
|
||||
TUA::from_value(arg2 as _),
|
||||
TUA::from_value(arg3 as _),
|
||||
)
|
||||
.await
|
||||
}
|
||||
0x75 => {
|
||||
sys_ptrace(
|
||||
arg1 as _,
|
||||
|
||||
@@ -9,3 +9,15 @@ pub async fn sys_nanosleep(rqtp: TUA<TimeSpec>, _rmtp: TUA<TimeSpec>) -> Result<
|
||||
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
pub async fn sys_clock_nanosleep(
|
||||
_clock_id: i32,
|
||||
rqtp: TUA<TimeSpec>,
|
||||
_rmtp: TUA<TimeSpec>,
|
||||
) -> Result<usize> {
|
||||
let timespec = TimeSpec::copy_from_user(rqtp).await?;
|
||||
|
||||
sleep(timespec.into()).await;
|
||||
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user