Commit 52a96afa authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging



update syscall numbers to linux 5.5 (with scripts)
add clock_gettime64/clock_settime64
add AT_EXECFN

v4: restore syscall.tbl series but remove vsyscall series
v3: remove syscall.tbl series
v2: guard copy_to_user_timezone() with TARGET_NR_gettimeofday
    remove "Support futex_time64" patch
    guard sys_futex with TARGET_NR_exit

# gpg: Signature made Fri 20 Mar 2020 15:23:29 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.0-pull-request: (32 commits)
  linux-user, openrisc: sync syscall numbers with kernel v5.5
  linux-user, nios2: sync syscall numbers with kernel v5.5
  linux-user, aarch64: sync syscall numbers with kernel v5.5
  scripts: add a script to generate syscall_nr.h
  linux-user,mips: update syscall-args-o32.c.inc
  linux-user,mips: move content of mips_syscall_args
  linux-user: update syscall.tbl from linux 0bf999f9c5e7
  linux-user, scripts: add a script to update syscall.tbl
  linux-user, mips64: add syscall table generation support
  linux-user, mips: add syscall table generation support
  linux-user, x86_64: add syscall table generation support
  linux-user, i386: add syscall table generation support
  linux-user, x86_64, i386: cleanup TARGET_NR_arch_prctl
  linux-user, sparc, sparc64: add syscall table generation support
  linux-user, s390x: add syscall table generation support
  linux-user, s390x: remove syscall definitions for !TARGET_S390X
  linux-user, ppc: add syscall table generation support
  linux-user, arm: add syscall table generation support
  linux-user, microblaze: add syscall table generation support
  linux-user, sh4: add syscall table generation support
  ...

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 3d0ac346 a64ddbb0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2495,6 +2495,9 @@ S: Maintained
F: linux-user/
F: default-configs/*-linux-user.mak
F: scripts/qemu-binfmt-conf.sh
F: scripts/update-syscalltbl.sh
F: scripts/update-mips-syscall-args.sh
F: scripts/gensyscalls.sh

Tiny Code Generator (TCG)
-------------------------
+2 −1
Original line number Diff line number Diff line
@@ -128,7 +128,8 @@ ifdef CONFIG_LINUX_USER

QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
             -I$(SRC_PATH)/linux-user/host/$(ARCH) \
             -I$(SRC_PATH)/linux-user
             -I$(SRC_PATH)/linux-user \
             -Ilinux-user/$(TARGET_ABI_DIR)

obj-y += linux-user/
obj-y += gdbstub.o thunk.o
+35 −0
Original line number Diff line number Diff line
@@ -1903,6 +1903,18 @@ fi
# Remove old dependency files to make sure that they get properly regenerated
rm -f */config-devices.mak.d

# Remove syscall_nr.h to be sure they will be regenerated in the build
# directory, not in the source directory
for arch in alpha hppa m68k xtensa sh4 microblaze arm ppc s390x sparc sparc64 \
    i386 x86_64 mips mips64 ; do
    # remove the file if it has been generated in the source directory
    rm -f "${source_path}/linux-user/${arch}/syscall_nr.h"
    # remove the dependency files
    find . -name "*.d" \
           -exec grep -q "${source_path}/linux-user/${arch}/syscall_nr.h" {} \; \
           -exec rm {} \;
done

if test -z "$python"
then
    error_exit "Python not found. Use --python=/path/to/python"
@@ -7813,17 +7825,21 @@ case "$target_name" in
  i386)
    mttcg="yes"
	gdb_xml_files="i386-32bit.xml"
    TARGET_SYSTBL_ABI=i386
  ;;
  x86_64)
    TARGET_BASE_ARCH=i386
    TARGET_SYSTBL_ABI=common,64
    mttcg="yes"
	gdb_xml_files="i386-64bit.xml"
  ;;
  alpha)
    mttcg="yes"
    TARGET_SYSTBL_ABI=common
  ;;
  arm|armeb)
    TARGET_ARCH=arm
    TARGET_SYSTBL_ABI=common,oabi
    bflt="yes"
    mttcg="yes"
    gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
@@ -7839,15 +7855,18 @@ case "$target_name" in
  ;;
  hppa)
    mttcg="yes"
    TARGET_SYSTBL_ABI=common,32
  ;;
  lm32)
  ;;
  m68k)
    bflt="yes"
    gdb_xml_files="cf-core.xml cf-fp.xml m68k-fp.xml"
    TARGET_SYSTBL_ABI=common
  ;;
  microblaze|microblazeel)
    TARGET_ARCH=microblaze
    TARGET_SYSTBL_ABI=common
    bflt="yes"
    echo "TARGET_ABI32=y" >> $config_target_mak
  ;;
@@ -7855,6 +7874,7 @@ case "$target_name" in
    mttcg="yes"
    TARGET_ARCH=mips
    echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
    TARGET_SYSTBL_ABI=o32
  ;;
  mipsn32|mipsn32el)
    mttcg="yes"
@@ -7862,12 +7882,14 @@ case "$target_name" in
    TARGET_BASE_ARCH=mips
    echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
    echo "TARGET_ABI32=y" >> $config_target_mak
    TARGET_SYSTBL_ABI=n32
  ;;
  mips64|mips64el)
    mttcg="yes"
    TARGET_ARCH=mips64
    TARGET_BASE_ARCH=mips
    echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
    TARGET_SYSTBL_ABI=n64
  ;;
  moxie)
  ;;
@@ -7879,10 +7901,12 @@ case "$target_name" in
  ;;
  ppc)
    gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
    TARGET_SYSTBL_ABI=common,nospu,32
  ;;
  ppc64)
    TARGET_BASE_ARCH=ppc
    TARGET_ABI_DIR=ppc
    TARGET_SYSTBL_ABI=common,nospu,64
    mttcg=yes
    gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
  ;;
@@ -7890,6 +7914,7 @@ case "$target_name" in
    TARGET_ARCH=ppc64
    TARGET_BASE_ARCH=ppc
    TARGET_ABI_DIR=ppc
    TARGET_SYSTBL_ABI=common,nospu,64
    mttcg=yes
    gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
  ;;
@@ -7897,6 +7922,7 @@ case "$target_name" in
    TARGET_ARCH=ppc64
    TARGET_BASE_ARCH=ppc
    TARGET_ABI_DIR=ppc
    TARGET_SYSTBL_ABI=common,nospu,32
    echo "TARGET_ABI32=y" >> $config_target_mak
    gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
  ;;
@@ -7920,20 +7946,25 @@ case "$target_name" in
  ;;
  sh4|sh4eb)
    TARGET_ARCH=sh4
    TARGET_SYSTBL_ABI=common
    bflt="yes"
  ;;
  sparc)
    TARGET_SYSTBL_ABI=common,32
  ;;
  sparc64)
    TARGET_BASE_ARCH=sparc
    TARGET_SYSTBL_ABI=common,64
  ;;
  sparc32plus)
    TARGET_ARCH=sparc64
    TARGET_BASE_ARCH=sparc
    TARGET_ABI_DIR=sparc
    TARGET_SYSTBL_ABI=common,32
    echo "TARGET_ABI32=y" >> $config_target_mak
  ;;
  s390x)
    TARGET_SYSTBL_ABI=common,64
    mttcg=yes
    gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-gs.xml"
  ;;
@@ -7945,6 +7976,7 @@ case "$target_name" in
  ;;
  xtensa|xtensaeb)
    TARGET_ARCH=xtensa
    TARGET_SYSTBL_ABI=common
    bflt="yes"
    mttcg="yes"
  ;;
@@ -7974,6 +8006,9 @@ echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
if [ "$HOST_VARIANT_DIR" != "" ]; then
    echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak
fi
if [ "$TARGET_SYSTBL_ABI" != "" ]; then
    echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
fi

if supported_xen_target $target; then
    echo "CONFIG_XEN=y" >> $config_target_mak
+17 −2
Original line number Diff line number Diff line
@@ -5,6 +5,21 @@ obj-y = main.o syscall.o strace.o mmap.o signal.o \

obj-$(TARGET_HAS_BFLT) += flatload.o
obj-$(TARGET_I386) += vm86.o
obj-$(TARGET_ARM) += arm/nwfpe/
obj-$(TARGET_ARM) += arm/semihost.o
obj-$(TARGET_AARCH64) += arm/semihost.o

obj-$(TARGET_ALPHA) += alpha/
obj-$(TARGET_ARM) += arm/
obj-$(TARGET_HPPA) += hppa/
obj-$(TARGET_I386) += i386/
obj-$(TARGET_M68K) += m68k/
obj-$(TARGET_MICROBLAZE) += microblaze/
obj-$(TARGET_MIPS) += mips/
obj-$(TARGET_MIPS64) += mips64/
obj-$(TARGET_PPC) += ppc/
obj-$(TARGET_PPC64) += ppc/
obj-$(TARGET_S390X) += s390x/
obj-$(TARGET_SH4) += sh4/
obj-$(TARGET_SPARC) += sparc/
obj-$(TARGET_SPARC64) += $(TARGET_ABI_DIR)/
obj-$(TARGET_X86_64) += x86_64/
obj-$(TARGET_XTENSA) += xtensa/
+29 −5
Original line number Diff line number Diff line
/*
 * This file contains the system call numbers.
 * Do not modify.
 * This file is generated by scripts/gensyscalls.sh
 */

#ifndef LINUX_USER_AARCH64_SYSCALL_NR_H
#define LINUX_USER_AARCH64_SYSCALL_NR_H

@@ -84,7 +85,7 @@
#define TARGET_NR_splice 76
#define TARGET_NR_tee 77
#define TARGET_NR_readlinkat 78
#define TARGET_NR_fstatat64 79
#define TARGET_NR_newfstatat 79
#define TARGET_NR_fstat 80
#define TARGET_NR_sync 81
#define TARGET_NR_fsync 82
@@ -276,5 +277,28 @@
#define TARGET_NR_membarrier 283
#define TARGET_NR_mlock2 284
#define TARGET_NR_copy_file_range 285
#define TARGET_NR_preadv2 286
#define TARGET_NR_pwritev2 287
#define TARGET_NR_pkey_mprotect 288
#define TARGET_NR_pkey_alloc 289
#define TARGET_NR_pkey_free 290
#define TARGET_NR_statx 291
#define TARGET_NR_io_pgetevents 292
#define TARGET_NR_rseq 293
#define TARGET_NR_kexec_file_load 294
#define TARGET_NR_pidfd_send_signal 424
#define TARGET_NR_io_uring_setup 425
#define TARGET_NR_io_uring_enter 426
#define TARGET_NR_io_uring_register 427
#define TARGET_NR_open_tree 428
#define TARGET_NR_move_mount 429
#define TARGET_NR_fsopen 430
#define TARGET_NR_fsconfig 431
#define TARGET_NR_fsmount 432
#define TARGET_NR_fspick 433
#define TARGET_NR_pidfd_open 434
#define TARGET_NR_clone3 435
#define TARGET_NR_syscalls 436

#endif /* LINUX_USER_AARCH64_SYSCALL_NR_H */
#endif
Loading