qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/29] bsd-user: arm (32-bit) support
@ 2021-11-04 14:05 Warner Losh
  2021-11-04 14:05 ` [PATCH v3 01/29] bsd-user/arm/target_arch_sysarch.h: Use consistent include guards Warner Losh
                   ` (28 more replies)
  0 siblings, 29 replies; 37+ messages in thread
From: Warner Losh @ 2021-11-04 14:05 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-trivial, Kyle Evans, Michael Tokarev, Laurent Vivier,
	Philippe Mathieu-Daude, Richard Henderson, Warner Losh

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. The arm and x86
code are now the same as in the bsd-user fork. For full context, the fork is at
https://github.com/qemu-bsd-user/qemu-bsd-user/tree/blitz (though the the recent
sig{bus,segv} needed updates are incomplete).

V3 addresses review comments:
   o Update target_arch_cpu.h to remove bogus unaligned check and notyet code.
   o Fixed target_thread_init to match FreeBSD's startup code and remove the
     cut-n-paste code from Linux's startup. Add comments.
   o Fixed various bugs with setting CPSR unaddressed from patch comments on v1
   o Use #defines instead of bare constants for user mode.

Following still need reviews:
    bsd-user/arm/target_arch_signal.h: arm machine context for signals
    bsd-user/arm/target_arch_cpu.h: Implement trivial EXCP exceptions

Warnings that should be ignored:
   o make checkpatch has a couple of complaints about the comments for the
     signal trampoline, since it's a false positive IMHO.
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

Warner Losh (29):
  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: Implement 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/freebsd: Create common target_os_ucontext.h file
  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/i386/target_arch_signal.h: Remove target_sigcontext
  bsd-user/x86_64/target_arch_signal.h: Remove target_sigcontext
  bsd-user/i386/target_arch_signal.h: use new target_os_ucontext.h
  bsd-user/x86_64/target_arch_signal.h: use new target_os_ucontext.h

 bsd-user/arm/target_arch.h            |  28 +++
 bsd-user/arm/target_arch_cpu.c        |  39 ++++
 bsd-user/arm/target_arch_cpu.h        | 211 +++++++++++++++++++++
 bsd-user/arm/target_arch_elf.h        | 128 +++++++++++++
 bsd-user/arm/target_arch_reg.h        |  60 ++++++
 bsd-user/arm/target_arch_signal.h     | 258 ++++++++++++++++++++++++++
 bsd-user/arm/target_arch_sigtramp.h   |  49 +++++
 bsd-user/arm/target_arch_sysarch.h    |   6 +-
 bsd-user/arm/target_arch_thread.h     |  82 ++++++++
 bsd-user/arm/target_arch_vmparam.h    |  48 +++++
 bsd-user/arm/target_syscall.h         |  27 ++-
 bsd-user/freebsd/target_os_signal.h   |   3 -
 bsd-user/freebsd/target_os_ucontext.h |  26 +++
 bsd-user/i386/target_arch_signal.h    |  13 +-
 bsd-user/x86_64/target_arch_signal.h  |  13 +-
 configs/targets/arm-bsd-user.mak      |   2 +
 16 files changed, 959 insertions(+), 34 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 bsd-user/freebsd/target_os_ucontext.h
 create mode 100644 configs/targets/arm-bsd-user.mak

-- 
2.33.0



^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2021-11-05  0:01 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-04 14:05 [PATCH v3 00/29] bsd-user: arm (32-bit) support Warner Losh
2021-11-04 14:05 ` [PATCH v3 01/29] bsd-user/arm/target_arch_sysarch.h: Use consistent include guards Warner Losh
2021-11-04 14:05 ` [PATCH v3 02/29] bsd-user/arm/target_syscall.h: Add copyright and update name Warner Losh
2021-11-04 14:05 ` [PATCH v3 03/29] bsd-user/arm/target_arch_cpu.c: Target specific TLS routines Warner Losh
2021-11-04 14:05 ` [PATCH v3 04/29] bsd-user/arm/target_arch_cpu.h: CPU Loop definitions Warner Losh
2021-11-04 14:05 ` [PATCH v3 05/29] bsd-user/arm/target_arch_cpu.h: Implement target_cpu_clone_regs Warner Losh
2021-11-04 14:05 ` [PATCH v3 06/29] bsd-user/arm/target_arch_cpu.h: Dummy target_cpu_loop implementation Warner Losh
2021-11-04 14:05 ` [PATCH v3 07/29] bsd-user/arm/target_arch_cpu.h: Implement trivial EXCP exceptions Warner Losh
2021-11-04 17:44   ` Richard Henderson
2021-11-04 14:05 ` [PATCH v3 08/29] bsd-user/arm/target_arch_cpu.h: Implement data abort exceptions Warner Losh
2021-11-04 14:05 ` [PATCH v3 09/29] bsd-user/arm/target_arch_cpu.h: Implement system call dispatch Warner Losh
2021-11-04 14:05 ` [PATCH v3 10/29] bsd-user/arm/target_arch_reg.h: Implement core dump register copying Warner Losh
2021-11-04 14:05 ` [PATCH v3 11/29] bsd-user/arm/target_arch_vmparam.h: Parameters for arm address space Warner Losh
2021-11-04 14:05 ` [PATCH v3 12/29] bsd-user/arm/target_arch_sigtramp.h: Signal Trampoline for arm Warner Losh
2021-11-04 14:05 ` [PATCH v3 13/29] bsd-user/arm/target_arch_thread.h: Routines to create and switch to a thread Warner Losh
2021-11-04 14:05 ` [PATCH v3 14/29] bsd-user/arm/target_arch_elf.h: arm defines for ELF Warner Losh
2021-11-04 14:05 ` [PATCH v3 15/29] bsd-user/arm/target_arch_elf.h: arm get hwcap Warner Losh
2021-11-04 14:05 ` [PATCH v3 16/29] bsd-user/arm/target_arch_elf.h: arm get_hwcap2 impl Warner Losh
2021-11-04 14:05 ` [PATCH v3 17/29] bsd-user/freebsd: Create common target_os_ucontext.h file Warner Losh
2021-11-04 14:05 ` [PATCH v3 18/29] bsd-user/arm/target_arch_signal.h: arm specific signal registers and stack Warner Losh
2021-11-04 14:05 ` [PATCH v3 19/29] bsd-user/arm/target_arch_signal.h: arm machine context for signals Warner Losh
2021-11-04 17:48   ` Richard Henderson
2021-11-04 17:58     ` Warner Losh
2021-11-04 18:26       ` Warner Losh
2021-11-04 20:56       ` Warner Losh
2021-11-04 14:05 ` [PATCH v3 20/29] bsd-user/arm/target_arch_signal.h: arm user context and trapframe " Warner Losh
2021-11-04 14:05 ` [PATCH v3 21/29] bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args Warner Losh
2021-11-04 14:05 ` [PATCH v3 22/29] bsd-user/arm/target_arch_signal.h: arm get_mcontext Warner Losh
2021-11-04 14:05 ` [PATCH v3 23/29] bsd-user/arm/target_arch_signal.h: arm set_mcontext Warner Losh
2021-11-04 18:41   ` Richard Henderson
2021-11-04 23:59     ` Warner Losh
2021-11-04 14:05 ` [PATCH v3 24/29] bsd-user/arm/target_arch_signal.h: arm get_ucontext_sigreturn Warner Losh
2021-11-04 14:05 ` [PATCH v3 25/29] bsd-user: add arm target build Warner Losh
2021-11-04 14:05 ` [PATCH v3 26/29] bsd-user/i386/target_arch_signal.h: Remove target_sigcontext Warner Losh
2021-11-04 14:05 ` [PATCH v3 27/29] bsd-user/x86_64/target_arch_signal.h: " Warner Losh
2021-11-04 14:05 ` [PATCH v3 28/29] bsd-user/i386/target_arch_signal.h: use new target_os_ucontext.h Warner Losh
2021-11-04 14:05 ` [PATCH v3 29/29] bsd-user/x86_64/target_arch_signal.h: " Warner Losh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).