[PATCH v2 00/16] bsd-user: Start upstreaming the system calls.

Warner Losh posted 16 patches 2 years, 2 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220226170744.76615-1-imp@bsdimp.com
Maintainers: Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>
bsd-user/arm/target.h                |  21 ++
bsd-user/arm/target_arch_cpu.h       | 139 ++++----
bsd-user/arm/target_arch_thread.h    |   4 +-
bsd-user/bsd-file.h                  |  30 ++
bsd-user/freebsd/meson.build         |   1 +
bsd-user/freebsd/os-syscall.c        |  92 +++++
bsd-user/i386/target.h               |  21 ++
bsd-user/i386/target_arch_cpu.h      |  84 ++---
bsd-user/main.c                      |  14 -
bsd-user/meson.build                 |   1 -
bsd-user/qemu.h                      |  24 +-
bsd-user/syscall.c                   | 516 ---------------------------
bsd-user/syscall_defs.h              |  47 +++
bsd-user/x86_64/target.h             |  21 ++
bsd-user/x86_64/target_arch_cpu.h    |  85 +----
bsd-user/x86_64/target_arch_thread.h |   4 +-
16 files changed, 362 insertions(+), 742 deletions(-)
create mode 100644 bsd-user/arm/target.h
create mode 100644 bsd-user/bsd-file.h
create mode 100644 bsd-user/freebsd/os-syscall.c
create mode 100644 bsd-user/i386/target.h
delete mode 100644 bsd-user/syscall.c
create mode 100644 bsd-user/x86_64/target.h
[PATCH v2 00/16] bsd-user: Start upstreaming the system calls.
Posted by Warner Losh 2 years, 2 months ago
This series of patches does two things. First, it starts to give up on the idea
that you can run FooBSD binaries on BarBSD. They are too different to make that
happen any time soon, though I've kept the support for Net/OpenBSD, even though
they haven't built. We'll need a lot of work to make that happen, though, and
I need to simplify to get things upstream.

Finally, it starts to move some of the ifdef trees into target.h.

This is pared back a little from the first patch series: the reimplemented
syscall patches depend on hunks that need to be reworked and there won't
be enough time to do that before the freeze, so I plan on submitting the
completed items to simplify bookkeeping on my end.

Only "bsd-user/bsd-file.h: Implementation details for the filesystem calls"
lacks a review at this point.

Warner Losh (16):
  bsd-user/main.c: Drop syscall flavor arg -bsd
  bsd-user/x86_64/target_arch_cpu.h: int $80 never was a BSD system call
    on amd64
  bsd-user/x86_64/target_arch_cpu.h: Remove openbsd syscall
  bsd-user/i386/target_arch_cpu.h: Remove openbsd syscall
  bsd-user/arm/target_arch_cpu.h: Only support FreeBSD sys calls
  bsd-user/arm/target_arch_thread.h: Assume a FreeBSD target
  bsd-user/x86_64/target_arch_thread.h: Assume a FreeBSD target
  bsd-user: Remove bsd_type
  bsd-user/freebsd/os-syscall.c: Move syscall processing here
  bsd-user: Move system call building to os-syscall.c
  bsd-user/sycall.c: Now obsolete, remove
  bsd-user/freebsd/os-syscall.c: Add get_errno and host_to_target_errno
  bsd-user/bsd-file.h: Implementation details for the filesystem calls
  bsd-user: introduce target.h
  bsd-user: Define target_arg64
  bsd-user: Add safe system call macros

 bsd-user/arm/target.h                |  21 ++
 bsd-user/arm/target_arch_cpu.h       | 139 ++++----
 bsd-user/arm/target_arch_thread.h    |   4 +-
 bsd-user/bsd-file.h                  |  30 ++
 bsd-user/freebsd/meson.build         |   1 +
 bsd-user/freebsd/os-syscall.c        |  92 +++++
 bsd-user/i386/target.h               |  21 ++
 bsd-user/i386/target_arch_cpu.h      |  84 ++---
 bsd-user/main.c                      |  14 -
 bsd-user/meson.build                 |   1 -
 bsd-user/qemu.h                      |  24 +-
 bsd-user/syscall.c                   | 516 ---------------------------
 bsd-user/syscall_defs.h              |  47 +++
 bsd-user/x86_64/target.h             |  21 ++
 bsd-user/x86_64/target_arch_cpu.h    |  85 +----
 bsd-user/x86_64/target_arch_thread.h |   4 +-
 16 files changed, 362 insertions(+), 742 deletions(-)
 create mode 100644 bsd-user/arm/target.h
 create mode 100644 bsd-user/bsd-file.h
 create mode 100644 bsd-user/freebsd/os-syscall.c
 create mode 100644 bsd-user/i386/target.h
 delete mode 100644 bsd-user/syscall.c
 create mode 100644 bsd-user/x86_64/target.h

-- 
2.33.1