From d96dbf6384ef19fb3b43d315663936f43110eade Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 2 Dec 2022 22:09:41 +0200 Subject: remove MR_SHARED + The new shared memory plan doesn't need it. --- common/mem_regions.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'common/mem_regions.c') diff --git a/common/mem_regions.c b/common/mem_regions.c index 17f3a1e..f49b390 100644 --- a/common/mem_regions.c +++ b/common/mem_regions.c @@ -376,9 +376,9 @@ static vm_t __partition_region(struct mem_region_root *r, struct mem_region *m, * just ignore them for now. Note that alloc_region should only be used when * mmap is called with MAP_ANON, all other situations should be handled in some * fs server */ -stat_t alloc_shared_region(struct mem_region_root *r, size_t size, - size_t *actual_size, - vmflags_t flags, id_t pid) +vm_t alloc_shared_region(struct mem_region_root *r, size_t size, + size_t *actual_size, + vmflags_t flags, id_t pid) { size_t asize = align_up(size, BASE_PAGE_SIZE); if (actual_size) @@ -529,6 +529,19 @@ stat_t free_known_region(struct mem_region_root *r, struct mem_region *m) return OK; } +void set_alt_region_addr(struct mem_region_root *r, vm_t va, vm_t alt_va) +{ + struct mem_region *m = find_used_region(r, va); + if (!m) + return; + + /* not shared region */ + if (m->pid == 0) + return; + + m->alt_va = alt_va; +} + /* assuming start is chosen to start on an aligned border, this should choose * the 'optimal' fit for the mapping. * -- cgit v1.3