diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-12-02 22:09:41 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-12-02 22:09:41 +0200 |
| commit | d96dbf6384ef19fb3b43d315663936f43110eade (patch) | |
| tree | 1608756692f8a0a6cd1b9ec2d557523ef92d2e49 /common/mem_regions.c | |
| parent | 10ae2e6ebc7e9776b9f124c9fc530c79f5e84460 (diff) | |
| download | kmi-d96dbf6384ef19fb3b43d315663936f43110eade.tar.gz kmi-d96dbf6384ef19fb3b43d315663936f43110eade.zip | |
remove MR_SHARED
+ The new shared memory plan doesn't need it.
Diffstat (limited to 'common/mem_regions.c')
| -rw-r--r-- | common/mem_regions.c | 19 |
1 files changed, 16 insertions, 3 deletions
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. * |
