diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-29 23:23:36 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-29 23:53:06 +0200 |
| commit | 4f4d9fdc89c27aa3346467a24b621954f4564d3b (patch) | |
| tree | c4ba4fb583a43b8fb27730b4cdb9b4b1395da91c /include/apos/pmem.h | |
| parent | 4e5595a089c815febd7a0d42ab62940bf13f73ac (diff) | |
| download | kmi-4f4d9fdc89c27aa3346467a24b621954f4564d3b.tar.gz kmi-4f4d9fdc89c27aa3346467a24b621954f4564d3b.zip | |
Refactoring
+ Mainly just moving stuff out or arch/riscv/ that should be handled in
common/
+ Prepared separate process stack/call stack for server callbacks, rest
to be implemeted soon ish
Diffstat (limited to 'include/apos/pmem.h')
| -rw-r--r-- | include/apos/pmem.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/apos/pmem.h b/include/apos/pmem.h index 01d89ce..2850f22 100644 --- a/include/apos/pmem.h +++ b/include/apos/pmem.h @@ -4,7 +4,8 @@ #include <apos/mem.h> #include <apos/types.h> -enum mm_order_t { +#define ORDERS_NUM 10 +enum mm_order { MM_O0, MM_O1, MM_O2, @@ -20,12 +21,18 @@ enum mm_order_t { typedef size_t pm_t; typedef ssize_t pnum_t; +/* arch */ +int arch_pmem_conf(void *fdt, size_t *max_order, size_t *base_bits, size_t bits[ORDERS_NUM]); + +/* common */ void update_pmap(pm_t offset); -void free_page(enum mm_order_t order, pm_t paddr); -void mark_used(enum mm_order_t order, pm_t paddr); -pm_t alloc_page(enum mm_order_t order, pm_t offset); +void free_page(enum mm_order order, pm_t paddr); +void mark_used(enum mm_order order, pm_t paddr); +pm_t alloc_page(enum mm_order order, pm_t offset); pm_t populate_pmap(pm_t ram_base, size_t ram_size, pm_t cont); pm_t probe_pmap(pm_t ram_base, size_t ram_size); +void init_pmem(void *fdt); + #endif /* APOS_PMEM_H */ |
