From: Warner Losh <imp@bsdimp.com>
To: qemu-devel@nongnu.org
Cc: Warner Losh <imp@bsdimp.com>, Laurent Vivier <laurent@vivier.eu>,
qemu-trivial@nongnu.org, Kyle Evans <kevans@freebsd.org>,
Michael Tokarev <mjt@tls.msk.ru>
Subject: [PATCH 00/24] bsd-user: arm (32-bit) support
Date: Tue, 19 Oct 2021 10:44:23 -0600 [thread overview]
Message-ID: <20211019164447.16359-1-imp@bsdimp.com> (raw)
This series of patches brings in 32-bit arm support for bsd-user. It implements
all the bits needed to do image activation, signal handling, stack management
and threading. This allows us to get to the "Hello World" level and also to
satisfy all linking requirements. I've sliced up the current bsd-user fork
versions of all this code into what I hope are right-sized reviewable chunks.
make checkpatch has a couple of complaints about the comments for the signal
trampoline:
WARNING: Block comments use a leading /* on a separate line
+ /* 8 */ sys_sigreturn,
WARNING: Block comments use a leading /* on a separate line
+ /* 9 */ sys_exit
that I think should be ignored.
Warner Losh (24):
bsd-user/arm/target_arch_sysarch.h: Use consistent include guards
bsd-user/arm/target_syscall.h: Add copyright and update name
bsd-user/arm/target_arch_cpu.c: Target specific TLS routines
bsd-user/arm/target_arch_cpu.h: CPU Loop definitions
bsd-user/arm/target_arch_cpu.h: Implement target_cpu_clone_regs
bsd-user/arm/target_arch_cpu.h: Dummy target_cpu_loop implementation
bsd-user/arm/target_arch_cpu.h: Implment trivial EXCP exceptions
bsd-user/arm/target_arch_cpu.h: Implement data abort exceptions
bsd-user/arm/target_arch_cpu.h: Implement system call dispatch
bsd-user/arm/target_arch_reg.h: Implement core dump register copying
bsd-user/arm/target_arch_vmparam.h: Parameters for arm address space
bsd-user/arm/target_arch_sigtramp.h: Signal Trampoline for arm
bsd-user/arm/target_arch_thread.h: Routines to create and switch to a
thread
bsd-user/arm/target_arch_elf.h: arm defines for ELF
bsd-user/arm/target_arch_elf.h: arm get hwcap
bsd-user/arm/target_arch_elf.h: arm get_hwcap2 impl
bsd-user/arm/target_arch_signal.h: arm specific signal registers and
stack
bsd-user/arm/target_arch_signal.h: arm machine context for signals
bsd-user/arm/target_arch_signal.h: arm user context and trapframe for
signals
bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args
bsd-user/arm/target_arch_signal.h: arm get_mcontext
bsd-user/arm/target_arch_signal.h: arm set_mcontext
bsd-user/arm/target_arch_signal.h: arm get_ucontext_sigreturn
bsd-user: add arm target build
bsd-user/arm/target_arch.h | 28 +++
bsd-user/arm/target_arch_cpu.c | 39 +++++
bsd-user/arm/target_arch_cpu.h | 206 ++++++++++++++++++++++
bsd-user/arm/target_arch_elf.h | 128 ++++++++++++++
bsd-user/arm/target_arch_reg.h | 60 +++++++
bsd-user/arm/target_arch_signal.h | 253 ++++++++++++++++++++++++++++
bsd-user/arm/target_arch_sigtramp.h | 52 ++++++
bsd-user/arm/target_arch_sysarch.h | 6 +-
bsd-user/arm/target_arch_thread.h | 71 ++++++++
bsd-user/arm/target_arch_vmparam.h | 48 ++++++
bsd-user/arm/target_syscall.h | 27 ++-
configs/targets/arm-bsd-user.mak | 2 +
12 files changed, 913 insertions(+), 7 deletions(-)
create mode 100644 bsd-user/arm/target_arch.h
create mode 100644 bsd-user/arm/target_arch_cpu.c
create mode 100644 bsd-user/arm/target_arch_cpu.h
create mode 100644 bsd-user/arm/target_arch_elf.h
create mode 100644 bsd-user/arm/target_arch_reg.h
create mode 100644 bsd-user/arm/target_arch_signal.h
create mode 100644 bsd-user/arm/target_arch_sigtramp.h
create mode 100644 bsd-user/arm/target_arch_thread.h
create mode 100644 bsd-user/arm/target_arch_vmparam.h
create mode 100644 configs/targets/arm-bsd-user.mak
--
2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Warner Losh <imp@bsdimp.com>
To: qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, Kyle Evans <kevans@freebsd.org>,
Michael Tokarev <mjt@tls.msk.ru>,
Laurent Vivier <laurent@vivier.eu>, Warner Losh <imp@bsdimp.com>
Subject: [PATCH 00/24] bsd-user: arm (32-bit) support
Date: Tue, 19 Oct 2021 10:44:23 -0600 [thread overview]
Message-ID: <20211019164447.16359-1-imp@bsdimp.com> (raw)
This series of patches brings in 32-bit arm support for bsd-user. It implements
all the bits needed to do image activation, signal handling, stack management
and threading. This allows us to get to the "Hello World" level and also to
satisfy all linking requirements. I've sliced up the current bsd-user fork
versions of all this code into what I hope are right-sized reviewable chunks.
make checkpatch has a couple of complaints about the comments for the signal
trampoline:
WARNING: Block comments use a leading /* on a separate line
+ /* 8 */ sys_sigreturn,
WARNING: Block comments use a leading /* on a separate line
+ /* 9 */ sys_exit
that I think should be ignored.
Warner Losh (24):
bsd-user/arm/target_arch_sysarch.h: Use consistent include guards
bsd-user/arm/target_syscall.h: Add copyright and update name
bsd-user/arm/target_arch_cpu.c: Target specific TLS routines
bsd-user/arm/target_arch_cpu.h: CPU Loop definitions
bsd-user/arm/target_arch_cpu.h: Implement target_cpu_clone_regs
bsd-user/arm/target_arch_cpu.h: Dummy target_cpu_loop implementation
bsd-user/arm/target_arch_cpu.h: Implment trivial EXCP exceptions
bsd-user/arm/target_arch_cpu.h: Implement data abort exceptions
bsd-user/arm/target_arch_cpu.h: Implement system call dispatch
bsd-user/arm/target_arch_reg.h: Implement core dump register copying
bsd-user/arm/target_arch_vmparam.h: Parameters for arm address space
bsd-user/arm/target_arch_sigtramp.h: Signal Trampoline for arm
bsd-user/arm/target_arch_thread.h: Routines to create and switch to a
thread
bsd-user/arm/target_arch_elf.h: arm defines for ELF
bsd-user/arm/target_arch_elf.h: arm get hwcap
bsd-user/arm/target_arch_elf.h: arm get_hwcap2 impl
bsd-user/arm/target_arch_signal.h: arm specific signal registers and
stack
bsd-user/arm/target_arch_signal.h: arm machine context for signals
bsd-user/arm/target_arch_signal.h: arm user context and trapframe for
signals
bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args
bsd-user/arm/target_arch_signal.h: arm get_mcontext
bsd-user/arm/target_arch_signal.h: arm set_mcontext
bsd-user/arm/target_arch_signal.h: arm get_ucontext_sigreturn
bsd-user: add arm target build
bsd-user/arm/target_arch.h | 28 +++
bsd-user/arm/target_arch_cpu.c | 39 +++++
bsd-user/arm/target_arch_cpu.h | 206 ++++++++++++++++++++++
bsd-user/arm/target_arch_elf.h | 128 ++++++++++++++
bsd-user/arm/target_arch_reg.h | 60 +++++++
bsd-user/arm/target_arch_signal.h | 253 ++++++++++++++++++++++++++++
bsd-user/arm/target_arch_sigtramp.h | 52 ++++++
bsd-user/arm/target_arch_sysarch.h | 6 +-
bsd-user/arm/target_arch_thread.h | 71 ++++++++
bsd-user/arm/target_arch_vmparam.h | 48 ++++++
bsd-user/arm/target_syscall.h | 27 ++-
configs/targets/arm-bsd-user.mak | 2 +
12 files changed, 913 insertions(+), 7 deletions(-)
create mode 100644 bsd-user/arm/target_arch.h
create mode 100644 bsd-user/arm/target_arch_cpu.c
create mode 100644 bsd-user/arm/target_arch_cpu.h
create mode 100644 bsd-user/arm/target_arch_elf.h
create mode 100644 bsd-user/arm/target_arch_reg.h
create mode 100644 bsd-user/arm/target_arch_signal.h
create mode 100644 bsd-user/arm/target_arch_sigtramp.h
create mode 100644 bsd-user/arm/target_arch_thread.h
create mode 100644 bsd-user/arm/target_arch_vmparam.h
create mode 100644 configs/targets/arm-bsd-user.mak
--
2.32.0
next reply other threads:[~2021-10-19 16:45 UTC|newest]
Thread overview: 185+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-19 16:44 Warner Losh [this message]
2021-10-19 16:44 ` [PATCH 00/24] bsd-user: arm (32-bit) support Warner Losh
2021-10-19 16:44 ` [PATCH 01/24] bsd-user/arm/target_arch_sysarch.h: Use consistent include guards Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:29 ` Kyle Evans
2021-10-23 7:29 ` Kyle Evans
2021-10-28 15:08 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 02/24] bsd-user/arm/target_syscall.h: Add copyright and update name Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:30 ` Kyle Evans
2021-10-23 7:30 ` Kyle Evans
2021-10-28 15:08 ` Richard Henderson
2021-10-28 15:08 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 03/24] bsd-user/arm/target_arch_cpu.c: Target specific TLS routines Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:30 ` Kyle Evans
2021-10-23 7:30 ` Kyle Evans
2021-10-28 15:08 ` Richard Henderson
2021-10-28 15:08 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 04/24] bsd-user/arm/target_arch_cpu.h: CPU Loop definitions Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:31 ` Kyle Evans
2021-10-23 7:31 ` Kyle Evans
2021-10-28 15:14 ` Richard Henderson
2021-10-28 15:14 ` Richard Henderson
2021-10-28 17:36 ` Warner Losh
2021-10-28 17:36 ` Warner Losh
2021-10-19 16:44 ` [PATCH 05/24] bsd-user/arm/target_arch_cpu.h: Implement target_cpu_clone_regs Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:31 ` Kyle Evans
2021-10-23 7:31 ` Kyle Evans
2021-10-28 15:15 ` Richard Henderson
2021-10-28 15:15 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 06/24] bsd-user/arm/target_arch_cpu.h: Dummy target_cpu_loop implementation Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:32 ` Kyle Evans
2021-10-23 7:32 ` Kyle Evans
2021-10-28 15:15 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 07/24] bsd-user/arm/target_arch_cpu.h: Implment trivial EXCP exceptions Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 5:52 ` Kyle Evans
2021-10-26 5:52 ` Kyle Evans
2021-10-28 15:19 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 08/24] bsd-user/arm/target_arch_cpu.h: Implement data abort exceptions Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 5:47 ` Kyle Evans
2021-10-26 5:47 ` Kyle Evans
2021-10-28 15:29 ` Richard Henderson
2021-10-28 15:29 ` Richard Henderson
2021-10-28 16:56 ` Warner Losh
2021-10-28 16:56 ` Warner Losh
2021-10-19 16:44 ` [PATCH 09/24] bsd-user/arm/target_arch_cpu.h: Implement system call dispatch Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-23 7:33 ` Kyle Evans
2021-10-23 7:33 ` Kyle Evans
2021-10-23 15:17 ` Warner Losh
2021-10-23 15:17 ` Warner Losh
2021-10-28 15:35 ` Richard Henderson
2021-10-28 15:35 ` Richard Henderson
2021-10-28 17:56 ` Warner Losh
2021-10-28 17:56 ` Warner Losh
2021-10-19 16:44 ` [PATCH 10/24] bsd-user/arm/target_arch_reg.h: Implement core dump register copying Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 5:48 ` Kyle Evans
2021-10-26 5:48 ` Kyle Evans
2021-10-28 15:36 ` Richard Henderson
2021-10-28 15:36 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 11/24] bsd-user/arm/target_arch_vmparam.h: Parameters for arm address space Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 5:52 ` Kyle Evans
2021-10-26 5:52 ` Kyle Evans
2021-10-28 15:37 ` Richard Henderson
2021-10-28 15:37 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 12/24] bsd-user/arm/target_arch_sigtramp.h: Signal Trampoline for arm Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 5:51 ` Kyle Evans
2021-10-26 5:51 ` Kyle Evans
2021-10-28 15:42 ` Richard Henderson
2021-10-28 15:42 ` Richard Henderson
2021-10-28 19:35 ` Warner Losh
2021-10-28 19:35 ` Warner Losh
2021-10-19 16:44 ` [PATCH 13/24] bsd-user/arm/target_arch_thread.h: Routines to create and switch to a thread Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:01 ` Kyle Evans
2021-10-26 6:01 ` Kyle Evans
2021-10-26 6:11 ` Kyle Evans
2021-10-26 6:11 ` Kyle Evans
2021-10-27 15:35 ` Warner Losh
2021-10-27 15:35 ` Warner Losh
2021-10-27 15:40 ` Kyle Evans
2021-10-27 15:40 ` Kyle Evans
2021-10-28 15:57 ` Richard Henderson
2021-10-28 15:57 ` Richard Henderson
2021-10-28 19:45 ` Warner Losh
2021-10-28 19:45 ` Warner Losh
2021-10-29 16:06 ` Richard Henderson
2021-10-29 16:06 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 14/24] bsd-user/arm/target_arch_elf.h: arm defines for ELF Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:07 ` Kyle Evans
2021-10-26 6:07 ` Kyle Evans
2021-10-28 16:02 ` Richard Henderson
2021-10-28 16:02 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 15/24] bsd-user/arm/target_arch_elf.h: arm get hwcap Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:02 ` Kyle Evans
2021-10-26 6:02 ` Kyle Evans
2021-10-28 16:06 ` Richard Henderson
2021-10-28 16:06 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 16/24] bsd-user/arm/target_arch_elf.h: arm get_hwcap2 impl Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:02 ` Kyle Evans
2021-10-26 6:02 ` Kyle Evans
2021-10-28 16:08 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 17/24] bsd-user/arm/target_arch_signal.h: arm specific signal registers and stack Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:03 ` Kyle Evans
2021-10-26 6:03 ` Kyle Evans
2021-10-28 16:18 ` Richard Henderson
2021-10-28 16:18 ` Richard Henderson
2021-10-28 16:48 ` Warner Losh
2021-10-28 16:48 ` Warner Losh
2021-10-19 16:44 ` [PATCH 18/24] bsd-user/arm/target_arch_signal.h: arm machine context for signals Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:03 ` Kyle Evans
2021-10-26 6:03 ` Kyle Evans
2021-10-28 17:04 ` Richard Henderson
2021-10-28 17:04 ` Richard Henderson
2021-10-28 17:18 ` Richard Henderson
2021-10-28 17:18 ` Richard Henderson
2021-10-28 20:16 ` Warner Losh
2021-10-28 20:16 ` Warner Losh
2021-10-19 16:44 ` [PATCH 19/24] bsd-user/arm/target_arch_signal.h: arm user context and trapframe " Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:07 ` Kyle Evans
2021-10-26 6:07 ` Kyle Evans
2021-10-27 15:48 ` Warner Losh
2021-10-27 15:48 ` Warner Losh
2021-10-28 17:22 ` Richard Henderson
2021-10-28 17:22 ` Richard Henderson
2021-10-30 2:44 ` Warner Losh
2021-10-30 2:44 ` Warner Losh
2021-10-19 16:44 ` [PATCH 20/24] bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:10 ` Kyle Evans
2021-10-26 6:10 ` Kyle Evans
2021-10-28 17:25 ` Richard Henderson
2021-10-28 17:25 ` Richard Henderson
2021-10-28 17:35 ` Kyle Evans
2021-10-28 17:35 ` Kyle Evans
2021-10-28 22:22 ` Warner Losh
2021-10-28 22:22 ` Warner Losh
2021-10-28 22:41 ` Warner Losh
2021-10-28 22:41 ` Warner Losh
2021-10-30 2:47 ` Warner Losh
2021-10-30 2:47 ` Warner Losh
2021-10-19 16:44 ` [PATCH 21/24] bsd-user/arm/target_arch_signal.h: arm get_mcontext Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:08 ` Kyle Evans
2021-10-26 6:08 ` Kyle Evans
2021-10-28 17:27 ` Richard Henderson
2021-10-28 17:27 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 22/24] bsd-user/arm/target_arch_signal.h: arm set_mcontext Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:12 ` Kyle Evans
2021-10-26 6:12 ` Kyle Evans
2021-10-28 17:53 ` Richard Henderson
2021-10-28 17:53 ` Richard Henderson
2021-10-29 0:07 ` Warner Losh
2021-10-29 0:07 ` Warner Losh
2021-10-29 4:34 ` Warner Losh
2021-10-29 4:34 ` Warner Losh
2021-10-28 17:57 ` Richard Henderson
2021-10-28 17:57 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 23/24] bsd-user/arm/target_arch_signal.h: arm get_ucontext_sigreturn Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:12 ` Kyle Evans
2021-10-26 6:12 ` Kyle Evans
2021-10-28 17:59 ` Richard Henderson
2021-10-28 17:59 ` Richard Henderson
2021-10-19 16:44 ` [PATCH 24/24] bsd-user: add arm target build Warner Losh
2021-10-19 16:44 ` Warner Losh
2021-10-26 6:21 ` Kyle Evans
2021-10-26 6:21 ` Kyle Evans
2021-10-28 18:02 ` Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211019164447.16359-1-imp@bsdimp.com \
--to=imp@bsdimp.com \
--cc=kevans@freebsd.org \
--cc=laurent@vivier.eu \
--cc=mjt@tls.msk.ru \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.