aboutsummaryrefslogtreecommitdiff
path: root/bsd-user
AgeCommit message (Collapse)AuthorFilesLines
2023-10-03bsd-user: Implement shmctl(2)Stacey Son2-0/+43
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> Message-Id: <20230925182709.4834-22-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement shm_unlink(2) and shmget(2)Stacey Son2-0/+31
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-21-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement shm_open(2)Stacey Son2-0/+29
Co-authored-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> 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> Message-Id: <20230925182709.4834-20-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement do_obreak functionStacey Son2-0/+52
Match linux-user, by manually applying the following commits, in order: d28b3c90cfad1a7e211ae2bce36ecb9071086129 linux-user: Make sure initial brk(0) is page-aligned 15ad98536ad9410fb32ddf1ff09389b677643faa linux-user: Fix qemu brk() to not zero bytes on current page dfe49864afb06e7e452a4366051697bc4fcfc1a5 linux-user: Prohibit brk() to to shrink below initial heap address eac78a4b0b7da4de2c0a297f4d528ca9cc6256a3 linux-user: Fix signed math overflow in brk() syscall c6cc059eca18d9f6e4e26bb8b6d1135ddb35d81a linux-user: Do not call get_errno() in do_brk() e69e032d1a8ee8d754ca119009a3c2c997f8bb30 linux-user: Use MAP_FIXED_NOREPLACE for do_brk() cb9d5d1fda0bc2312fc0c779b4ea1d7bf826f31f linux-user: Do nothing if too small brk is specified 2aea137a425a87b930a33590177b04368fd7cc12 linux-user: Do not align brk with host page size 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> Message-Id: <20230925182709.4834-19-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement mincore(2)Stacey Son2-0/+27
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> Message-Id: <20230925182709.4834-18-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implment madvise(2) to match the linux-user implementation.Karim Taha3-0/+59
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-17-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement mlock(2), munlock(2), mlockall(2), munlockall(2), ↵Stacey Son2-0/+57
minherit(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> Message-Id: <20230925182709.4834-16-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement msync(2)Stacey Son2-0/+15
Co-authored-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-15-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement mprotect(2)Stacey Son2-0/+11
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: <20230925182709.4834-14-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement mmap(2) and munmap(2)Stacey Son2-0/+29
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-13-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Introduce bsd-mem.h to the source treeStacey Son2-0/+65
Preserve the copyright notice and help with the 'Author' info for subsequent changes to the file. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-12-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement shmid_ds conversion between host and target.Stacey Son1-0/+47
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> Message-Id: <20230925182709.4834-11-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement ipc_perm conversion between host and target.Stacey Son1-0/+25
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> Message-Id: <20230925182709.4834-10-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement target_set_brk function in bsd-mem.c instead of os-syscall.cStacey Son2-4/+32
The definitions and variables names matches the corresponding ones in linux-user/syscall.c, for making later implementation of do_obreak easier Co-authored-by: Mikaël Urankar <mikael.urankar@gmail.com> Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230925182709.4834-9-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Add bsd-mem.c to meson.buildKarim Taha2-0/+1
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: <20230925182709.4834-8-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement shm_rename(2) system callKyle Evans2-0/+30
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: <20230925182709.4834-7-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement shm_open2(2) system callKarim Taha2-6/+62
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> Message-Id: <20230925182709.4834-6-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Introduce freebsd/os-misc.h to the source treeStacey Son1-0/+28
To preserve the copyright notice and help with the 'Author' info for subsequent changes to the file. 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: <20230925182709.4834-5-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Declarations for ipc_perm and shmid_ds conversion functionsStacey Son1-0/+20
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: <20230925182709.4834-4-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement struct target_shmid_dsStacey Son1-0/+20
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: <20230925182709.4834-3-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement struct target_ipc_permStacey Son1-0/+17
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: <20230925182709.4834-2-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement pdfork(2) system call.Stacey Son2-0/+36
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> Message-Id: <20230925182425.3163-29-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement rfork(2) system call.Stacey Son2-0/+43
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-28-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement fork(2) and vfork(2) system calls.Stacey Son2-0/+42
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-27-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement pdgetpid(2) and the undocumented setugid.Stacey Son2-0/+31
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-26-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement setloginclass(2) and getloginclass(2) system calls.Stacey Son2-0/+40
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-25-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement wait4(2) and wait6(2) system calls.Stacey Son2-0/+99
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-24-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement execve(2) and fexecve(2) system calls.Karim Taha2-1/+59
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-23-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement procctl(2) along with necessary conversion functions.Stacey Son2-0/+226
Implement t2h_procctl_cmd, h2t_reaper_status, h2t_reaper_pidinfo and h2t/t2h reaper_kill conversion functions. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-22-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement freebsd_exec_common, used in implementing execve/fexecve.Stacey Son3-4/+180
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-21-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement get_filename_from_fd.Karim Taha2-0/+83
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-20-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement getpriority(2) and setpriority(2).Stacey Son2-0/+32
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-19-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Add stubs for profil(2), ktrace(2), utrace(2) and ptrace(2).Stacey Son2-0/+44
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-18-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement get/set[resuid/resgid/sid] and issetugid.Stacey Son2-0/+104
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-17-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement several get/set system calls:Stacey Son2-0/+150
getpid(2), getppid(2), getpgrp(2) setreuid(2), setregid(2) getuid(2), geteuid(2), getgid(2), getegid(2), getpgid(2) setuid(2), seteuid(2), setgid(2), setegid(2), setpgid(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> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-16-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement getrlimit(2) and setrlimit(2)Stacey Son2-0/+67
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-15-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement getrusage(2).Stacey Son2-0/+17
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-14-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement umask(2), setlogin(2) and getlogin(2)Stacey Son2-0/+51
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-13-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement getgroups(2) and setgroups(2) system calls.Stacey Son2-0/+53
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-12-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Get number of cpus.Kyle Evans2-0/+26
Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-11-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement host_to_target_waitstatus conversion.Stacey Son1-0/+17
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-10-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement host_to_target_rusage and host_to_target_wrusage.Stacey Son1-0/+54
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-9-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement target_to_host_rlim and host_to_target_rlim conversion.Stacey Son1-0/+10
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-8-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement target_to_host_resource conversion functionStacey Son3-0/+50
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-7-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: add extern declarations for bsd-proc.c conversion functionsStacey Son1-0/+38
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-6-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Add freebsd_exec_common and do_freebsd_procctl to qemu.h.Stacey Son1-0/+6
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-5-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Implement host_to_target_siginfo.Stacey Son2-0/+7
Used in wait6 system call 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-4-kariem.taha2.7@gmail.com>
2023-10-03bsd-user: Define procctl(2) related structsStacey Son1-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>
2023-10-03bsd-user: define TARGET_RFSPAWN for rfork to use vfork(2) semantics, and fix ↵Karim Taha1-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>
2023-09-20bsd-user: spelling fixesMichael Tokarev7-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>