void * sbrk( uintptr_t increment ) { ASSERT(increment % 0x1000 == 0); ASSERT(heap_end % 0x1000 == 0); uintptr_t address = heap_end; heap_end += increment; uintptr_t i; for (i = address; i < heap_end; i += 0x1000) { get_page(i, 1, kernel_directory); alloc_frame(get_page(i, 1, kernel_directory), 0, 1); } return (void *)address; }