History log of /seL4-camkes-master/tools/rumprun/lib/librumprun_base/syscall_mman.c
Revision Date Author Comments
# 6d1ba67c 09-Oct-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Implement mprotect for sel4 rumprun

Mprotect is used to implement guard pages by pthreads, and noone likes
running off the stack.

As part of this change the default page size is set to the rump system
page size such that pages can be unmapped and remapped without being broken up and
retyped. Previously the page size was the largest for the amount of
memory given to rump.

Rumprun will still use large pages if CONFIG_USE_LARGE_PAGES is set,
and mprotect is not implemented.


# 125929d0 12-Jan-2016 Antti Kantee <pooka@iki.fi>

Move mmap emulation into the kernel.

That way systems which want to use kernel-only mode can
use the mmap emulation.

part of deferpanic/gorump#18


# 1f636ef9 10-Dec-2015 Antti Kantee <pooka@iki.fi>

sprinkle more debug prints to mmap


# 04591008 25-Aug-2015 Antti Kantee <pooka@iki.fi>

remember to initialize too


# 919defe0 23-Aug-2015 Antti Kantee <pooka@iki.fi>

Make mmap chunks partially unmappable, issue #41

Apparently at least erlang wants this behavior, so we unfortunately
need to emulate it or risk memory corruption. Should adjust the page
allocator to allow non-pow2 free'ing.


# 13062d42 23-Aug-2015 Antti Kantee <pooka@iki.fi>

make pagesize() a __constfunc


# faf85300 22-Aug-2015 Antti Kantee <pooka@iki.fi>

Use page allocator directly for mmap instead of malloc.

We're allocating whole pages anyway, and this way we don't need to pay
for the mmap overhead.


# 9bbb6478 13-Jul-2015 Antti Kantee <pooka@iki.fi>

Improve mmap emulation.

+ sanity-check a few more parameters and return errors if insane
+ explicitly allocate full "pages" (malloc did that for us already)
+ zero-fill memory after end of file (per spec)


# c41f7156 22-Jun-2015 Antti Kantee <pooka@iki.fi>

And now with an attempt to get the msync() symbol name correct.


# 6c386dc1 22-Jun-2015 Antti Kantee <pooka@iki.fi>

add msync() "emulation"


# e2731a0f 22-Jun-2015 Antti Kantee <pooka@iki.fi>

split mman syscall emulation into its own module: syscall_mman.c