summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-06-15 19:58:01 +0000
committerrtm <rtm>2006-06-15 19:58:01 +0000
commitbe0a7eacdab4443199ed0ed4379a84edc7c98fd6 (patch)
tree5528a9d64865c1f29ded1f179ebf408e50df3d50 /main.c
parenta4c03dea09b7b5f2463147e979d20b035b81de96 (diff)
downloadxv6-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.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/main.c b/main.c
index 6b07d83..43c8c02 100644
--- a/main.c
+++ b/main.c
@@ -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;