aboutsummaryrefslogtreecommitdiff
path: root/common/mem_regions.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-05-21 21:02:17 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2022-05-21 21:02:17 +0300
commit8da0171e5ca3492cdb34422184a1c96acd0b5165 (patch)
treec125b7286f929c8ff7f8a2b938cec84328e99de4 /common/mem_regions.c
parent836026dbba64793afc0d2591ffdb6fb39b696977 (diff)
downloadkmi-8da0171e5ca3492cdb34422184a1c96acd0b5165.tar.gz
kmi-8da0171e5ca3492cdb34422184a1c96acd0b5165.zip
add status info to memory mappings
+ next up would probably be to start working on process/thread relationships, largely as documented. Still not entirely sure about how I want to handle fork, but I suppose I might figure it out at some point.
Diffstat (limited to 'common/mem_regions.c')
-rw-r--r--common/mem_regions.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/mem_regions.c b/common/mem_regions.c
index b0cbe0e..bbc894e 100644
--- a/common/mem_regions.c
+++ b/common/mem_regions.c
@@ -426,7 +426,8 @@ stat_t free_known_region(struct mem_region_root *r, struct mem_region *m)
* permutations etc. which would be slow and I don't want to implement it.
*/
vm_t map_fill_region(struct vm_branch *b, region_callback_t *mem_handler,
- pm_t offset, vm_t start, size_t bytes, vmflags_t flags)
+ pm_t offset, vm_t start, size_t bytes, vmflags_t flags,
+ void *data)
{
pm_t runner = __page(start);
size_t pages = __pages(bytes);
@@ -447,7 +448,7 @@ vm_t map_fill_region(struct vm_branch *b, region_callback_t *mem_handler,
while (pages >= o_pages) {
stat_t res = mem_handler(b, &offset, __addr(runner),
- flags, top);
+ flags, top, data);
if (res > 0)
break;