aboutsummaryrefslogtreecommitdiff
path: root/include/apos/mem_regions.h
diff options
context:
space:
mode:
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 */