Implement sys_read && allocate pid and kernel stack dynamically.

This commit is contained in:
Yifan Wu 2020-12-08 17:17:28 +08:00
parent a9066d75e5
commit 58dbb3ffa5
7 changed files with 162 additions and 19 deletions

View file

@ -1,3 +1,4 @@
const SYSCALL_READ: usize = 63;
const SYSCALL_WRITE: usize = 64;
const SYSCALL_EXIT: usize = 93;
const SYSCALL_YIELD: usize = 124;
@ -11,6 +12,7 @@ use process::*;
pub fn syscall(syscall_id: usize, args: [usize; 3]) -> isize {
match syscall_id {
SYSCALL_READ => sys_read(args[0], args[1] as *const u8, args[2]),
SYSCALL_WRITE => sys_write(args[0], args[1] as *const u8, args[2]),
SYSCALL_EXIT => sys_exit(args[0] as i32),
SYSCALL_YIELD => sys_yield(),