qemu/linux-user
Paolo Bonzini 63fd8ef080 target/i386: implement SYSCALL/SYSRET in 32-bit emulators
AMD supports both 32-bit and 64-bit SYSCALL/SYSRET, but the TCG only
exposes it for 64-bit targets.  For system emulation just reuse the
helper; for user-mode emulation the ABI is the same as "int $80".

The BSDs does not support any fast system call mechanism in 32-bit
mode so add to bsd-user the same stub that FreeBSD has for 64-bit
compatibility mode.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-06-26 10:23:56 +02:00
..
aarch64 linux-user: move target_flat.h to target subdirs 2023-02-03 22:55:12 +01:00
alpha linux-user: Add translation for argument of msync() 2023-03-10 20:45:47 +01:00
arm include/exec: Change reserved_va semantics to last byte 2023-03-28 15:23:10 -07:00
cris
generic linux-user: Add translation for argument of msync() 2023-03-10 20:45:47 +01:00
hexagon Hexagon (linux-user/hexagon): handle breakpoints 2023-05-18 12:40:52 -07:00
hppa linux-user: Add translation for argument of msync() 2023-03-10 20:45:47 +01:00
i386 target/i386: implement SYSCALL/SYSRET in 32-bit emulators 2023-06-26 10:23:56 +02:00
include
loongarch64 target/loongarch: Add LSX data type VReg 2023-05-06 11:19:42 +08:00
m68k linux-user: move target_flat.h to target subdirs 2023-02-03 22:55:12 +01:00
microblaze linux-user/microblaze: Handle privileged exception 2023-02-21 08:44:13 -10:00
mips linux-user: Fix mips fp64 executables loading 2023-05-17 07:20:29 +02:00
mips64
nios2
openrisc
ppc ppc: spapr: cleanup cr get/set with helpers. 2023-05-05 12:34:22 -03:00
riscv
s390x linux-user/s390x: Fix single-stepping SVC 2023-06-05 07:27:23 +02:00
sh4 linux-user: move target_flat.h to target subdirs 2023-02-03 22:55:12 +01:00
sparc linux-user/sparc: Handle tag overflow traps 2023-03-10 20:45:47 +01:00
x86_64
xtensa
cpu_loop-common.h
elfload.c linux-user: elfload: Specify -R is an option for qemu-user binaries 2023-06-10 09:40:46 +03:00
errnos.c.inc
exit.c *: Add missing includes of qemu/plugin.h 2023-03-22 15:06:57 +00:00
fd-trans.c linux-user: handle netlink flag NLA_F_NESTED 2023-03-10 20:45:47 +01:00
fd-trans.h linux-user: fix timerfd read endianness conversion 2023-03-10 20:42:00 +01:00
flat.h
flatload.c linux-user: Pass last not end to probe_guest_base 2023-03-28 15:23:10 -07:00
ioctls.h
linux_loop.h
linuxload.c
loader.h linux-user/elfload: Introduce elf_hwcap_str() on s390x 2023-06-05 20:48:34 +02:00
main.c linux-user, bsd-user: Preserve incoming order of environment variables in the target 2023-06-13 11:28:53 +02:00
meson.build
mmap.c include/exec: Change reserved_va semantics to last byte 2023-03-28 15:23:10 -07:00
qemu.h linux-user: Add new flag VERIFY_NONE 2023-05-17 07:20:29 +02:00
semihost.c
signal-common.h
signal.c gdbstub: move chunks of user code into own files 2023-03-07 20:44:04 +00:00
socket.h
strace.c linux-user: Emulate CLONE_PIDFD flag in clone() 2023-03-10 20:45:47 +01:00
strace.h
strace.list linux-user: Add translation for argument of msync() 2023-03-10 20:45:47 +01:00
syscall.c linux-user: Return EINVAL for getgroups() with negative gidsetsize 2023-06-10 00:00:24 +03:00
syscall_defs.h linux-user/sparc: Don't use 16-bit UIDs on SPARC V9 2023-03-30 15:03:23 +02:00
syscall_types.h
thunk.c
trace-events
trace.h
uaccess.c
uname.c
uname.h
user-internals.h linux-user: Pass last not end to probe_guest_base 2023-03-28 15:23:10 -07:00
user-mmap.h
vm86.c