diff options
-rw-r--r-- | kernel/kalloc.c | 1 | ||||
-rw-r--r-- | kernel/kernel.ld | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/kalloc.c b/kernel/kalloc.c index ae3863b..fa6a0ac 100644 --- a/kernel/kalloc.c +++ b/kernel/kalloc.c @@ -35,7 +35,6 @@ freerange(void *pa_start, void *pa_end) { char *p; p = (char*)PGROUNDUP((uint64)pa_start); - p += 4096; // XXX I can't get kernel.ld to place end beyond the last bss symbol. for(; p + PGSIZE <= (char*)pa_end; p += PGSIZE) kfree(p); } diff --git a/kernel/kernel.ld b/kernel/kernel.ld index 711af5b..acc3c8e 100644 --- a/kernel/kernel.ld +++ b/kernel/kernel.ld @@ -26,7 +26,7 @@ SECTIONS } .bss : { *(.bss) - PROVIDE(end = .); + *(.sbss*) + PROVIDE(end = .); } - } |