From 8d774afb2d45592d85725474a704ac99b0624d2c Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Tue, 31 Aug 2010 15:39:25 -0400 Subject: no more pminit, or ELF header at 0x10000 kinit() knows about end and PHYSTOP map all of kernel read/write (rather than r/o instructions) thanks, austin --- kalloc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'kalloc.c') diff --git a/kalloc.c b/kalloc.c index 65de759..8c9ff93 100644 --- a/kalloc.c +++ b/kalloc.c @@ -19,11 +19,13 @@ struct { // Initialize free list of physical pages. void -kinit(char *p, uint len) +kinit(void) { + extern char end[]; + initlock(&kmem.lock, "kmem"); - char *p1 = (char*)PGROUNDUP((uint)p); - char *p2 = PGROUNDDOWN(p + len); + char *p1 = (char*)PGROUNDUP((uint)end); + char *p2 = PGROUNDDOWN(PHYSTOP); for( ; p1 < p2; p1 += 4096) kfree(p1); } -- cgit v1.2.3