aboutsummaryrefslogtreecommitdiff
path: root/include/apos/mem_regions.h
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-01-07 17:33:55 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-01-07 17:33:55 +0200
commitebe6fe5d44d58fcb1b9d0ac52fa98a0a3ff309a7 (patch)
tree1273c7815d6790e746f6e7ecfcd464e5cab39f2e /include/apos/mem_regions.h
parentbe78fcb0acc665d4db8edb9cda53f6863d27dd85 (diff)
downloadkmi-ebe6fe5d44d58fcb1b9d0ac52fa98a0a3ff309a7.tar.gz
kmi-ebe6fe5d44d58fcb1b9d0ac52fa98a0a3ff309a7.zip
Steps towards better status/debugging control
Diffstat (limited to 'include/apos/mem_regions.h')
-rw-r--r--include/apos/mem_regions.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/apos/mem_regions.h b/include/apos/mem_regions.h
index eb81e63..35428e1 100644
--- a/include/apos/mem_regions.h
+++ b/include/apos/mem_regions.h
@@ -1,8 +1,10 @@
#ifndef APOS_MEM_REGIONS_H
#define APOS_MEM_REGIONS_H
+#include <apos/mem.h>
#include <apos/types.h>
#include <apos/sp_tree.h>
+#include <arch/vmem.h>
#define mem_container(ptr)\
container_of(ptr, struct sp_mem, sp_n)
@@ -33,4 +35,11 @@ struct sp_mem *sp_used_find(struct sp_reg_root *r, vm_t start);
struct sp_mem *sp_find_used_closest(struct sp_reg_root *r, vm_t start);
struct sp_mem *sp_find_free(struct sp_reg_root *r, size_t size, size_t *align);
+#define MEM_REGION_TRY_AGAIN 1
+typedef stat_t mem_region_callback_t(struct vm_branch *b,
+ pm_t *offset, vm_t vaddr, vmflags_t flags, enum mm_order order);
+
+vm_t map_fill_region(struct vm_branch *b, mem_region_callback_t *mem_handler,
+ pm_t offset, vm_t start, size_t bytes, vmflags_t flags);
+
#endif /* APOS_MEM_REGIONS_H */