All of lore.kernel.org
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: qemu-devel@nongnu.org
Cc: Kyle Evans <kevans@freebsd.org>,
	richard.henderson@linaro.org, f4bug@amsat.org,
	Warner Losh <imp@bsdimp.com>
Subject: [PATCH 11/14] bsd-user/sysarch: Move to using do_freebsd_arch_sysarch interface
Date: Wed, 22 Sep 2021 00:14:35 -0600	[thread overview]
Message-ID: <20210922061438.27645-12-imp@bsdimp.com> (raw)
In-Reply-To: <20210922061438.27645-1-imp@bsdimp.com>

Convert the #ifdef'd i386 code to calling the i386 sysarch code we have
living in i386,x86_64/target_arch_sysarch.h do_freebsd_arch_sysarch
rather than having a separate copy. This is in preparation to remove it
entirely.

Signed-Off-By: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 45 +--------------------------------------------
 1 file changed, 1 insertion(+), 44 deletions(-)

diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index a579d52ede..9bc72501b2 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -91,50 +91,7 @@ static abi_long do_obreak(abi_ulong new_brk)
 #if defined(TARGET_I386)
 static abi_long do_freebsd_sysarch(CPUX86State *env, int op, abi_ulong parms)
 {
-    abi_long ret = 0;
-    abi_ulong val;
-    int idx;
-
-    switch (op) {
-#ifdef TARGET_ABI32
-    case TARGET_FREEBSD_I386_SET_GSBASE:
-    case TARGET_FREEBSD_I386_SET_FSBASE:
-        if (op == TARGET_FREEBSD_I386_SET_GSBASE)
-#else
-    case TARGET_FREEBSD_AMD64_SET_GSBASE:
-    case TARGET_FREEBSD_AMD64_SET_FSBASE:
-        if (op == TARGET_FREEBSD_AMD64_SET_GSBASE)
-#endif
-            idx = R_GS;
-        else
-            idx = R_FS;
-        if (get_user(val, parms, abi_ulong))
-            return -TARGET_EFAULT;
-        cpu_x86_load_seg(env, idx, 0);
-        env->segs[idx].base = val;
-        break;
-#ifdef TARGET_ABI32
-    case TARGET_FREEBSD_I386_GET_GSBASE:
-    case TARGET_FREEBSD_I386_GET_FSBASE:
-        if (op == TARGET_FREEBSD_I386_GET_GSBASE)
-#else
-    case TARGET_FREEBSD_AMD64_GET_GSBASE:
-    case TARGET_FREEBSD_AMD64_GET_FSBASE:
-        if (op == TARGET_FREEBSD_AMD64_GET_GSBASE)
-#endif
-            idx = R_GS;
-        else
-            idx = R_FS;
-        val = env->segs[idx].base;
-        if (put_user(val, parms, abi_ulong))
-            return -TARGET_EFAULT;
-        break;
-    /* XXX handle the others... */
-    default:
-        ret = -TARGET_EINVAL;
-        break;
-    }
-    return ret;
+    do_freebsd_arch_sysarch(env, op, parms);
 }
 #endif
 
-- 
2.32.0



  parent reply	other threads:[~2021-09-22  6:33 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-22  6:14 [PATCH 00/14] bsd-user: misc cleanup for aarch64 import Warner Losh
2021-09-22  6:14 ` [PATCH 01/14] bsd-user/target_os-user.h: Remove support for FreeBSD older than 12.0 Warner Losh
2021-09-22  6:14 ` [PATCH 02/14] bsd-user/strace.list: Remove support for FreeBSD versions " Warner Losh
2021-09-23 17:57   ` Richard Henderson
2021-09-22  6:14 ` [PATCH 03/14] bsd-user: TARGET_RESET define is unused, remove it Warner Losh
2021-09-23 17:57   ` Richard Henderson
2021-09-25 10:30   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 04/14] bsd-user: export get_errno and is_error from syscall.c Warner Losh
2021-09-23 17:58   ` Richard Henderson
2021-09-25 10:33   ` Philippe Mathieu-Daudé
2021-09-26 17:14     ` Warner Losh
2021-09-22  6:14 ` [PATCH 05/14] bsd-user/errno_defs.h: Add internal error numbers Warner Losh
2021-09-23 17:59   ` Richard Henderson
2021-09-22  6:14 ` [PATCH 06/14] bsd-user: move TARGET_MC_GET_CLEAR_RET to target_os_signal.h Warner Losh
2021-09-23 18:00   ` Richard Henderson
2021-09-25 10:35   ` Philippe Mathieu-Daudé
2021-09-26 17:16     ` Warner Losh
2021-09-22  6:14 ` [PATCH 07/14] bsd-user/target_os_elf.h: Remove fallback ELF_HWCAP and reorder Warner Losh
2021-09-23 18:01   ` Richard Henderson
2021-09-25 10:36   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 08/14] bsd-user/target_os_elf: If ELF_HWCAP2 is defined, publish it Warner Losh
2021-09-23 18:01   ` Richard Henderson
2021-09-25 10:37   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 09/14] bsd-user: Remove used from TaskState Warner Losh
2021-09-23 18:02   ` Richard Henderson
2021-09-25 10:38   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 10/14] bsd-user: Add stop_all_tasks Warner Losh
2021-09-23 18:04   ` Richard Henderson
2021-09-22  6:14 ` Warner Losh [this message]
2021-09-23 18:07   ` [PATCH 11/14] bsd-user/sysarch: Move to using do_freebsd_arch_sysarch interface Richard Henderson
2021-09-24 15:25     ` Warner Losh
2021-09-22  6:14 ` [PATCH 12/14] bsd-user/sysarch: Provide a per-arch framework for sysarch syscall Warner Losh
2021-09-23 18:08   ` Richard Henderson
2021-09-25 10:46   ` Philippe Mathieu-Daudé
2021-09-26 17:21     ` Warner Losh
2021-09-22  6:14 ` [PATCH 13/14] bsd-user: Rename sigqueue to qemu_sigqueue Warner Losh
2021-09-23 18:09   ` Richard Henderson
2021-09-25 10:46   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 14/14] bsd-user/signal: Create a dummy signal queueing function Warner Losh
2021-09-23 18:13   ` Richard Henderson
2021-09-24 20:11     ` Warner Losh
2021-09-24 20:30       ` Kyle Evans
2021-09-24 23:51       ` Richard Henderson
2021-09-26 18:14     ` Warner Losh
2021-09-26 18:34       ` Philippe Mathieu-Daudé
2021-09-26 19:00         ` Warner Losh
2021-09-26 19:13           ` Philippe Mathieu-Daudé
2021-09-25 10:50   ` Philippe Mathieu-Daudé
2021-09-25 14:53     ` Warner Losh
2021-09-26  3:06       ` Warner Losh

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=20210922061438.27645-12-imp@bsdimp.com \
    --to=imp@bsdimp.com \
    --cc=f4bug@amsat.org \
    --cc=kevans@freebsd.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.