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

[Minios-devel] [UNIKRAFT PATCH 0/6] lib/syscall_shim: Handling binary system calls



This series introduces support for handling Linux-style binary system call
requests with the syscall_shim library. The syscall_shim library provides
handling of indirect system calls (like documented with `man syscall(2)`)
which is also needed to handle binary system call requests: The system call
number is handed over as argument to the system call request.

However, the convention of error handling is different between the binary
syscall ABI and the libc level. For this purpose the concept of "libc-style"
and "raw" system call implementions is introduced.

This patch series depends on the series:
 "Support for binary system calls (x86_64, KVM for now)"
 (https://patchwork.unikraft.org/project/unikraft/list/?series=1082)

Simon Kuenzer (6):
  lib/syscall_shim: Namespace definitions
  lib/syscall_shim: Populate make rule dependencies
  lib/syscall_shim: uk_syscall_name(), uk_syscall_name_p()
  lib/syscall_shim: Raw system calls
  doc: Raw system calls with syscall_shim
  lib/syscall_shim: Binary system call handler

 doc/guides/developers-app.rst                 | 135 +++++++---
 lib/syscall_shim/Config.uk                    |  15 +-
 lib/syscall_shim/Makefile.uk                  |  44 +++-
 lib/syscall_shim/gen_provided.awk             |   5 +-
 lib/syscall_shim/gen_stubs.awk                |   8 +-
 lib/syscall_shim/gen_syscall_map.awk          |   3 +-
 .../{gen_entry.awk => gen_uk_syscall.awk}     |   7 +-
 lib/syscall_shim/gen_uk_syscall_name.awk      |  20 ++
 lib/syscall_shim/gen_uk_syscall_name_p.awk    |  20 ++
 lib/syscall_shim/gen_uk_syscall_r.awk         |  39 +++
 lib/syscall_shim/include/uk/syscall.h         | 234 +++++++++++++-----
 lib/syscall_shim/regmap_linuxabi.h            |  46 ++++
 .../{entry.c.in_end => uk_syscall.c.in_end}   |   4 +-
 lib/syscall_shim/uk_syscall_r.c.in_end        |  33 +++
 lib/vfscore/exportsyms.uk                     |   3 +-
 lib/vfscore/main.c                            |   9 +-
 16 files changed, 497 insertions(+), 128 deletions(-)
 rename lib/syscall_shim/{gen_entry.awk => gen_uk_syscall.awk} (77%)
 create mode 100644 lib/syscall_shim/gen_uk_syscall_name.awk
 create mode 100644 lib/syscall_shim/gen_uk_syscall_name_p.awk
 create mode 100644 lib/syscall_shim/gen_uk_syscall_r.awk
 create mode 100644 lib/syscall_shim/regmap_linuxabi.h
 rename lib/syscall_shim/{entry.c.in_end => uk_syscall.c.in_end} (74%)
 create mode 100644 lib/syscall_shim/uk_syscall_r.c.in_end

-- 
2.20.1


_______________________________________________
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®.