aboutsummaryrefslogtreecommitdiff
path: root/bsd-user/elfload.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-08-03 22:04:20 -0600
committerWarner Losh <imp@bsdimp.com>2021-09-10 14:13:06 -0600
commita8fe6d5d627f2fa9136dc1255e6dc7c67a0c45c3 (patch)
tree7d91dffb2fb434653988e866e546ba805eeda974 /bsd-user/elfload.c
parent031fe7af8a856cf42b0d1d9fb6188acbf7b64fd1 (diff)
bsd-user: pull in target_arch_thread.h update target_arch_elf.h
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>
Diffstat (limited to 'bsd-user/elfload.c')
-rw-r--r--bsd-user/elfload.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index ccb1744800..c28ef34143 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -24,6 +24,7 @@
#include "qemu/path.h"
#include "target_arch_elf.h"
+#include "target_os_thread.h"
/* this flag is uneffective under linux too, should be deleted */
#ifndef MAP_DENYWRITE
@@ -1001,5 +1002,6 @@ int load_elf_binary(struct bsd_binprm *bprm, struct target_pt_regs *regs,
void do_init_thread(struct target_pt_regs *regs, struct image_info *infop)
{
- init_thread(regs, infop);
+
+ target_thread_init(regs, infop);
}