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: [PULL 04/16] bsd-user/i386/target_arch_cpu.h: Remove openbsd syscall
Date: Mon, 28 Feb 2022 11:12:02 -0700 [thread overview]
Message-ID: <20220228181214.2602-5-imp@bsdimp.com> (raw)
In-Reply-To: <20220228181214.2602-1-imp@bsdimp.com>
This doesn't build on openbsd at the moment, and this could
should arguably be in bsd-user/*bsd/i386 somewhere. Until
we refactor to support OpenBSD/NetBSD again, drop it here.
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/i386/target_arch_cpu.h | 84 +++++++++++++++------------------
1 file changed, 37 insertions(+), 47 deletions(-)
diff --git a/bsd-user/i386/target_arch_cpu.h b/bsd-user/i386/target_arch_cpu.h
index 3cbf69d8af2..9da22202d48 100644
--- a/bsd-user/i386/target_arch_cpu.h
+++ b/bsd-user/i386/target_arch_cpu.h
@@ -116,55 +116,45 @@ static inline void target_cpu_loop(CPUX86State *env)
process_queued_cpu_work(cs);
switch (trapnr) {
- case 0x80:
+ case 0x80: {
/* syscall from int $0x80 */
- if (bsd_type == target_freebsd) {
- abi_ulong params = (abi_ulong) env->regs[R_ESP] +
- sizeof(int32_t);
- int32_t syscall_nr = env->regs[R_EAX];
- int32_t arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8;
-
- if (syscall_nr == TARGET_FREEBSD_NR_syscall) {
- get_user_s32(syscall_nr, params);
- params += sizeof(int32_t);
- } else if (syscall_nr == TARGET_FREEBSD_NR___syscall) {
- get_user_s32(syscall_nr, params);
- params += sizeof(int64_t);
- }
- get_user_s32(arg1, params);
- params += sizeof(int32_t);
- get_user_s32(arg2, params);
- params += sizeof(int32_t);
- get_user_s32(arg3, params);
- params += sizeof(int32_t);
- get_user_s32(arg4, params);
- params += sizeof(int32_t);
- get_user_s32(arg5, params);
- params += sizeof(int32_t);
- get_user_s32(arg6, params);
- params += sizeof(int32_t);
- get_user_s32(arg7, params);
+ abi_ulong params = (abi_ulong) env->regs[R_ESP] +
+ sizeof(int32_t);
+ int32_t syscall_nr = env->regs[R_EAX];
+ int32_t arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8;
+
+ if (syscall_nr == TARGET_FREEBSD_NR_syscall) {
+ get_user_s32(syscall_nr, params);
params += sizeof(int32_t);
- get_user_s32(arg8, params);
- env->regs[R_EAX] = do_freebsd_syscall(env,
- syscall_nr,
- arg1,
- arg2,
- arg3,
- arg4,
- arg5,
- arg6,
- arg7,
- arg8);
- } else { /* if (bsd_type == target_openbsd) */
- env->regs[R_EAX] = do_openbsd_syscall(env,
- env->regs[R_EAX],
- env->regs[R_EBX],
- env->regs[R_ECX],
- env->regs[R_EDX],
- env->regs[R_ESI],
- env->regs[R_EDI],
- env->regs[R_EBP]);
+ } else if (syscall_nr == TARGET_FREEBSD_NR___syscall) {
+ get_user_s32(syscall_nr, params);
+ params += sizeof(int64_t);
+ }
+ get_user_s32(arg1, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg2, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg3, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg4, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg5, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg6, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg7, params);
+ params += sizeof(int32_t);
+ get_user_s32(arg8, params);
+ env->regs[R_EAX] = do_freebsd_syscall(env,
+ syscall_nr,
+ arg1,
+ arg2,
+ arg3,
+ arg4,
+ arg5,
+ arg6,
+ arg7,
+ arg8);
}
if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
env->regs[R_EAX] = -env->regs[R_EAX];
--
2.33.1
next prev parent reply other threads:[~2022-02-28 18:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-28 18:11 [PULL 00/16] Bsd user preen 2022q1 patches Warner Losh
2022-02-28 18:11 ` [PULL 01/16] bsd-user/main.c: Drop syscall flavor arg -bsd Warner Losh
2022-02-28 18:12 ` [PULL 02/16] bsd-user/x86_64/target_arch_cpu.h: int $80 never was a BSD system call on amd64 Warner Losh
2022-02-28 18:12 ` [PULL 03/16] bsd-user/x86_64/target_arch_cpu.h: Remove openbsd syscall Warner Losh
2022-02-28 18:12 ` Warner Losh [this message]
2022-02-28 18:12 ` [PULL 05/16] bsd-user/arm/target_arch_cpu.h: Only support FreeBSD sys calls Warner Losh
2022-02-28 18:12 ` [PULL 06/16] bsd-user/arm/target_arch_thread.h: Assume a FreeBSD target Warner Losh
2022-02-28 18:12 ` [PULL 07/16] bsd-user/x86_64/target_arch_thread.h: " Warner Losh
2022-02-28 18:12 ` [PULL 08/16] bsd-user: Remove bsd_type Warner Losh
2022-02-28 18:12 ` [PULL 09/16] bsd-user/freebsd/os-syscall.c: Move syscall processing here Warner Losh
2022-02-28 18:12 ` [PULL 10/16] bsd-user: Move system call building to os-syscall.c Warner Losh
2022-02-28 18:12 ` [PULL 11/16] bsd-user/sycall.c: Now obsolete, remove Warner Losh
2022-02-28 18:12 ` [PULL 12/16] bsd-user/freebsd/os-syscall.c: Add get_errno and host_to_target_errno Warner Losh
2022-02-28 18:12 ` [PULL 13/16] bsd-user/bsd-file.h: Implementation details for the filesystem calls Warner Losh
2022-02-28 18:12 ` [PULL 14/16] bsd-user: introduce target.h Warner Losh
2022-02-28 18:12 ` [PULL 15/16] bsd-user: Define target_arg64 Warner Losh
2022-02-28 18:12 ` [PULL 16/16] bsd-user: Add safe system call macros Warner Losh
2022-03-02 10:45 ` [PULL 00/16] Bsd user preen 2022q1 patches Peter Maydell
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=20220228181214.2602-5-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 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.