Initial commit - slab allocator, kmalloc, other re

factors
This commit is contained in:
ssimnb 2026-01-22 08:05:47 +01:00
parent 1dd7b8b07f
commit 4e40a040dd
39 changed files with 863 additions and 412 deletions

View file

@ -11,13 +11,15 @@
void tlb_flush(void);
void vmm_map_page(uint64_t *page_map, uint64_t virt_address, uint64_t phys_address, uint64_t flags);
int vmm_map_continous_pages(uint64_t *page_map, uint64_t virt_addr, uint64_t phys_addr, uint64_t size, uint64_t flags);
int vmm_map_contigious_pages(uint64_t *page_map, uint64_t virt_addr, uint64_t phys_addr, uint64_t size, uint64_t flags);
void vmm_free_page(uint64_t *page_map, uint64_t virt_addr);
void vmm_init();
void vmm_set_ctx(uint64_t *page_map);
void *kernel_allocate_memory(uint64_t size, uint64_t flags);
void kernel_map_pages(void *phys_addr, uint64_t size, uint64_t flags);
void kernel_unmap_pages(void *addr, uint64_t size);
uint64_t vmm_get_phys_addr(uint64_t *page_map, uint64_t virt_addr);
uint64_t kget_phys_addr(uint64_t *virt_addr);
void *va_alloc_contigious_pages(uint64_t size);
void kmap_pages(void *phys_addr, uint64_t size, uint64_t flags);
void kunmap_pages(void *addr, uint64_t size);
typedef char link_symbol_ptr[];