diff options
author | rtm <rtm> | 2006-06-15 19:58:01 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-06-15 19:58:01 +0000 |
commit | be0a7eacdab4443199ed0ed4379a84edc7c98fd6 (patch) | |
tree | 5528a9d64865c1f29ded1f179ebf408e50df3d50 /main.c | |
parent | a4c03dea09b7b5f2463147e979d20b035b81de96 (diff) | |
download | xv6-labs-be0a7eacdab4443199ed0ed4379a84edc7c98fd6.tar.gz xv6-labs-be0a7eacdab4443199ed0ed4379a84edc7c98fd6.tar.bz2 xv6-labs-be0a7eacdab4443199ed0ed4379a84edc7c98fd6.zip |
sleep, wakeup, wait, exit
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -42,6 +42,8 @@ main() p->tf->tf_es = p->tf->tf_ds = p->tf->tf_ss = (SEG_UDATA << 3) | 3; p->tf->tf_cs = (SEG_UCODE << 3) | 3; p->tf->tf_eflags = FL_IF; + p->pid = 0; + p->ppid = 0; setupsegs(p); p = newproc(); @@ -56,6 +58,13 @@ main() p->mem[i++] = 0xcd; // int p->mem[i++] = T_SYSCALL; p->mem[i++] = 0xb8; // mov ..., %eax + p->mem[i++] = SYS_wait; + p->mem[i++] = 0; + p->mem[i++] = 0; + p->mem[i++] = 0; + p->mem[i++] = 0xcd; // int + p->mem[i++] = T_SYSCALL; + p->mem[i++] = 0xb8; // mov ..., %eax p->mem[i++] = SYS_exit; p->mem[i++] = 0; p->mem[i++] = 0; |