From a37974009152b4bf6a2d7ed205a48230f939dd72 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Mon, 20 Dec 2021 13:12:06 +0200 Subject: still some issues with vmem + Not sure if I should go with noinit or init, fuck --- include/apos/init.h | 30 ++++++++++++++++++++++++++++++ include/apos/vmem.h | 5 +++++ 2 files changed, 35 insertions(+) create mode 100644 include/apos/init.h (limited to 'include') diff --git a/include/apos/init.h b/include/apos/init.h new file mode 100644 index 0000000..6e20439 --- /dev/null +++ b/include/apos/init.h @@ -0,0 +1,30 @@ +#ifndef APOS_INIT_H +#define APOS_INIT_H + +#include +#include + +struct init_data_t { + pm_t init_base; + pm_t init_top; + + pm_t initrd_base; + pm_t initrd_top; + + pm_t pmap_base; + pm_t pmap_top; + + pm_t fdt_base; + pm_t fdt_top; + + pm_t stack_base; + pm_t stack_top; + + struct vm_branch_t *kernel_vm_base; + + size_t max_order; + size_t bits[10]; + size_t page_shift; +}; + +#endif /* APOS_INIT_H */ diff --git a/include/apos/vmem.h b/include/apos/vmem.h index daa9d10..ef309e2 100644 --- a/include/apos/vmem.h +++ b/include/apos/vmem.h @@ -39,6 +39,11 @@ 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); +void unmap_vmem(struct vm_branch_t *branch, vm_t vaddr, enum mm_order_t order); + int sp_mem_init(struct sp_reg_root *r, vm_t start, size_t nums); vm_t alloc_uvmem(struct tcb *r, size_t s, uint8_t flags); -- cgit v1.3