From: Warner Losh <imp@bsdimp.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
arrowd@FreeBSD.org, Kyle Evans <kevans@freebsd.org>,
Richard Henderson <richard.henderson@linaro.org>,
def@FreeBSD.org, jrtc27@FreeBSD.org, Warner Losh <imp@bsdimp.com>,
Brad Smith <brad@comstyle.com>
Subject: [PATCH 00/22] bsd-user: Start upstreaming the system calls.
Date: Tue, 1 Feb 2022 04:14:33 -0700 [thread overview]
Message-ID: <20220201111455.52511-1-imp@bsdimp.com> (raw)
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.
Second, this upstreams the first 9 system calls. It deletes the old
implementation and starts fresh with a new one that pulls some things from the
old, updates some old things, etc. It's easier to understand this way.
Finally, it starts to move some of the ifdef trees into target.h.
Warner Losh (22):
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/freebsd/os-syscall.c: lock_iovec
bsd-user/freebsd/os-syscall.c: unlock_iovec
bsd-user/freebsd/os-syscall.c: Tracing and error boilerplate
bsd-user: introduce target.h
bsd-user: Define target_arg64
bsd-user: Add safe system call macros
bsd-user/bsd-file.h: Add implementations for read, pread, readv and
preadv
bsd-user/bsd-file.h: Meat of the write system calls
bsd-user/freebsd/os-syscall.c: Implement exit
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 | 203 +++++++++++
bsd-user/bsd-proc.h | 43 +++
bsd-user/freebsd/meson.build | 1 +
bsd-user/freebsd/os-syscall.c | 287 +++++++++++++++
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 +-
17 files changed, 773 insertions(+), 742 deletions(-)
create mode 100644 bsd-user/arm/target.h
create mode 100644 bsd-user/bsd-file.h
create mode 100644 bsd-user/bsd-proc.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
next reply other threads:[~2022-02-01 11:47 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-01 11:14 Warner Losh [this message]
2022-02-01 11:14 ` [PATCH 01/22] bsd-user/main.c: Drop syscall flavor arg -bsd Warner Losh
2022-02-01 15:54 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 02/22] bsd-user/x86_64/target_arch_cpu.h: int $80 never was a BSD system call on amd64 Warner Losh
2022-02-01 15:57 ` Richard Henderson
2022-02-01 16:19 ` Kyle Evans
2022-02-01 11:14 ` [PATCH 03/22] bsd-user/x86_64/target_arch_cpu.h: Remove openbsd syscall Warner Losh
2022-02-01 16:22 ` Kyle Evans
2022-02-01 23:13 ` Warner Losh
2022-02-01 17:27 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 04/22] bsd-user/i386/target_arch_cpu.h: " Warner Losh
2022-02-01 16:24 ` Kyle Evans
2022-02-01 17:29 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 05/22] bsd-user/arm/target_arch_cpu.h: Only support FreeBSD sys calls Warner Losh
2022-02-01 16:32 ` Kyle Evans
2022-02-01 23:19 ` Warner Losh
2022-02-01 17:31 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 06/22] bsd-user/arm/target_arch_thread.h: Assume a FreeBSD target Warner Losh
2022-02-01 16:33 ` Kyle Evans
2022-02-01 17:34 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 07/22] bsd-user/x86_64/target_arch_thread.h: " Warner Losh
2022-02-01 16:36 ` Kyle Evans
2022-02-01 17:34 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 08/22] bsd-user: Remove bsd_type Warner Losh
2022-02-01 16:34 ` Kyle Evans
2022-02-01 17:35 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 09/22] bsd-user/freebsd/os-syscall.c: Move syscall processing here Warner Losh
2022-02-01 16:18 ` Kyle Evans
2022-02-01 17:37 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 10/22] bsd-user: Move system call building to os-syscall.c Warner Losh
2022-02-01 17:38 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 11/22] bsd-user/sycall.c: Now obsolete, remove Warner Losh
2022-02-01 16:35 ` Kyle Evans
2022-02-01 17:38 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 12/22] bsd-user/freebsd/os-syscall.c: Add get_errno and host_to_target_errno Warner Losh
2022-02-01 16:35 ` Kyle Evans
2022-02-01 17:39 ` Richard Henderson
2022-02-01 23:27 ` Warner Losh
2022-02-01 11:14 ` [PATCH 13/22] bsd-user/bsd-file.h: Implementation details for the filesystem calls Warner Losh
2022-02-01 16:47 ` Kyle Evans
2022-02-01 17:43 ` Richard Henderson
2022-02-01 23:55 ` Warner Losh
2022-02-26 16:24 ` Warner Losh
2022-02-01 11:14 ` [PATCH 14/22] bsd-user/freebsd/os-syscall.c: lock_iovec Warner Losh
2022-02-01 16:46 ` Kyle Evans
2022-02-01 21:16 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 15/22] bsd-user/freebsd/os-syscall.c: unlock_iovec Warner Losh
2022-02-01 16:37 ` Kyle Evans
2022-02-01 21:29 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 16/22] bsd-user/freebsd/os-syscall.c: Tracing and error boilerplate Warner Losh
2022-02-01 21:31 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 17/22] bsd-user: introduce target.h Warner Losh
2022-02-01 16:39 ` Kyle Evans
2022-02-01 21:32 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 18/22] bsd-user: Define target_arg64 Warner Losh
2022-02-01 16:41 ` Kyle Evans
2022-02-01 21:33 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 19/22] bsd-user: Add safe system call macros Warner Losh
2022-02-01 21:33 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 20/22] bsd-user/bsd-file.h: Add implementations for read, pread, readv and preadv Warner Losh
2022-02-01 21:37 ` Richard Henderson
2022-02-02 3:02 ` Warner Losh
2022-02-01 11:14 ` [PATCH 21/22] bsd-user/bsd-file.h: Meat of the write system calls Warner Losh
2022-02-01 21:38 ` Richard Henderson
2022-02-01 11:14 ` [PATCH 22/22] bsd-user/freebsd/os-syscall.c: Implement exit Warner Losh
2022-02-01 16:48 ` Kyle Evans
2022-02-01 21:39 ` 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=20220201111455.52511-1-imp@bsdimp.com \
--to=imp@bsdimp.com \
--cc=arrowd@FreeBSD.org \
--cc=brad@comstyle.com \
--cc=def@FreeBSD.org \
--cc=jrtc27@FreeBSD.org \
--cc=kevans@freebsd.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.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 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).