diff options
| author | Frans Kaashoek <kaashoek@Frans-Kaashoeks-MacBook-Pro.local> | 2011-08-22 20:05:15 -0400 | 
|---|---|---|
| committer | Frans Kaashoek <kaashoek@Frans-Kaashoeks-MacBook-Pro.local> | 2011-08-22 20:05:15 -0400 | 
| commit | d10d324e79bdcd7d7ab57952e6b140009737e868 (patch) | |
| tree | ab693343b57db922a91e5fc33266742370595bd6 | |
| parent | 39f8cc56d30bd1aaf097f17de0c410424c59a3f0 (diff) | |
| download | xv6-labs-d10d324e79bdcd7d7ab57952e6b140009737e868.tar.gz xv6-labs-d10d324e79bdcd7d7ab57952e6b140009737e868.tar.bz2 xv6-labs-d10d324e79bdcd7d7ab57952e6b140009737e868.zip | |
Remove sys_init syscall
Invoke initlog from forkret on first user process
| -rw-r--r-- | initcode.S | 2 | ||||
| -rw-r--r-- | main.c | 2 | ||||
| -rw-r--r-- | proc.c | 6 | ||||
| -rw-r--r-- | syscall.c | 9 | ||||
| -rw-r--r-- | syscall.h | 1 | 
5 files changed, 7 insertions, 13 deletions
| @@ -7,8 +7,6 @@  # exec(init, argv)  .globl start  start: -  movl $SYS_init, %eax -  int $T_SYSCALL    pushl $argv    pushl $init    pushl $0  // where caller pc would be @@ -60,7 +60,7 @@ mpmain(void)    scheduler();     // start running processes  } -pde_t enterpgdir[]; +pde_t enterpgdir[];  // For entry.S  // Start the non-boot (AP) processors.  static void @@ -322,8 +322,14 @@ yield(void)  void  forkret(void)  { +  static int first = 1;    // Still holding ptable.lock from scheduler.    release(&ptable.lock); + +  if (first) { +    first = 0; +    initlog(); +  }    // Return to "caller", actually trapret (see allocproc).  } @@ -99,15 +99,7 @@ extern int sys_wait(void);  extern int sys_write(void);  extern int sys_uptime(void); -int -sys_init(void) -{ -  initlog(); -  return 0; -} -  static int (*syscalls[])(void) = { -[SYS_init]    sys_init,  [SYS_fork]    sys_fork,  [SYS_exit]    sys_exit,  [SYS_wait]    sys_wait, @@ -122,7 +114,6 @@ static int (*syscalls[])(void) = {  [SYS_sbrk]    sys_sbrk,  [SYS_sleep]   sys_sleep,  [SYS_uptime]  sys_uptime, -// File system calls that are run in a transaction:  [SYS_open]    sys_open,  [SYS_write]   sys_write,  [SYS_mknod]   sys_mknod, @@ -1,5 +1,4 @@  // System call numbers -#define SYS_init    0  #define SYS_fork    1  #define SYS_exit    2  #define SYS_wait    3 | 
