[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT PATCH 2/5] lib/ukmmap: Register `mmap` and `munmap` to syscall_shim
Registers `mmap` and `munmap` system calls to syscall_shim library. Signed-off-by: Constantin Raducanu <raducanu.costi@xxxxxxxxx> --- lib/ukmmap/Makefile.uk | 2 ++ lib/ukmmap/exportsyms.uk | 4 ++++ lib/ukmmap/mmap.c | 7 ++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/ukmmap/Makefile.uk b/lib/ukmmap/Makefile.uk index 71ff432..ac49d36 100644 --- a/lib/ukmmap/Makefile.uk +++ b/lib/ukmmap/Makefile.uk @@ -1,3 +1,5 @@ $(eval $(call addlib_s,libukmmap,$(CONFIG_LIBUKMMAP))) LIBUKMMAP_SRCS-y += $(LIBUKMMAP_BASE)/mmap.c + +UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKMMAP) += mmap-6 munmap-2 diff --git a/lib/ukmmap/exportsyms.uk b/lib/ukmmap/exportsyms.uk index 6b8c116..eb1c19a 100644 --- a/lib/ukmmap/exportsyms.uk +++ b/lib/ukmmap/exportsyms.uk @@ -1,3 +1,7 @@ mmap +uk_syscall_e_mmap +uk_syscall_r_mmap munmap +uk_syscall_e_munmap +uk_syscall_r_munmap mremap diff --git a/lib/ukmmap/mmap.c b/lib/ukmmap/mmap.c index 39ecbef..ea0173a 100644 --- a/lib/ukmmap/mmap.c +++ b/lib/ukmmap/mmap.c @@ -37,6 +37,7 @@ #include <sys/mman.h> #include <uk/alloc.h> #include <string.h> +#include <uk/syscall.h> struct mmap_addr { void *begin; @@ -64,8 +65,8 @@ static struct mmap_addr *mmap_addr; * */ -void *mmap(void *addr, size_t len, int prot, - int flags, int fildes, off_t off) +UK_SYSCALL_DEFINE(void*, mmap, void*, addr, size_t, len, int, prot, + int, flags, int, fildes, off_t, off) { struct mmap_addr *tmp = mmap_addr, *last = NULL, *new = NULL; @@ -125,7 +126,7 @@ void *mmap(void *addr, size_t len, int prot, * Otherwise the initial memory block is replaced by a smaller one. */ -int munmap(void *addr, size_t len) +UK_SYSCALL_DEFINE(int, munmap, void*, addr, size_t, len) { struct mmap_addr *tmp = mmap_addr, *prev = NULL; size_t remain_mem; -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |