qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 03/22] bsd-user/x86_64/target_arch_cpu.h: Remove openbsd sysc


From: Kyle Evans
Subject: Re: [PATCH 03/22] bsd-user/x86_64/target_arch_cpu.h: Remove openbsd syscall
Date: Tue, 1 Feb 2022 10:22:46 -0600

On Tue, Feb 1, 2022 at 5:14 AM Warner Losh <imp@bsdimp.com> wrote:
>
> This doesn't build on openbsd at the moment, and this could
> should arguably be in bsd-user/*bsd/x86_64 somewhere. Until
> we refactor to support OpenBSD/NetBSD again, drop it here.
>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> ---
>  bsd-user/x86_64/target_arch_cpu.h | 27 ++++++++-------------------
>  1 file changed, 8 insertions(+), 19 deletions(-)
>

Reviewed-by: Kyle Evans <kevans@FreeBSD.org>

As a general comment, I'd like to reach out to the others at some
point and gauge interest/ability to participate, but I definitely
agree that it would be better to drop !FreeBSD for now to simplify
upcoming improvements to the common core. I'm not aware of any other
forks that have tried to maintain bsd-user on their platforms.

> diff --git a/bsd-user/x86_64/target_arch_cpu.h 
> b/bsd-user/x86_64/target_arch_cpu.h
> index 9dc52d5afc4..5be2f02416e 100644
> --- a/bsd-user/x86_64/target_arch_cpu.h
> +++ b/bsd-user/x86_64/target_arch_cpu.h
> @@ -126,25 +126,14 @@ static inline void target_cpu_loop(CPUX86State *env)
>          switch (trapnr) {
>          case EXCP_SYSCALL:
>              /* syscall from syscall instruction */
> -            if (bsd_type == target_freebsd) {
> -                env->regs[R_EAX] = do_freebsd_syscall(env,
> -                                                      env->regs[R_EAX],
> -                                                      env->regs[R_EDI],
> -                                                      env->regs[R_ESI],
> -                                                      env->regs[R_EDX],
> -                                                      env->regs[R_ECX],
> -                                                      env->regs[8],
> -                                                      env->regs[9], 0, 0);
> -            } else { /* if (bsd_type == target_openbsd) */
> -                env->regs[R_EAX] = do_openbsd_syscall(env,
> -                                                      env->regs[R_EAX],
> -                                                      env->regs[R_EDI],
> -                                                      env->regs[R_ESI],
> -                                                      env->regs[R_EDX],
> -                                                      env->regs[10],
> -                                                      env->regs[8],
> -                                                      env->regs[9]);
> -            }
> +            env->regs[R_EAX] = do_freebsd_syscall(env,
> +                                                  env->regs[R_EAX],
> +                                                  env->regs[R_EDI],
> +                                                  env->regs[R_ESI],
> +                                                  env->regs[R_EDX],
> +                                                  env->regs[R_ECX],
> +                                                  env->regs[8],
> +                                                  env->regs[9], 0, 0);
>              env->eip = env->exception_next_eip;
>              if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
>                  env->regs[R_EAX] = -env->regs[R_EAX];
> --
> 2.33.1
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]