Oh, I see you've uploaded an improved version of the patches, with the
fixes I'd
recommended. I'll queue that series instead.

Warner

On Fri, Apr 21, 2023 at 10:58 AM Karim Taha <kariem.taha...@gmail.com>
wrote:

> From: Warner Losh <i...@bsdimp.com>
>
> Add the dispatching code of bind(2),connect(2), accpet(2), getpeername(2).
>
> Add the bind(2), connect(2), accept(2), getpeername(2) syscalls case
> statements to freebsd_syscall function defined in
> bsd-user/freebsd/os-syscall.c
>
> Signed-off-by: Warner Losh <i...@bsdimp.com>
> Signed-off-by: Karim Taha <kariem.taha...@gmail.com>
> ---
>  bsd-user/freebsd/os-syscall.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
> index c8f998ecec..7f29196a05 100644
> --- a/bsd-user/freebsd/os-syscall.c
> +++ b/bsd-user/freebsd/os-syscall.c
> @@ -44,6 +44,8 @@
>  #include "signal-common.h"
>  #include "user/syscall-trace.h"
>
> +/* BSD independent syscall shims */
> +#include "bsd-socket.h"
>  #include "bsd-file.h"
>  #include "bsd-proc.h"
>
> @@ -508,6 +510,25 @@ static abi_long freebsd_syscall(void *cpu_env, int
> num, abi_long arg1,
>          ret = do_freebsd_sysarch(cpu_env, arg1, arg2);
>          break;
>
> +        /*
> +         * socket related system calls
> +         */
> +    case TARGET_FREEBSD_NR_accept: /* accept(2) */
> +        ret = do_bsd_accept(arg1, arg2, arg3);
> +        break;
> +
> +    case TARGET_FREEBSD_NR_bind: /* bind(2) */
> +        ret = do_bsd_bind(arg1, arg2, arg3);
> +        break;
> +
> +    case TARGET_FREEBSD_NR_connect: /* connect(2) */
> +        ret = do_bsd_connect(arg1, arg2, arg3);
> +        break;
> +
> +    case TARGET_FREEBSD_NR_getpeername: /* getpeername(2) */
> +        ret = do_bsd_getpeername(arg1, arg2, arg3);
> +        break;
> +
>      default:
>          qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
>          ret = -TARGET_ENOSYS;
> --
> 2.40.0
>
>

Reply via email to