kernel/kalloc.c
// the allocator starts with no memory, the calls to kfree
// give it some to manage.
the allocator starts with no memory, the calls to kfree
give it some to manage.
the allocator starts with no memory the calls to kfree give it some to manage .
void
kinit()
{
  initlock(&kmem.lock, "kmem");
  freerange(end, (void*)PHYSTOP);
}
void kinit ( ) { initlock ( & kmem . lock , " " ) ; freerange ( end , ( void * ) PHYSTOP ) ; }
the allocator starts with no memory, the calls to kfree
give it some to manage.
the allocator starts with no memory the calls to kfree give it some to manage .
// this will give some free pages that the kernel can start using // prior to this, the kernel has no memory