Files

22 lines
648 B
C

#ifndef _KERNEL_MEM_VM_ALLOC_H
#define _KERNEL_MEM_VM_ALLOC_H
#include <libkern/libkern.h>
#include <mem/bits/vm.h>
#include <mem/kmemzone.h>
uintptr_t vm_alloc_pdir_paddr();
uintptr_t vm_alloc_ptable_paddr(ptable_lv_t lv);
uintptr_t vm_alloc_ptables_to_cover_page();
void vm_free_ptables_to_cover_page(uintptr_t addr);
uintptr_t vm_alloc_page_paddr();
void vm_free_page_paddr(uintptr_t addr);
int vm_alloc_mapped_zone(size_t size, size_t alignment, kmemzone_t* zone, mmu_flags_t flags);
int vm_free_mapped_zone(kmemzone_t zone);
ptable_t* vm_alloc_ptable_lv_top();
void vm_free_ptable_lv_top(ptable_t* pdir);
#endif // _KERNEL_MEM_VM_ALLOC_H