summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
Simplify inituvm and userinit by assuming initcode fits on a page
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/proc.c b/proc.c
index a72ec6c..853eb0a 100644
--- a/proc.c
+++ b/proc.c
@@ -120,11 +120,8 @@ userinit(void)
initproc = p;
if(!(p->pgdir = setupkvm()))
panic("userinit: out of memory?");
- if(!allocuvm(p->pgdir, 0x0, (int)_binary_initcode_size))
- panic("userinit: out of memory?");
- inituvm(p->pgdir, 0x0, _binary_initcode_start,
- (int)_binary_initcode_size);
- p->sz = PGROUNDUP((int)_binary_initcode_size);
+ inituvm(p->pgdir, _binary_initcode_start, (int)_binary_initcode_size);
+ p->sz = PGSIZE;
memset(p->tf, 0, sizeof(*p->tf));
p->tf->cs = (SEG_UCODE << 3) | DPL_USER;
p->tf->ds = (SEG_UDATA << 3) | DPL_USER;