summary refs log tree commit diff stats
path: root/bsd-user (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | bsd-user: Define procctl(2) related structsStacey Son2023-10-031-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement procctl flags and related structs: struct target_procctl_reaper_status struct target_procctl_reaper_pidinfo struct target_procctl_reaper_pids struct target_procctl_reaper_kill Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-3-kariem.taha2.7@gmail.com>
* | bsd-user: define TARGET_RFSPAWN for rfork to use vfork(2) semantics, and fix ↵Karim Taha2023-10-031-4/+4
|/ | | | | | | | | | | | | RLIM_INFINITY RLIM_INFINITY on FreeBSD, OpenBSD and NetBSD has value of ~(1<<63), caculated one way or another. Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-2-kariem.taha2.7@gmail.com>
* bsd-user: spelling fixesMichael Tokarev2023-09-207-11/+11
| | | | | | Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Reviewed-by: Kyle Evans <kevans@FreeBSD.org> Reviewed-by: Warner Losh <imp@bsdimp.com>
* trace-events: Fix the name of the tracing.rst fileThomas Huth2023-09-081-1/+1
| | | | | | | | | The file has been converted to .rst a while ago - make sure that the references in the trace-events files are pointing to the right location now. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* bulk: Do not declare function prototypes using 'extern' keywordPhilippe Mathieu-Daudé2023-08-311-4/+2
| | | | | | | | | | | | | | | | By default, C function prototypes declared in headers are visible, so there is no need to declare them as 'extern' functions. Remove this redundancy in a single bulk commit; do not modify: - meson.build (used to check function availability at runtime) - pc-bios/ - libdecnumber/ - tests/ - *.c Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20230605175647.88395-5-philmd@linaro.org>
* bsd-user: Move PRAGMA_DISABLE_PACKED_WARNING etc to qemu.hWarner Losh2023-08-301-0/+27
| | | | | | | | | | | | | For the moment, move PRAGMA_DISABLE_PACKED_WARNING and PRAGMA_ENABLE_PACKED_WARNING back to bsd-user/qemu.h. Of course, these should be in compiler.h, but that interferes with too many things at the moment, so take one step back to unbreak clang linux-user builds first. Use the exact same version that's in linux-user/qemu.h since that's what should be in compiler.h. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
* bsd-user: Add missing break after do_bsd_preadvWarner Losh2023-08-281-0/+1
| | | | | | | | | | | Without it, we'd call preadv, then write with weird parameters, which is clearly not ideal... Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Fixes: 770d8abae7 ("bsd-user/bsd-file.h: Meat of the write system calls") Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230820045419.89691-1-imp@bsdimp.com>
* bsd-user: Add getdents and fcntl related system callsWarner Losh2023-08-281-0/+16
| | | | | | | | | | | | | | Add glue to call the following syscalls to the freebsd_syscall: freebsd11_getdents getdirentries freebsd11_getdirentries fcntl Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add glue for statfs related system callsWarner Losh2023-08-281-0/+24
| | | | | | | | | | | | | | | Add glue to call the following syscalls to the freebsd_syscall: freebsd11_statfs statfs freebsd11_fstatfs fstatfs freebsd11_getfsstat getfsstat Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Add glue for getfh and related syscallsWarner Losh2023-08-281-0/+28
| | | | | | | | | | | | | | | | Add glue to call the following syscalls to the freebsd_syscall: getfh lgetfh fhopen freebsd11_fhstat freebsd11_fhstatfs fhstat fhstatfs Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Add glue for the freebsd11_stat syscallsWarner Losh2023-08-281-0/+42
| | | | | | | | | | | | | | | | | Add glue to call the freebsd11_stat syscalls to the freebsd_syscall: freebsd11_stat freebsd11_lstat freebsd11_fstat freebsd11_fstatat freebsd11_nstat, freebsd11_nfstat, freebsd11_nlstat fstatat fstat Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add os-stat.c to the buildKarim Taha2023-08-281-0/+1
| | | | | | Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement do_freebsd_realpathat syscallMikaël Urankar2023-08-281-0/+26
| | | | | | | Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement freebsd11 netbsd stat related syscallsMichal Meloun2023-08-281-0/+7
| | | | | | | | | | | | | | Forward declaration of the nstat syscalls: nstat nlstat nfstat Co-authored-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement freebsd11 getdirents related syscallsMichal Meloun2023-08-281-0/+44
| | | | | | | | | | | | Implement the freebsd11 variant of the following syscalls: getdirentries(2) Co-authored-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement freebsd11 statfs related syscallsMichal Meloun2023-08-281-0/+75
| | | | | | | | | | | | | | Implement the freebsd11 variant of the following syscalls: statfs(2) fstatfs(2) getfsstat(2) Co-authored-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement freebsd11 fstat and fhstat related syscallsMichal Meloun2023-08-281-0/+78
| | | | | | | | | | | | | | | Implement the freebsd11 variant of the following syscalls: fstat(2) fstatat(2) fhstat(2) fhstatfs(2) Co-authored-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement freebsd11 stat related syscallsMichal Meloun2023-08-281-0/+5
| | | | | | | | | | | | | Rename the following syscalls to the freebsd11 variant: do_freebsd_lstat -> do_freebsd11_lstat do_freebsd_stat -> do_freebsd11_stat Co-authored-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement stat related syscallsStacey Son2023-08-281-0/+74
| | | | | | | | | | Implement the following syscalls: fcntl(2) Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement getdents related syscallsStacey Son2023-08-281-0/+72
| | | | | | | | | | | Implement the following syscalls: getdents(2) getdirecentries(2) Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement statfs related syscallsStacey Son2023-08-281-0/+69
| | | | | | | | | | | | Implement the following syscalls: statfs(2) fstatfs(2) getfsstat(2) Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement statfh related syscallsStacey Son2023-08-281-0/+83
| | | | | | | | | | | | | | Implement the following syscalls: getfh(2) lgetfh(2) fhopen(2) fhstat(2) fhstatfs(2) Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement stat related syscallsStacey Son2023-08-281-0/+130
| | | | | | | | | | | | | | | | Implement the following syscalls: stat(2) lstat(2) fstat(2) fstatat(2) nstat nfstat nlstat Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-uesr: Implement h2t_freebsd_stat and h2t_freebsd_statfs functionsMichal Meloun2023-08-281-0/+82
| | | | | | | | | | They are the 64-bit variants of h2t_freebsd11_stat and h2t_freebsd11_statfs, respectively Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement target_to_host_fcntl_cmdStacey Son2023-08-281-0/+8
| | | | | | | | | | Implement the stat conversion functions: target_to_host_fcntl_cmd Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement h2t_freebds11_statfsStacey Son2023-08-281-0/+41
| | | | | | | | | | Implement the stat conversion functions: h2t_freebds11_statfs Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement h2t_freebsd_fhandle t2h_freebsd_fhandleStacey Son2023-08-281-0/+37
| | | | | | | | | | | Implement the stat conversion functions: h2t_freebsd_fhandle t2h_freebsd_fhandle Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Implement h2t_freebsd11_stat h2t_freebsd_nstatStacey Son2023-08-281-0/+94
| | | | | | | | | | | Implement the stat conversion functions: h2t_freebsd11_stat h2t_freebsd_nstat Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Rename target_freebsd_time_t to target_time_tWarner Losh2023-08-281-4/+4
| | | | | | | | | This is necessary for future code using target_time_t, in bsd-user/syscall_defs. Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Define safe_fcntl macro in bsd-user/syscall_defs.hKyle Evans2023-08-281-0/+2
| | | | | | | Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add struct target_freebsd_fhandle and fcntl flagsStacey Son2023-08-281-0/+51
| | | | | | | | | | | Add struct target_freebsd_fhandle and fcntl flags to bsd-user/syscall_defs.h Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add struct target_statfsMichal Meloun2023-08-281-0/+25
| | | | | | | | | Add struct target_statfs to bsd-user/syscall_defs.h Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add structs target_freebsd11_{nstat,statfs}Stacey Son2023-08-281-0/+64
| | | | | | | | | Add structs target_freebsd11_nstat and target_freebsd11_statfs to bsd-user/syscall_defs.h Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Add struct target_stat to bsd-user/syscall_defs.hMichal Meloun2023-08-281-0/+38
| | | | | | | Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Add struct target_freebsd11_stat to bsd-user/syscall_defsStacey Son2023-08-281-0/+33
| | | | | | | Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Singed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Declarations of h2t and t2h conversion functions.Stacey Son2023-08-282-0/+51
| | | | | | | | | | | Declarations of functions that convert between host and target structs. Co-authored-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user; Update the definitions of __put_user and __get_user macrosWarner Losh2023-08-282-51/+35
| | | | | | | | | | Use __builtin_choose_expr to avoid type promotion from ?: in __put_user_e and __get_user_e macros. Copied from linux-user/qemu.h, originally by Blue Swirl. Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Move _WANT_FREEBSD macros to include/qemu/osdep.hWarner Losh2023-08-281-11/+0
| | | | | | | | | | move _WANT_FREEBSD macros from bsd-user/freebsd/os-syscall.c to include/qemu/osdep.h in order to pull some struct defintions needed later in the build. Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Remove image_info.start_brkRichard Henderson2023-08-283-4/+1
| | | | | | | | | | | This has the same value is image_info.brk, which is also logged, and is otherwise unused. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230818175736.144194-4-richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Remove image_info.mmapRichard Henderson2023-08-282-2/+0
| | | | | | | | | | This value is unused. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230818175736.144194-3-richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Warner Losh <imp@bsdimp.com>
* bsd-user: Remove ELF_START_MMAP and image_info.start_mmapRichard Henderson2023-08-285-5/+0
| | | | | | | | | | | The start_mmap value is write-only. Remove the field and the defines that populated it. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230818175736.144194-2-richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Warner Losh <imp@bsdimp.com>
* linux-user: Use ARRAY_SIZE with bitmask_transtblRichard Henderson2023-08-091-0/+2
| | | | | | | | | | | | | | | | | | | Rather than using a zero tuple to end the table, use a macro to apply ARRAY_SIZE and pass that on to the convert functions. This fixes two bugs in which the conversion functions required that both the target and host masks be non-zero in order to continue, rather than require both target and host masks be zero in order to terminate. This affected mmap_flags_tbl when the host does not support all of the flags we wish to convert (e.g. MAP_UNINITIALIZED). Mapping these flags to zero is good enough, and matches how the kernel ignores bits that are unknown. Fixes: 4b840f96 ("linux-user: Populate more bits in mmap_flags_tbl") Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Remove last_brkRichard Henderson2023-08-062-3/+0
| | | | | | This variable is unused. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Specify host page alignment if none specifiedWarner Losh2023-07-311-1/+2
| | | | | | | | | | We're hitting an assert when we pass in alignment == 0 since that's not a power of two. so pass in the ideal page size. Signed-off-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230728162927.5009-1-imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
* bsd-user: Allocate guest virtual address spaceRichard Henderson2023-07-311-5/+43
| | | | | | | | | | | | With reserved_va, mmap.c expects to have pre-allocated host address space for the entire guest address space. When combined with the -B command-line option, ensure that the chosen address does not overlap anything else. Ensure that mmap_next_start is within reserved_va, as we use it within mmap.c without checking. Reviewed by: Warner Losh <imp@bsdimp.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230727161148.444988-1-richard.henderson@linaro.org>
* include/exec: Add WITH_MMAP_LOCK_GUARDRichard Henderson2023-07-231-0/+1
| | | | | Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
* accel/tcg: Return bool from page_check_rangeRichard Henderson2023-07-151-1/+1
| | | | | | | | | Replace the 0/-1 result with true/false. Invert the sense of the test of all callers. Document the function. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-25-richard.henderson@linaro.org>
* bsd-user: Use page_find_range_empty for mmap_find_vma_reservedRichard Henderson2023-07-151-41/+7
| | | | | | | | | | | Use the interval tree to find empty space, rather than probing each page in turn. Cc: Warner Losh <imp@bsdimp.com> Cc: Kyle Evans <kevans@freebsd.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-bt: Warner Losh <imp@bsdimp.com> Message-Id: <20230707204054.8792-18-richard.henderson@linaro.org>
* bsd-user: Use page_check_range_empty for MAP_EXCLRichard Henderson2023-07-151-1/+1
| | | | | | | | | | | The previous check returned -1 when any page within [start, start+len) is unmapped, not when all are unmapped. Cc: Warner Losh <imp@bsdimp.com> Cc: Kyle Evans <kevans@freebsd.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230707204054.8792-11-richard.henderson@linaro.org>
* target/i386: implement SYSCALL/SYSRET in 32-bit emulatorsPaolo Bonzini2023-06-261-0/+4
| | | | | | | | | | | | | 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>