Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
educg-net-17064-1466468
OSKernel2023-openCh-164
Commits
12a709e2
Commit
12a709e2
authored
2 years ago
by
某某某
Browse files
Options
Download
Patches
Plain Diff
1
parent
7539785d
master
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Makefile
+2
-0
Makefile
kernel/syscall.c
+84
-18
kernel/syscall.c
with
86 additions
and
18 deletions
+86
-18
Makefile
+
2
−
0
View file @
12a709e2
...
...
@@ -268,3 +268,5 @@ clean:
$U
/usys.S
\
fs.img
\
$(
UPROGS
)
rm
-rf
build
This diff is collapsed.
Click to expand it.
kernel/syscall.c
+
84
−
18
View file @
12a709e2
...
...
@@ -116,30 +116,73 @@ extern uint64 sys_remove(void);
extern
uint64
sys_trace
(
void
);
extern
uint64
sys_sysinfo
(
void
);
extern
uint64
sys_rename
(
void
);
//extern uint64 sys_pipe2(void);
//extern uint64 sys_dup3(void);
//extern uint64 sys_openat(void);
//extern uint64 sys_getdents64(void);
//extern uint64 sys_linkat(void);
//extern uint64 sys_unlinkat(void);
//extern uint64 sys_mkdirat(void);
//extern uint64 sys_umount2(void);
//extern uint64 sys_mount(void);
//extern uint64 sys_clone(void);
//extern uint64 sys_execve(void);
//extern uint64 sys_wait4(void);
//extern uint64 sys_getppid(void);
//extern uint64 sys_brk(void);
//extern uint64 sys_munmap(void);
//extern uint64 sys_mmap(void);
//extern uint64 sys_times(void);
//extern uint64 sys_uname(void);
//extern uint64 sys_sched_yield(void);
//extern uint64 sys_gettimeofday(void);
//extern uint64 sys_nanosleep(void);
static
uint64
(
*
syscalls
[])(
void
)
=
{
[
SYS_fork
]
sys_fork
,
[
SYS_getcwd
]
sys_getcwd
,
// [SYS_pipe2] sys_pipe2,
[
SYS_dup
]
sys_dup
,
// [SYS_dup3] sys_dup3,
[
SYS_chdir
]
sys_chdir
,
// [SYS_openat] sys_openat,
[
SYS_close
]
sys_close
,
// [SYS_getdents64] sys_getdent64
[
SYS_read
]
sys_read
,
[
SYS_write
]
sys_write
,
// [SYS_linkat] sys_linkat,
// [SYS_unlinkat] sys_unlinkat
// [SYS_mkdirat] sys_mkdirat,
// [SYS_umount2] sys_umount2,
// [SYS_mount] sys_mount,
[
SYS_fstat
]
sys_fstat
,
// [SYS_clone] sys_clone,
// [SYS_execve] sys_execve,
// [SYS_wait4] sys_wait4
[
SYS_exit
]
sys_exit
,
// [SYS_getppid] sys_getppid,
[
SYS_getpid
]
sys_getpid
,
// [SYS_brk] SYS_brk,
// [SYS_munmap] sys_munmap,
// [SYS_mmap] sys_mmap,
// [SYS_times] sys_times
// [SYS_uname] sys_uname,
// [SYS_sched_yield] sys_sched_yield,
// [SYS_gettimeofday] sys_gettimeofday,
// [SYS_nanosleep] sys_nanosleep,
[
SYS_fork
]
sys_fork
,
[
SYS_wait
]
sys_wait
,
[
SYS_pipe
]
sys_pipe
,
[
SYS_read
]
sys_read
,
[
SYS_kill
]
sys_kill
,
[
SYS_exec
]
sys_exec
,
[
SYS_fstat
]
sys_fstat
,
[
SYS_chdir
]
sys_chdir
,
[
SYS_dup
]
sys_dup
,
[
SYS_getpid
]
sys_getpid
,
[
SYS_sbrk
]
sys_sbrk
,
[
SYS_sleep
]
sys_sleep
,
[
SYS_uptime
]
sys_uptime
,
[
SYS_open
]
sys_open
,
[
SYS_write
]
sys_write
,
[
SYS_mkdir
]
sys_mkdir
,
[
SYS_close
]
sys_close
,
[
SYS_test_proc
]
sys_test_proc
,
[
SYS_dev
]
sys_dev
,
[
SYS_readdir
]
sys_readdir
,
[
SYS_getcwd
]
sys_getcwd
,
[
SYS_remove
]
sys_remove
,
[
SYS_trace
]
sys_trace
,
[
SYS_sysinfo
]
sys_sysinfo
,
...
...
@@ -147,28 +190,51 @@ static uint64 (*syscalls[])(void) = {
};
static
char
*
sysnames
[]
=
{
[
SYS_fork
]
"fork"
,
[
SYS_getcwd
]
"getcwd"
,
// [SYS_pipe2] "pipe2",
[
SYS_dup
]
"dup"
,
// [SYS_dup3] "dup3",
[
SYS_chdir
]
"chdir"
,
// [SYS_openat] "openat",
[
SYS_close
]
"close"
,
// [SYS_getdents64] "getdents64",
[
SYS_read
]
"read"
,
[
SYS_write
]
"write"
,
// [SYS_linkat] "linkat",
// [SYS_unlinkat] "unlinkat",
// [SYS_mkdirat] "mkdirat",
// [SYS_umount2] "umount2",
// [SYS_mount] "mount",
[
SYS_fstat
]
"fstat"
,
// [SYS_clone] "clone",
// [SYS_execve] "execve",
// [SYS_wait4] "wait4",
[
SYS_exit
]
"exit"
,
// [SYS_getppid] "getppid",
[
SYS_getpid
]
"getpid"
,
// [SYS_brk] "brk",
// [SYS_munmap] "munmap",
// [SYS_mmap] "mmap",
// [SYS_times] "times",
// [SYS_uname] "uname",
// [SYS_sched_yield] "sched_yield",
// [SYS_gettimeofday]"gettimeofday",
// [SYS_nanosleep] "nanosleep",
[
SYS_fork
]
"fork"
,
[
SYS_wait
]
"wait"
,
[
SYS_pipe
]
"pipe"
,
[
SYS_read
]
"read"
,
[
SYS_kill
]
"kill"
,
[
SYS_exec
]
"exec"
,
[
SYS_fstat
]
"fstat"
,
[
SYS_chdir
]
"chdir"
,
[
SYS_dup
]
"dup"
,
[
SYS_getpid
]
"getpid"
,
[
SYS_sbrk
]
"sbrk"
,
[
SYS_sleep
]
"sleep"
,
[
SYS_uptime
]
"uptime"
,
[
SYS_open
]
"open"
,
[
SYS_write
]
"write"
,
[
SYS_mkdir
]
"mkdir"
,
[
SYS_close
]
"close"
,
[
SYS_test_proc
]
"test_proc"
,
[
SYS_dev
]
"dev"
,
[
SYS_readdir
]
"readdir"
,
[
SYS_getcwd
]
"getcwd"
,
[
SYS_remove
]
"remove"
,
[
SYS_trace
]
"trace"
,
[
SYS_sysinfo
]
"sysinfo"
,
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets