Peter Maydell
a0e7c2d8ed
Merge remote-tracking branch 'remotes/alistair/tags/pull-dtc-next-20200320-1' into staging
...
DTC patches for 5.0
# gpg: Signature made Fri 20 Mar 2020 21:56:31 GMT
# gpg: using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me >" [full]
# Primary key fingerprint: F6C4 AC46 D493 4868 D3B8 CE8F 21E1 0D29 DF97 7054
* remotes/alistair/tags/pull-dtc-next-20200320-1:
device_tree: Add info message when dumping dtb to file
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-03-21 19:44:40 +00:00
Stefan Hajnoczi
f93cfdc583
hw/rdma: avoid suspicious strncpy() use
...
gcc (GCC) 9.2.1 20190827 (Red Hat 9.2.1-1) with sanitizers enabled
reports the following error:
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_dev_ring.o
In file included from /usr/include/string.h:495,
from include/qemu/osdep.h:101,
from hw/rdma/vmw/pvrdma_dev_ring.c:16:
In function ‘strncpy’,
inlined from ‘pvrdma_ring_init’ at hw/rdma/vmw/pvrdma_dev_ring.c:33:5:
/usr/include/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ specified bound 32 equals destination size [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use pstrcpy() instead of strncpy(). It is guaranteed to NUL-terminate
strings.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Reviewed-by: Yuval Shaia <yuval.shaia.ml.gmail.com>
Message-Id: <20200316160702.478964-3-stefanha@redhat.com >
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
2020-03-21 19:21:20 +02:00
Yuval Shaia
b196d4f1d6
hw/rdma: Skip data-path mr_id translation
...
With the change made in commit 68b89aee71 ("Utilize ibv_reg_mr_iova for
memory registration") the MR emulation is no longer needed in order to
translate the guest addresses into host addresses.
With that, the next obvious step is to skip entirely the processing in
data-path.
To accomplish this, return the backend's lkey to driver so we will not
need to do the emulated mr_id to backend mr_id translation in data-path.
The function build_host_sge_array is still called in data-path but only
for backward computability with statistics collection.
While there, as a cosmetic change to make the code cleaner - make one
copy of the function rdma_backend_create_mr and leave the redundant
guest_start argument in the legacy code.
Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com >
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
Message-Id: <20200320143429.9490-3-yuval.shaia.ml@gmail.com >
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
2020-03-21 19:16:38 +02:00
Yuval Shaia
f23601515b
hw/rdma: Cosmetic change - no need for two sge arrays
...
The function build_host_sge_array uses two sge arrays, one for input and
one for output.
Since the size of the two arrays is the same, the function can write
directly to the given source array (i.e. input/output argument).
Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com >
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
Message-Id: <20200320143429.9490-2-yuval.shaia.ml@gmail.com >
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
2020-03-21 19:16:02 +02:00
Julia Suvorova
1d2695ef02
hw/rdma/vmw/pvrdma_dev_ring: Replace strncpy with pstrcpy
...
ring->name is defined as 'char name[MAX_RING_NAME_SZ]'. Replace untruncated
strncpy with QEMU function.
This case prevented QEMU from compiling with --enable-sanitizers.
Signed-off-by: Julia Suvorova <jusual@redhat.com >
Message-Id: <20200318134849.237011-1-jusual@redhat.com >
Reviewed-by: Yuval Shaia <yuval.shaia.ml.gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
2020-03-21 19:13:12 +02:00
Leonardo Bras
9f252c7c88
device_tree: Add info message when dumping dtb to file
...
When dumping dtb to a file, qemu exits silently before starting the VM.
Add info message so user can easily track why the proccess exits.
Add error message if dtb dump failed.
Signed-off-by: Leonardo Bras <leonardo@linux.ibm.com >
Message-Id: <20200319040326.391090-1-leonardo@linux.ibm.com >
Reviewed-by: David Gibson <david@gibson.dropbear.id.au >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2020-03-20 14:55:44 -07:00
Peter Maydell
52a96afaa2
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: Peter Maydell <peter.maydell@linaro.org >
2020-03-20 16:00:21 +00:00
Laurent Vivier
a64ddbb03a
linux-user, openrisc: sync syscall numbers with kernel v5.5
...
Use helper script scripts/gensyscalls.sh to generate the file.
Add TARGET_NR_or1k_atomic
Remove useless comments and blank lines.
Define diretly the __NR_XXX64 syscalls rather than using the
intermediate __NR3264 definition.
Remove wrong cut'n'paste (like "#ifdef __ARCH_WANT_SYNC_FILE_RANGE2")
Add new syscalls from 286 (preadv) to 434 (pidfd_open).
Remove obsolete syscalls 1204 (open) to 1079 (fork).
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200316085620.309769-5-laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
a830fa2638
linux-user, nios2: sync syscall numbers with kernel v5.5
...
Use helper script scripts/gensyscalls.sh to generate the file.
This adds TARGET_NR_llseek that was missing and remove syscalls 1024
to 1079.
Add new syscalls from 288 (pkey_mprotect) to 434 (pidfd_open)
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20200316085620.309769-4-laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
ca2144c8a8
linux-user, aarch64: sync syscall numbers with kernel v5.5
...
Use helper script scripts/gensyscalls.sh to generate the file.
This change TARGET_NR_fstatat64 by TARGET_NR_newfstatat that is correct
because definitions from linux are:
arch/arm64/include/uapi/asm/unistd.h
#define __ARCH_WANT_NEW_STAT
include/uapi/asm-generic/unistd.h
#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
#define __NR3264_fstatat 79
__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
#define __NR3264_fstat 80
__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
#endif
...
#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
...
#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
#define __NR_newfstatat __NR3264_fstatat
#define __NR_fstat __NR3264_fstat
#endif
...
Add syscalls 286 (preadv2) to 435 (clone3).
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200316085620.309769-3-laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
382ae67af3
scripts: add a script to generate syscall_nr.h
...
This script is needed for targets based on asm-generic syscall numbers generation
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200316085620.309769-2-laurent@vivier.eu >
[lv: added file in MAINTAINERS]
2020-03-20 16:02:00 +01:00
Laurent Vivier
5733333020
linux-user,mips: update syscall-args-o32.c.inc
...
Add a script to update the file from strace github and run it
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-22-laurent@vivier.eu >
[lv: added file in MAINTAINERS]
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
ac5d3c670a
linux-user,mips: move content of mips_syscall_args
...
Move content of mips_syscall_args to mips-syscall-args-o32.c.inc to
ease automatic update. No functionnal change
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-21-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
28b7d5fd59
linux-user: update syscall.tbl from linux 0bf999f9c5e7
...
Run scripts/update-syscalltbl.sh with linux commit 0bf999f9c5e7
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-20-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
e3a6c825b2
linux-user, scripts: add a script to update syscall.tbl
...
scripts/update-syscalltbl.sh has the list of syscall.tbl to update and
can copy them from the linux source directory
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200310103403.3284090-19-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
686a0fe4db
linux-user, mips64: add syscall table generation support
...
Copy syscall_n32.tbl, syscall_n64.tbl and syscallhdr.sh from
linux/arch/parisc/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Move the offsets (6000 for n32 and 5000 for n64) from the file to
the Makefile.objs to be passed to syscallhdr.sh
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-18-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
c59716fc5b
linux-user, mips: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/mips/kernel/syscalls/syscall_o32.tbl v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Move the offset (4000) from the file to the Makefile.objs to be passed
to syscallhdr.sh
Rename on the fly fadvise64 to fadvise64_64.
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-17-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
8d62f35ad2
linux-user, x86_64: add syscall table generation support
...
Copy syscall_64.tbl and syscallhdr.sh from linux/arch/x86/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-16-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
289881175d
linux-user, i386: add syscall table generation support
...
Copy syscall_32.tbl and syscallhdr.sh from linux/arch/x86/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-15-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
9d12f79daa
linux-user, x86_64, i386: cleanup TARGET_NR_arch_prctl
...
Define do_arch_prctl() for i386 and x86_64, but return -TARGET_ENOSYS
for i386.
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-14-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
bb0cdc0367
linux-user, sparc, sparc64: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/sparc/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-13-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
318f371dcf
linux-user, s390x: add syscall table generation support
...
Copy syscall.tbl from linux/arch/s390x/kernel/syscalls v5.5
Copy syscallhdr.sh from m68k.
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-12-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
b632d67913
linux-user, s390x: remove syscall definitions for !TARGET_S390X
...
We don't support other 32bit architecture.
Update file to comply with coding style (TAB).
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-11-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
76a691f1af
linux-user, ppc: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/ppc/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
and to not generate the entry if entry point is sys_ni_syscall.
Fix ppc/signal.c to define do_sigreturn() for TARGET_ABI32.
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-10-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
5bcb498638
linux-user, arm: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/arm/tools/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Update syscall.c to manage TARGET_NR_arm_sync_file_range as it has
replaced TARGET_NR_sync_file_range2
Move existing stuff from linux-user/Makefile.objs to
linux-user/arm/Makefile.objs
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200310103403.3284090-9-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
ddf0c4cdfd
linux-user, microblaze: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/microblaze/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-8-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
d0c832f616
linux-user, sh4: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/sh/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-7-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
a4a9359253
linux-user, xtensa: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/xtensa/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-6-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
5b85cae955
linux-user, m68k: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/m68k/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-5-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
9566f4c61f
linux-user, hppa: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/parisc/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200310103403.3284090-4-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
6116aea994
linux-user, alpha: add syscall table generation support
...
Copy syscall.tbl and syscallhdr.sh from linux/arch/alpha/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-3-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Laurent Vivier
4d6a835dea
linux-user: introduce parameters to generate syscall_nr.h
...
This will be used when we'll import syscall.tbl from the kernel
Add a script to remove all the dependencies to syscall_nr.h
that point to source directory and not to the build directory.
The list of arch will be update while the generated files are added.
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <20200310103403.3284090-2-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:02:00 +01:00
Alistair Francis
50efc69586
linux-user/riscv: Update the syscall_nr's to the 5.5 kernel
...
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <8e512fa2dc885aafc4d9c4013ee033442827a4a0.1584051142.git.alistair.francis@wdc.com >
[lv: guard sys_futex with TARGET_NR_exit]
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:01:59 +01:00
Alistair Francis
c6c8d1026e
linux-user/syscall: Add support for clock_gettime64/clock_settime64
...
Add support for the clock_gettime64/clock_settime64 syscalls.
If your host is 64-bit or is 32-bit with the *_time64 syscall then the
timespec will correctly be a 64-bit time_t. Otherwise the host will
return a 32-bit time_t which will be rounded to 64-bits. This will be
incorrect after y2038.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <4a7fd05532400d10aa0f684c9043e2ac7b34d91c.1584051142.git.alistair.francis@wdc.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:01:59 +01:00
Alistair Francis
859e8a89be
linux-user: Protect more syscalls
...
New y2038 safe 32-bit architectures (like RISC-V) don't support old
syscalls with a 32-bit time_t. The kernel defines new *_time64 versions
of these syscalls. Add some more #ifdefs to syscall.c in linux-user to
allow us to compile without these old syscalls.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <9ffc3cc6226756895157f16622be5f6edfa2aee6.1584051142.git.alistair.francis@wdc.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 16:01:46 +01:00
Lirong Yuan
aab613fb95
linux-user: Update TASK_UNMAPPED_BASE for aarch64
...
This change updates TASK_UNMAPPED_BASE (the base address for guest programs) for aarch64. It is needed to allow qemu to work with Thread Sanitizer (TSan), which has specific boundary definitions for memory mappings on different platforms:
https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/tsan/rtl/tsan_platform.h
Signed-off-by: Lirong Yuan <yuanzi@google.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20200313002813.3857-1-yuanzi@google.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 15:51:54 +01:00
Laurent Vivier
2039b1b0dc
linux-user: fix socket() strace
...
print_socket_type() doesn't manage flags and the correct type cannot
be displayed
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200312165530.53450-1-laurent@vivier.eu >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 15:51:54 +01:00
Tobias Koch
055d92f867
linux-user: do prlimit selectively
...
Analogous to what commit 5dfa88f7 did for setrlimit, this commit
selectively ignores limits for memory-related resources in prlimit64
calls. This is to prevent too restrictive limits from causing QEMU
itself to malfunction.
Signed-off-by: Tobias Koch <tobias.koch@nonterra.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20200305202400.27574-1-tobias.koch@nonterra.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 15:51:54 +01:00
Lirong Yuan
e0d1673d39
linux-user: Add AT_EXECFN auxval
...
This change adds the support for AT_EXECFN auxval.
Signed-off-by: Lirong Yuan <yuanzi@google.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20200302193153.66415-1-yuanzi@google.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-03-20 15:51:53 +01:00
Peter Maydell
3d0ac34603
Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging
...
Python queue for 5.0 soft freeze
* Add scripts/simplebench (Vladimir Sementsov-Ogievskiy)
# gpg: Signature made Wed 18 Mar 2020 01:11:49 GMT
# gpg: using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg: issuer "ehabkost@redhat.com "
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com >" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6
* remotes/ehabkost/tags/python-next-pull-request:
MAINTAINERS: add simplebench
scripts/simplebench: add example usage of simplebench
scripts/simplebench: add qemu/bench_block_job.py
scripts/simplebench: add simplebench.py
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-03-20 13:54:23 +00:00
Peter Maydell
226cd20706
Merge remote-tracking branch 'remotes/philmd-gitlab/tags/target_renesas_rx-20200320' into staging
...
Introduce the architectural part of the Renesas RX
architecture emulation, developed by Yoshinori Sato.
CI jobs results:
https://gitlab.com/philmd/qemu/pipelines/127886344
https://travis-ci.org/github/philmd/qemu/builds/664579420
# gpg: Signature made Fri 20 Mar 2020 10:27:32 GMT
# gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org >" [full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE
* remotes/philmd-gitlab/tags/target_renesas_rx-20200320:
Add rx-softmmu
target/rx: Dump bytes for each insn during disassembly
target/rx: Collect all bytes during disassembly
target/rx: Emit all disassembly in one prt()
target/rx: Use prt_ldmi for XCHG_mr disassembly
target/rx: Replace operand with prt_ldmi in disassembler
target/rx: Disassemble rx_index_addr into a string
target/rx: RX disassembler
target/rx: CPU definitions
target/rx: TCG helpers
target/rx: TCG translation
MAINTAINERS: Add entry for the Renesas RX architecture
hw/registerfields.h: Add 8bit and 16bit register macros
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-03-20 12:15:20 +00:00
Peter Maydell
f3949284da
Merge remote-tracking branch 'remotes/kraxel/tags/vga-20200320-pull-request' into staging
...
vga: edid compat fix for virtio-gpu
# gpg: Signature made Fri 20 Mar 2020 07:25:15 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com >" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org >" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com >" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/vga-20200320-pull-request:
compat: disable edid on correct virtio-gpu device
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-03-20 10:15:19 +00:00
Cornelia Huck
02501fc393
compat: disable edid on correct virtio-gpu device
...
Commit bb15791166 ("compat: disable edid on virtio-gpu base
device") tried to disable 'edid' on the virtio-gpu base device.
However, that device is not 'virtio-gpu', but 'virtio-gpu-device'.
Fix it.
Fixes: bb15791166 ("compat: disable edid on virtio-gpu base device")
Reported-by: Lukáš Doktor <ldoktor@redhat.com >
Tested-by: Lukáš Doktor <ldoktor@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
Message-id: 20200318093919.24942-1-cohuck@redhat.com
Cc: qemu-stable@nongnu.org
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-03-20 07:50:52 +01:00
Yoshinori Sato
c8c35e5f51
Add rx-softmmu
...
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
[PMD: Squashed patches from Richard Henderson modifying
qapi/common.json and tests/machine-none-test.c]
Message-Id: <20200224141923.82118-21-ysato@users.sourceforge.jp >
[PMD: Added @since 5.0 tag in SysEmuTarget]
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
e43917cce5
target/rx: Dump bytes for each insn during disassembly
...
There are so many different forms of each RX instruction
that it will be very useful to be able to look at the bytes
to see on which path a bug may lie.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-24-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
05a8599fcc
target/rx: Collect all bytes during disassembly
...
Collected, to be used in the next patch.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-23-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
67eb12d8d6
target/rx: Emit all disassembly in one prt()
...
Many of the multi-part prints have been eliminated by previous
patches. Eliminate the rest of them.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-22-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
5cf7c96008
target/rx: Use prt_ldmi for XCHG_mr disassembly
...
Note that the ld == 3 case handled by prt_ldmi is decoded as
XCHG_rr and cannot appear here.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-21-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
e283adea34
target/rx: Replace operand with prt_ldmi in disassembler
...
This has consistency with prt_ri(). It loads all data before
beginning output. It uses exactly one call to prt() to emit
the full instruction.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-20-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00
Richard Henderson
fa6289e267
target/rx: Disassemble rx_index_addr into a string
...
We were eliding all zero indexes. It is only ld==0 that does
not have an index in the instruction. This also allows us to
avoid breaking the final print into multiple pieces.
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20190531134315.4109-19-richard.henderson@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
2020-03-19 17:58:05 +01:00