[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 0/5] lib/syscall_shim: Further improvements
This patch series introduces 3 improvements/fixes to the way how system calls can be implemented and registered to the system call shim library: 1) Introduces low-level variants of UK_SYSCALL_DEFINE and UK_SYSCALL_R_DEFINE that allow to implement own libc-style wrappers: UK_LLSYSCALL_DEFINE, UK_LLSYSCALL_R_DEFINE. These variants are needed whenever the signutare of libc-style wrappers does not match with the underlying Linux system call signature. 2) Introduces an option to disable generating libc-style wrappers. This is needed whenever a libC library is providing own wrappers and bases its implementations to lib/syscall_shim (e.g., musl). 3) UK_SYSCALL_R_DEFINE and UK_LLSYSCALL_R_DEFINE do no longer set the return type just to long. They use the user-given return type instead. This is done for convenience reasons because it reduces typecasting of return values on raw system call implementations. Additionally, this series introduces two features which may helpful when creating Unikernels: 4) An option to generate stubs for unavailable system calls in order to get the full API. 5) Provide a variant of uk_syscall() and uk_syscall_r() that accepts a variable argument list: uk_vsyscall() and uk_vsyscall_r() Changes v2: - Series title changed from 'Improvements towards musl integration' - Option to generate libc-style wrapper stubs - Introduce uk_vsyscall(), uk_vsyscall_r() Simon Kuenzer (5): lib/syscall_shim: UK_LLSYSCALL_(R_)_DEFINE variants lib/syscall_shim: Option to disable libc-style wrapper functions lib/syscall_shim: `UK_(LL)SYSCALL_R_DEFINE()`: Use given return type lib/syscall_shim: Provide uk_vsyscall(), uk_vsyscall_r() lib/syscall_shim: Option to generate libc-style stubs doc/guides/developers-app.rst | 55 ++++++++-- lib/syscall_shim/Config.uk | 21 ++++ lib/syscall_shim/Makefile.uk | 8 ++ lib/syscall_shim/gen_libc_stubs.awk | 16 +++ lib/syscall_shim/include/uk/syscall.h | 140 ++++++++++++++++++++----- lib/syscall_shim/uk_syscall.c.in_end | 12 +++ lib/syscall_shim/uk_syscall_r.c.in_end | 12 +++ 7 files changed, 229 insertions(+), 35 deletions(-) create mode 100644 lib/syscall_shim/gen_libc_stubs.awk -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |