kalloc.[ch] from xv6, memory.[ch] containing memory probing algorithm and constants

This commit is contained in:
Imbus 2025-06-26 13:27:35 +02:00
parent 58ed873401
commit bd7959cc6c
5 changed files with 155 additions and 1 deletions

33
kern/kalloc.h Normal file
View file

@ -0,0 +1,33 @@
#ifndef KALLOC_KERNEL_H
#define KALLOC_KERNEL_H
/**
* Kernel memory allocator
*
* Allocate one 4096-byte page of physical memory.
* Returns a pointer that the kernel can use.
* Returns 0 if the memory cannot be allocated.
* See: kalloc.c
*/
void *kalloc(void);
/**
* Kernel memory allocator
*
* Free the page of physical memory pointed at by pa,
* which normally should have been returned by a
* call to kalloc(). (The exception is when
* initializing the allocator; see kinit above.)
* See: kalloc.c
*/
void kfree(void *);
/**
* Initialize kernel memory allocator
*
* Called by main() on the way to the kernel's main loop.
* See: kalloc.c
*/
void kalloc_init(void);
#endif