diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-20 13:12:06 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-20 13:12:06 +0200 |
| commit | a37974009152b4bf6a2d7ed205a48230f939dd72 (patch) | |
| tree | 8fb3dd159751a9cf983fd78819aad7ff69bb03cc /include | |
| parent | dc2e2cc9dc9d7790e23dd9a4ccc265d7bb6d76aa (diff) | |
| download | kmi-a37974009152b4bf6a2d7ed205a48230f939dd72.tar.gz kmi-a37974009152b4bf6a2d7ed205a48230f939dd72.zip | |
still some issues with vmem
+ Not sure if I should go with noinit or init, fuck
Diffstat (limited to 'include')
| -rw-r--r-- | include/apos/init.h | 30 | ||||
| -rw-r--r-- | include/apos/vmem.h | 5 |
2 files changed, 35 insertions, 0 deletions
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 <apos/pmem.h> +#include <apos/vmem.h> + +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); |
