qemu/bsd-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
..
arm bsd-user: Clean up includes 2023-02-08 07:16:23 +01:00
freebsd *-user: remove the guest_user_syscall tracepoints 2023-06-01 11:03:55 -04:00
host bsd-user: Catch up with sys/param.h requirement for machine/pmap.h 2022-10-26 14:09:17 -06:00
i386 target/i386: implement SYSCALL/SYSRET in 32-bit emulators 2023-06-26 10:23:56 +02:00
include user: move common-user includes to a subdirectory of {bsd,linux}-user/ 2022-01-12 14:08:29 +01:00
netbsd Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
openbsd Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
x86_64 bsd-user: Clean up includes 2023-02-08 07:16:23 +01:00
bsd-file.h bsd-user: Remove stray 'inline' from do_bsd_close 2022-07-02 07:52:48 -06:00
bsd-proc.h bsd-user: Clean up includes 2023-02-08 07:16:23 +01:00
bsdload.c bsd-user: TARGET_NGROUPS unused in this file, remove 2021-09-10 14:13:06 -06:00
elfcore.c bsd-user: add stubbed out core dump support 2021-09-10 14:13:06 -06:00
elfload.c disas: Remove target_ulong from the interface 2023-05-11 09:49:51 +01:00
errno_defs.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +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 bsd-user: Move system call building to os-syscall.c 2022-02-26 10:01:38 -07:00
mmap.c include/exec: Change reserved_va semantics to last byte 2023-03-28 15:23:10 -07:00
qemu.h bsd-user: implement sysctlbyname(2) 2023-03-01 11:09:19 -07:00
signal-common.h bsd-user/signal.c: Only copy the _capsicum for FreeBSD_version > 1400026 2022-02-01 14:43:20 -07:00
signal.c gdbstub: move chunks of user code into own files 2023-03-07 20:44:04 +00:00
strace.c bsd-user: Clean up includes 2023-02-08 07:16:23 +01:00
syscall_defs.h bsd-user: Implement open, openat and close 2022-06-13 15:48:09 -06:00
trace-events bsd-user: Add trace events for bsd-user 2022-01-28 15:53:41 -07:00
trace.h bsd-user: Add trace events for bsd-user 2022-01-28 15:53:41 -07:00
uaccess.c