diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-05-29 16:23:41 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-05-29 16:23:41 +0300 |
| commit | d7cb08134102b7a2410c48d2a1802193f9031e00 (patch) | |
| tree | 711498836d6679ca2fc3b4ba9369b7fe53d7a3fa /include/apos/mem_regions.h | |
| parent | e148f38dc937c34b222ba8df8612b3fa2b6bc349 (diff) | |
| download | kmi-d7cb08134102b7a2410c48d2a1802193f9031e00.tar.gz kmi-d7cb08134102b7a2410c48d2a1802193f9031e00.zip | |
continue documentation efforts
Diffstat (limited to 'include/apos/mem_regions.h')
| -rw-r--r-- | include/apos/mem_regions.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/apos/mem_regions.h b/include/apos/mem_regions.h index 54e4e2b..38629f2 100644 --- a/include/apos/mem_regions.h +++ b/include/apos/mem_regions.h @@ -13,7 +13,7 @@ #include <arch/vmem.h> #define mem_container(ptr) container_of(ptr, struct mem_region, sp_n) -#define is_region_used(r) is_set(r->flags, MR_USED) +#define is_region_used(r) is_set(r->flags, MR_USED) #define is_region_owned(r) is_set(r->flags, MR_OWNED) #define is_region_shared(r) is_set(r->flags, MR_SHARED) #define is_region_kept(r) is_set(r->flags, MR_KEEP) @@ -52,7 +52,22 @@ struct mem_region *find_closest_used_region(struct mem_region_root *r, struct mem_region *find_free_region(struct mem_region_root *r, size_t size, size_t *align); -typedef stat_t region_callback_t(struct vmem *b, pm_t *offset, vm_t vaddr, +/** + * Helper functions for converting between memory regions and page + * mappings. Called by \ref map_fill_region(). + * \see map_fill_region() for further explanation. + * + * @param vmem Virtual memory space in which the operation is to be done. + * @param offset Offset from where to start looking for next physical page. \see + * alloc_page(). + * @param vaddr Current virtual address. + * @param flags Virtual memory allocation flags. + * @param order Order of physical page. + * @param data Custom data. + * @return \ref OK if succesful, \c INFO_TRGN if page order should be decreased, + * anything else means error. + */ +typedef stat_t region_callback_t(struct vmem *vmem, pm_t *offset, vm_t vaddr, vmflags_t flags, enum mm_order order, void *data); |
