From 9966b49db468de0168c7a455dfb5b4c66c413c4d Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 19 Dec 2021 17:10:36 +0200 Subject: Massive changes to jump to userspace --- include/apos/vmem.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'include/apos/vmem.h') diff --git a/include/apos/vmem.h b/include/apos/vmem.h index eb7ad17..fe2a76f 100644 --- a/include/apos/vmem.h +++ b/include/apos/vmem.h @@ -1,11 +1,14 @@ #ifndef APOS_VMEM_H #define APOS_VMEM_H +struct sp_mem; + /* arch-specific data */ #include /* common */ #include +#include #include struct sp_mem { @@ -24,6 +27,7 @@ struct sp_mem { container_of(ptr, struct sp_mem, sp_n) + /* general overview of the different functions: * (un)map_vmem: map one known page of physical memory to one known page of * virtual memory @@ -35,16 +39,14 @@ struct sp_mem { */ /* defined by arch */ -void map_vmem(struct vm_branch_t *branch, - pm_t paddr, vm_t vaddr, - uint8_t flags, enum mm_order_t order); +int sp_mem_init(struct sp_reg_root *r, size_t nums); -void unmap_vmem(struct vm_branch_t *branch, vm_t vaddr, enum mm_order_t order); +vm_t alloc_uvmem(struct tcb *r, size_t s, uint8_t flags); +void free_uvmem(struct tcb *r, vm_t a); +vm_t map_fill_region(struct vm_branch_t *b, vm_t start, size_t bytes, uint8_t flags); -vm_t map_vregion(struct vm_branch_t *branch, pm_t base, vm_t start, size_t size, - uint8_t flags); -void unmap_vregion(struct vm_branch_t *branch, vm_t start); +size_t uvmem_size(); +void set_uvmem_size(size_t s); -void init_vmem(struct vm_branch_t *branch, vm_t tmp_pte); #endif /* APOS_VMEM_H */ -- cgit v1.3