This patchset improves support for sched_* syscalls under user emulation. The first commit adds support for sched_g/setattr that was previously not implemented. There is no equivalent for these syscalls in libc, so I needed to redefine the struct from kernel. It can't be included directly because of conflict with libc sched headers.
The second commit fixes sched_g/setscheduler and sched_g/setparam, when QEMU is built with musl. Musl does not implement these due to conflict between what these functions should do in syscalls and libc https://git.musl-libc.org/cgit/musl/commit/?id=1e21e78bf7a5c24c217446d8760be7b7188711c2 . I've changed it to call syscall directly what should always be the expected behavior for the user.
Via https://github.com/tonistiigi/binfmt/pull/70 with additional tests.
Tonis Tiigi (2):
linux-user: add sched_getattr support
linux-user: call set/getscheduler set/getparam directly
linux-user/syscall.c | 71 ++++++++++++++++++++++++++++++++++++---
linux-user/syscall_defs.h | 15 +++++++++
2 files changed, 82 insertions(+), 4 deletions(-)
--
2.30.1 (Apple Git-130)