From: Aleksandar Markovic <[email protected]>

Hello, folks!

This series is a spin-off of another larger linux-user series
that become too large to handle, hence these patches related to
syscall numbers are now in this, separate, series.

Now that kernel 5.5 is released few days ago, it is time to
reflect what can be updated in linux-user for upcomming QEMU 5.0.

An obvoius kernel change we should take into account are new
system calls, and the foirst step is updating syscall numbers
mainteined within QEMU linux-user.

Regarding kernel syscal numbers there is good news and bad news.

The good news is that kernel developers decided to make future
syscall numbers much more synchonized accross architectures than
before. They already reached that state.

The bad news is that we in QEMU did not reach that state yet, since
we lag after kernel significantly.

The good news again is that we will reach that state if we update
syscall numbers accross the board now. This is the main intention
and motivation of this series.

The bad news again is that in order to update syscall numebrs we
need to be very careful at this moment. There are a number of new
syscalls added to the kernel recently that QEMU doesn't know about
at all. Significant number of new syscalls deal with 32/64-bit
compatibility, traditionally a problematic area in kernel, and in
QEMU as well. Moreover, some of the new syscalls are applicable to
32-bit architectures only.

This series covers updating syscall numbers defined in the following
files:

  - linux-user/alpha/syscall_nr.h
  - linux-user/arm/syscall_nr.h
  - linux-user/m68k/syscall_nr.h
  - linux-user/microblaze/syscall_nr.h
  - linux-user/mips/cpu_loop.c
  - linux-user/mips/syscall_nr.h
  - linux-user/mips64/syscall_nr.h
  - linux-user/sh4/syscall_nr.h
  - linux-user/x86_64/syscall_nr.h
  - linux-user/xtensa/syscall_nr.h

This series doesn't cover following files (since they use certain
proprietary rules for mapping between kernel source and qemu source,
I don't feel quite comfortable changing them - therefore I am asking
corresponding target maintainers or Lauren to update them, if
possible, before our 5.0 release):

  - linux-user/aarch64/syscall_nr.h
  - linux-user/i386/syscall_nr.h
  - linux-user/nios2/syscall_nr.h
  - linux-user/ppc/syscall_nr.h
  - linux-user/riscv/syscall_nr.h
  - linux-user/s390x/syscall_nr.h
  - linux-user/sparc/syscall_nr.h
  - linux-user/sparc64/syscall_nr.h

CC: Peter Maydell <[email protected]>
CC: Paolo Bonzini <[email protected]>
CC: Richard Henderson <[email protected]>
CC: Eduardo Habkost <[email protected]>
CC: Chris Wulff <[email protected]>
CC: Marek Vasut <[email protected]>
CC: David Gibson <[email protected]>
CC: Palmer Dabbelt <[email protected]>
CC: Alistair Francis <[email protected]>
CC: Sagar Karandikar <[email protected]>
CC: Bastian Koppelmann <[email protected]>
CC: David Hildenbrand <[email protected]>
CC: Mark Cave-Ayland <[email protected]>
CC: Artyom Tarasenko <[email protected]>

This series also doesn't cover following files (since I can't find
corresponding kernel code - and I am also asking corresponding
target maintainers or Lauren to update them, if possible, before
our 5.0 release):

  - linux-user/cris/cpu_loop.c
  - linux-user/hppa/syscall_nr.h
  - linux-user/openrisc/syscall_nr.h
  - linux-user/tilegx/syscall_nr.h

CC: Edgar E. Iglesias <[email protected]>
CC: Richard Henderson <[email protected]>
CC: Stafford Horne <[email protected]>

Again, I don't plan (I am really running out of time resources) to
work in a significant way on this issue any more, and I am asking
you guys other maintainers to help finish updating syscall numbers
before QEMU 5.0 release.

Once we do that, updating syscall numbers in QEMU should and will
be significantly easier.

Thanks in advance!

Truly yours,
Aleksandar

-----------------------------------------------------------------------

Aleksandar Markovic (9):
  linux-user: alpha: Update syscall numbers to kernel 5.5 level
  linux-user: arm: Update syscall numbers to kernel 5.5 level
  linux-user: m68k: Update syscall numbers to kernel 5.5 level
  linux-user: microblaze: Update syscall numbers to kernel 5.5 level
  linux-user: mips: Update syscall numbers to kernel 5.5 level
  linux-user: sh4: Update syscall numbers to kernel 5.5 level
  linux-user: x86_64: Update syscall numbers to kernel 5.5 level
  linux-user: xtensa: Update syscall numbers to kernel 5.5 level
  linux-user: xtensa: Remove unused constant TARGET_NR_syscall_count

 linux-user/alpha/syscall_nr.h      | 35 +++++++++++++++++
 linux-user/arm/syscall_nr.h        | 44 +++++++++++++++++++++
 linux-user/m68k/syscall_nr.h       | 50 +++++++++++++++++++++++-
 linux-user/microblaze/syscall_nr.h | 45 ++++++++++++++++++++++
 linux-user/mips/cpu_loop.c         | 78 +++++++++++++++++++++++++++++++++++++-
 linux-user/mips/syscall_nr.h       | 45 ++++++++++++++++++++++
 linux-user/mips64/syscall_nr.h     | 13 +++++++
 linux-user/sh4/syscall_nr.h        | 48 +++++++++++++++++++++++
 linux-user/x86_64/syscall_nr.h     | 24 ++++++++++++
 linux-user/xtensa/syscall_nr.h     | 36 +++++++++++++++++-
 10 files changed, 414 insertions(+), 4 deletions(-)

-- 
2.7.4


Reply via email to