[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v2 0/5] lib/syscall_shim: Further improvements



Hi Simon, 

Thanks a lot for this patch series. All is fine!

> On 3 Apr 2020, at 18:29, Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote:
> 
> 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


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.