MCPcopy Create free account
hub / github.com/chyyuu/os_kernel_lab / syscall

Function syscall

user/src/syscall.rs:33–45  ·  view source on GitHub ↗
(id: usize, args: [usize; 3])

Source from the content-addressed store, hash-verified

31const SYSCALL_KEY_PRESSED: usize = 3001;
32
33fn syscall(id: usize, args: [usize; 3]) -> isize {
34 let mut ret: isize;
35 unsafe {
36 core::arch::asm!(
37 "ecall",
38 inlateout("x10") args[0] => ret,
39 in("x11") args[1],
40 in("x12") args[2],
41 in("x17") id
42 );
43 }
44 ret
45}
46
47pub fn sys_dup(fd: usize) -> isize {
48 syscall(SYSCALL_DUP, [fd, 0, 0])

Callers 15

sys_dupFunction · 0.70
sys_openFunction · 0.70
sys_closeFunction · 0.70
sys_pipeFunction · 0.70
sys_readFunction · 0.70
sys_writeFunction · 0.70
sys_exitFunction · 0.70
sys_sleepFunction · 0.70
sys_yieldFunction · 0.70
sys_killFunction · 0.70
sys_get_timeFunction · 0.70
sys_getpidFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected