aboutsummaryrefslogtreecommitdiff
path: root/bsd-user/freebsd
AgeCommit message (Collapse)Author
2021-10-18bsd-user/sysarch: Move to using do_freebsd_arch_sysarch interfaceWarner Losh
do_freebsd_arch_sysarch() exists in $ARCH/target_arch_sysarch.h for x86. Call it from do_freebsd_sysarch() and remove the mostly duplicate version in syscall.c. Future changes will move it to os-sys.c and support other architectures. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-10-18bsd-user/target_os_elf: If ELF_HWCAP2 is defined, publish itWarner Losh
Some architectures publish AT_HWCAP2 as well as AT_HWCAP. Those architectures will define ELF_HWCAP2 in their target_arch_elf.h files for the value for this process. If it is defined, then publish it. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-10-18bsd-user/target_os_elf.h: Remove fallback ELF_HWCAP and reorderWarner Losh
All architectures have a ELF_HWCAP, so remove the fallback ifdef. Place ELF_HWCAP in the same order as on native FreeBSD. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-10-18bsd-user: move TARGET_MC_GET_CLEAR_RET to target_os_signal.hWarner Losh
Move TARGET_MC_GET_CLEAR_RET to freebsd/target_os_signal.h since it's architecture agnostic on FreeBSD. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-10-18bsd-user/strace.list: Remove support for FreeBSD versions older than 12.0Warner Losh
Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-10-18bsd-user/target_os-user.h: Remove support for FreeBSD older than 12.0Warner Losh
Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-09-10bsd-user: Add target_os_user.h to capture the user/kernel structuresWarner Losh
This file evolved over the years to capture the user/kernel interfaces, including those that changed over time. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-09-10bsd-user: elf cleanupWarner Losh
Move OS-dependent defines into target_os_elf.h. Move the architectural dependent stuff into target_arch_elf.h. Adjust elfload.c to use target_create_elf_tables instead of create_elf_tables. Signed-off-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Justin Hibbits <chmeeedalf@gmail.com> Signed-off-by: Alexander Kabaev <kan@FreeBSD.ORG> Acked-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-09-10bsd-user: Move stack initializtion into a per-os file.Warner Losh
Move all of the stack initialization into target_os_stack.h. Each BSD sets up processes a little differently. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2021-09-10bsd-user: *BSD specific siginfo defintionsWarner Losh
Add FreeBSD, NetBSD and OpenBSD values for the various signal info types and defines to decode different signals to discover more information about the specific signal types. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-09-10bsd-user: Create target specific vmparam.hWarner Losh
Target specific values for vm parameters and details. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2021-09-10bsd-user: pull in target_arch_thread.h update target_arch_elf.hWarner Losh
Update target_arch_elf.h to remove thread_init. Move its contents to target_arch_thread.h and rename to target_thread_init(). Update elfload.c to call it. Create thread_os_thread.h to hold the os specific parts of the thread and threat manipulation routines. Currently, it just includes target_arch_thread.h. target_arch_thread.h contains the at the moment unused target_thread_set_upcall which will be used in the future when creating actual thread (i386 has this stubbed, but other architectures in the bsd-user tree have real ones). FreeBSD doesn't do AT_HWCAP, so remove that code. Linux does, and this code came from there. These changes are all interrelated and could be brokend down, but seem to represent a reviewable changeset since most of the change is boiler plate. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
2021-09-10bsd-user: Include host-os.h from mainWarner Losh
Include host-os.h from main.c to pick up the default OS to emulate. Set that default in main(). Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2021-09-10bsd-user: add host-os.hWarner Losh
Host OS specific bits for this implementation go in this file. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2021-01-11bsd-user: Update strace.list for FreeBSD's latest syscallsWarner Losh
Update strace.list to include all of FreeBSD's syscalls up through svn r331280. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Sean Bruno <sburno@FreeBSD.org> Signed-off-by: Alexander Kabaev <kan@FreeBSD.org> Signed-off-by: Jung-uk Kim <jkim@FreeBSD.org> Author: Michal Meloun <mmel@FreeBSD.org> Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com> [imp moved this change to early in the sequence] Signed-off-by: Warner Losh <imp@FreeBSD.org> Message-Id: <20201218205451.10559-5-imp@freebsd.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-01-11bsd-user: move strace OS/arch dependent code to host/arch dirsStacey Son
This change moves host OS and arch dependent code for the sysarch system call related to the -strace functionality into the appropriate host OS and target arch directories. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Sean Bruno <sburno@FreeBSD.org> [ imp integrated minor build fixes from sbruno ] Signed-off-by: Warner Losh <imp@FreeBSD.org> Message-Id: <20201218205451.10559-4-imp@freebsd.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-01-11bsd-user: regenerate FreeBSD's system call numbersWarner Losh
Recreate the FreeBSD system call numbers from current sys/syscall.h. Since this isn't guaranteed to be on all systems, continue the practice of generating it with some variation on: sed -e s/SYS_/TARGET_NR_/ < $FREEBSD_SRC/sys/syscall.h > syscall_nr.h until a more comprehensive system can be put in place. Signed-off-by: Warner Losh <imp@FreeBSD.org> Message-Id: <20201218205451.10559-2-imp@freebsd.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2014-06-11bsd-user: Fix syscall format, add strace support for more syscallsSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-10-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: Implement strace support for thr_* syscallsSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-9-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: Implement strace support for extattr_* syscallsSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-8-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: Implement strace support for __acl_* syscallsSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-7-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: Implement strace support for print_ioctl syscallSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-5-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: Implement strace support for print_sysctl syscallSean Bruno
Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1402246651-71099-4-git-send-email-sbruno@freebsd.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-06-11bsd-user: refresh freebsd system call numbersStacey Son
Update FreeBSD system call numbers in freebsd/syscall_nr.h. Signed-off-by: Stacey Son <sson@FreeBSD.org> Reviewed-by: Ed Maste <emaste@freebsd.org> Signed-off-by: Sean Bruno <sbruno@freebsd.org> Message-id: 1401220104-7147-2-git-send-email-sbruno@freebsd.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2009-10-18bsd-user: FreeBSD updateJuergen Lock
basic FreeBSD sysarch(2) handling fixed syscall errno return Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2008-10-26Preliminary BSD user emulator supportblueswir1
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5544 c046a42c-6fe2-441c-8c8c-71466251a162