From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096329; cv=none; d=zohomail.com; s=zohoarc; b=S8tzeFXQSd8R41gi7+05QSetTHbbx30QoCB3pfxuSCWlU74+hcN7wJk6fMO5NOXxL5E12eSyX7XUIZB4+uO3rkdip/2m5VilYJ5NPFIBm1/s6m0ff2H1sMaR84yapgce1DgNxmjujOi8sC+8nPrkT8ho1o1XYIiVX9r8Jrrmup0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096329; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FcKaqIO+2yqGM+rJOuBgSU4ZMdY5iMgVYPogZXLQ3NQ=; b=R8mrlmrnMor+YfKldTPJ8qs3OB6vcLLLKc80bilLI9ZiwDhPMmjyofE3IbVE540L9lmjS5a7Ng9V/LhF0jqsGKoaHhJZVQPhGiSgozSJEnekBHgtUt+aaoorf2RBXnF4GejCHepnXIB3rzDRFTOI8plceZkyVJ51rlamW6Ezfqk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096329850704.2751748143905; Fri, 21 Apr 2023 09:58:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu4m-0000Ll-O8; Fri, 21 Apr 2023 12:57:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu4l-0000Fo-D1 for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:35 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu4j-0005VI-Qq for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:35 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-2f625d52275so1895057f8f.3 for ; Fri, 21 Apr 2023 09:57:33 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096252; x=1684688252; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FcKaqIO+2yqGM+rJOuBgSU4ZMdY5iMgVYPogZXLQ3NQ=; b=X4dkG0+1SawOj83+wi/ZWE57unyToakduhMEe/PEIczfn/HCGKsOtKubwO36IoD74z X2hJaIfXNEznDbKf0dQX/8Ow6DtJwprbnGQNNLzkA90NouiKXLVmsGdBPyfgMNcwOpai uk3Z/g7W5ykf4i8w1E/wvknKXm4e6b9OlW9E3nEne7zi+E9bDsC2MYTELWSCoQGKGyPK yXd01/QlUe40ZQWjyN7VdPn/d1gUQqRL2BzwEW0znBpXIKkizBUx5yf/Xp4pDoNsqQ+M sX3fmc4ijNmPw1LX9VzZXt6pMr+4pUppa2rKlijJQ+gR6M1mpNL1S75IDl1aoQbemZZ1 MB6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096252; x=1684688252; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FcKaqIO+2yqGM+rJOuBgSU4ZMdY5iMgVYPogZXLQ3NQ=; b=MYEV/kFB+RIwRB9It7i6fPqHE/HwdbVoiqvPHT6ZLegWreS8HsPNTBJRXPZqFNGaYW tMQ7xOCTfjDJ3BYCyhtBPMzeOCI2lhSG8LefMFsJo9ckEMXd8wazXBZJI2uLTas5CLaR +fWVUKBD3tjYyg7YVAhgYxCbhCcUhJ5iCJvuA+uSH5CrA6H/JTiBgX7gVEtZXt3Puzr4 h5ZLitoaVupfRwkhgb0Z+B1yIhJabOVnubeVuydrbR7GbLTIc/+SEdNdcjTDOASbjzwz pB4UFIZke57y3Qg6EYFxE4O3co4ZqrmmKcbuqMYvu90peXGG3CQQo4ER7EKWAEsk/j5o /Veg== X-Gm-Message-State: AAQBX9f75RYbHlRxsvFwvAJzGFwCwE7ejzjRyPwts1MBWm7354SKtsDP j/3G5nZo/vY03azYPisy7cZ1mYPpoII= X-Google-Smtp-Source: AKy350auggM/D9AoklobN9zMdyADHU9v8N66TxFcSY2h70nr0bqXe3280ZnApTWlRlWX3vqKw7bwrw== X-Received: by 2002:adf:cc88:0:b0:2f6:25a6:9788 with SMTP id p8-20020adfcc88000000b002f625a69788mr4176132wrj.35.1682096251930; Fri, 21 Apr 2023 09:57:31 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha Subject: [PATCH v4 01/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:41 +0200 Message-Id: <20230421165351.3177-2-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096331849100003 Content-Type: text/plain; charset="utf-8" From: Warner Losh Intialize guest_base in bsd-user/main.c. Allow guest_base to be initialized on 64-bit hosts, the initial value is us= ed by g2h_untagged function defined in include/exec/cpu_ldst.h Signed-off-by: Warner Losh Signed-off-by: Karim Taha --- bsd-user/main.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/bsd-user/main.c b/bsd-user/main.c index babc3b009b..afdc1b5f3c 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -50,8 +50,22 @@ #include "target_arch_cpu.h" =20 int singlestep; -uintptr_t guest_base; + +/* + * Going hand in hand with the va space needed (see below), we need + * to find a host address to map the guest to. Assume that qemu + * itself doesn't need memory above 32GB (or that we don't collide + * with anything interesting). This is selected rather arbitrarily, + * but seems to produce good results in tests to date. + */ +# if HOST_LONG_BITS >=3D 64 +uintptr_t guest_base =3D 0x800000000ul; /* at 32GB */ +bool have_guest_base =3D true; +#else +uintptr_t guest_base; /* TODO: use sysctl to find big enough hole */ bool have_guest_base; +#endif + /* * When running 32-on-64 we should make sure we can fit all of the possible * guest address space into a contiguous chunk of virtual host memory. --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096376; cv=none; d=zohomail.com; s=zohoarc; b=dEuAKeYoAC7iCLg+yoUAZnUAJ2wWuQzjLxiRddgupMgirQSHG8cRDJmCMfSVWPJaoilQZ0SiUTCjKRmV6oiLGcN/QUSFOaxhXuF/dgxSo15CbXZcrxf+HBQkJkohxo3uR0HLsFL3W43vfWILtCvTCS3/Wa2alWaVvhZBTdLRXxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096376; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gSXaJsZJunT+Fies3HARLOgR6DwgVravWhfjzYuHtvc=; b=SoesEVrGfzylZya8lZZ1SLQF4OQrhbFnsTMx0jbaaj94z3lsD4qgBipinnTg6ECnheJgJADHHmlqjwsRyuLkAt8h7hW1l+3SyweTMRYIpcI0HAATYCNOyhM9tfmhRO6DUcfqRT2mTqfhfl+Dl3U1vxh4geXiOiRO2AF7TjKSttU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096376047455.25111621280587; Fri, 21 Apr 2023 09:59:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu4s-0000Rn-5X; Fri, 21 Apr 2023 12:57:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu4q-0000RQ-QR for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:40 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu4p-0005WT-7w for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:40 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3f18335a870so13371925e9.0 for ; Fri, 21 Apr 2023 09:57:38 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096257; x=1684688257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gSXaJsZJunT+Fies3HARLOgR6DwgVravWhfjzYuHtvc=; b=UiqRBIZYqmiUue0/MfKPGOlqaiC3xi1/hfgukhj6dJRWXT7TBAHpSJb6e6ApNqvQZX 7IrXdwbD6A7tUFHMPJl00BBRE0sZ/dPyah9294+FaMFEdx/SBexPYJhqpX1M011BsAi6 dYPr1TuNYFdg0Frb7hqdXUaSYE9i+Dl+tyfacfwbfCEVaraEHgKY7LnJLm2xcV2m7Okz JZ6YFs3X5LQiKGLrnXAlBrMWb7ILrNAHnblQHlEcwlCsv8aYDec7uVG7AXHQYFprcai3 Ti+rS3klSpWyUT5v7Eq3ti/N3WANGb/jAQJfu423l52rvSg6+253DvRwZ1DFK3CF7thP DSSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096257; x=1684688257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gSXaJsZJunT+Fies3HARLOgR6DwgVravWhfjzYuHtvc=; b=FslZoVCywpJaNdy21/3WHrShyJeT9Bb5Pqgz2YGEiqb2ToDuCcnqQV44lUioLaV/wu IXNlSDjnC9ez9zsk02T9ZKhN4Asfo1a00nDg8ZGKq9FNujWl97Vi3C1z0XNoPLaQdC4o OO2mXo4UhRd2xXyiegsdgJlODrbSAkn2+G31JzvtqqwmtRP7hEX9oGjbSYDzurJEMNGM HZa/zvIapFjA//Tsh6utG/i1K1lO6W9CvOPwd4qRTnKhhnjQxhAH2+LMZ43huoLJ6uHl MzenhMBogoJQAAIS0quNT0pr8KhHP1VbNXzo0m06Xk6F7gPRCou96zAG4PYa6zsDLU1a yNjw== X-Gm-Message-State: AAQBX9dERkMOiHD6eOP+4uMLWxbsc8mlQMvLjRf/liRmJMeDd+dJEi5K D6KjJ0WeU6hGhuNWh4JCMQqrebo5XEY= X-Google-Smtp-Source: AKy350ZHnl/QSOTBIwmWNWTfP77q0Rzn2TUoYdILsasHW9HfiN3xQaebzVFS2MZ8bEzbD/joR6FHpQ== X-Received: by 2002:a7b:cbd9:0:b0:3f1:94fe:65e2 with SMTP id n25-20020a7bcbd9000000b003f194fe65e2mr1751458wmi.33.1682096257519; Fri, 21 Apr 2023 09:57:37 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 02/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:42 +0200 Message-Id: <20230421165351.3177-3-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096377271100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Add the socket conversion related flags and structs. Add the relevant definitions of struct target_sockaddr and struct target_ip_mreq and the related flags, to be used in bsd-user/bsd-socket.c for the socket conversion functions: target_to_host_sockaddr, host_to_target_sockaddr, target_to_host_ip_mreq Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/syscall_defs.h | 110 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index b6d113d24a..f041245792 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -179,6 +179,116 @@ struct target_freebsd__wrusage { struct target_freebsd_rusage wru_children; }; =20 +/* + * sys/socket.h + */ + +/* + * Types + */ +#define TARGET_SOCK_STREAM 1 /* stream socket */ +#define TARGET_SOCK_DGRAM 2 /* datagram socket */ +#define TARGET_SOCK_RAW 3 /* raw-protocol interface */ +#define TARGET_SOCK_RDM 4 /* reliably-delivered message */ +#define TARGET_SOCK_SEQPACKET 5 /* sequenced packet stream */ + + +/* + * Option flags per-socket. + */ + +#define TARGET_SO_DEBUG 0x0001 /* turn on debugging info recordin= g */ +#define TARGET_SO_ACCEPTCONN 0x0002 /* socket has had listen() */ +#define TARGET_SO_REUSEADDR 0x0004 /* allow local address reuse */ +#define TARGET_SO_KEEPALIVE 0x0008 /* keep connections alive */ +#define TARGET_SO_DONTROUTE 0x0010 /* just use interface addresses */ +#define TARGET_SO_BROADCAST 0x0020 /* permit sending of broadcast msg= s */ +#define TARGET_SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ +#define TARGET_SO_LINGER 0x0080 /* linger on close if data present= */ +#define TARGET_SO_OOBINLINE 0x0100 /* leave received OOB data in line= */ +#define TARGET_SO_REUSEPORT 0x0200 /* allow local address & port reus= e */ +#define TARGET_SO_TIMESTAMP 0x0400 /* timestamp received dgram traffi= c */ +#define TARGET_SO_NOSIGPIPE 0x0800 /* no SIGPIPE from EPIPE */ +#define TARGET_SO_ACCEPTFILTER 0x1000 /* there is an accept filter */ +#define TARGET_SO_BINTIME 0x2000 /* timestamp received dgram traffi= c */ +#define TARGET_SO_NO_OFFLOAD 0x4000 /* socket cannot be offloaded */ +#define TARGET_SO_NO_DDP 0x8000 /* disable direct data placement */ + +/* + * Additional options, not kept in so_options. + */ +#define TARGET_SO_SNDBUF 0x1001 /* send buffer size */ +#define TARGET_SO_RCVBUF 0x1002 /* receive buffer size */ +#define TARGET_SO_SNDLOWAT 0x1003 /* send low-water mark */ +#define TARGET_SO_RCVLOWAT 0x1004 /* receive low-water mark */ +#define TARGET_SO_SNDTIMEO 0x1005 /* send timeout */ +#define TARGET_SO_RCVTIMEO 0x1006 /* receive timeout */ +#define TARGET_SO_ERROR 0x1007 /* get error status and clear */ +#define TARGET_SO_TYPE 0x1008 /* get socket type */ +#define TARGET_SO_LABEL 0x1009 /* socket's MAC label */ +#define TARGET_SO_PEERLABEL 0x1010 /* socket's peer's MAC label */ +#define TARGET_SO_LISTENQLIMIT 0x1011 /* socket's backlog limit */ +#define TARGET_SO_LISTENQLEN 0x1012 /* socket's complete queue length = */ +#define TARGET_SO_LISTENINCQLEN 0x1013 /* socket's incomplete queue lengt= h */ +#define TARGET_SO_SETFIB 0x1014 /* use this FIB to route */ +#define TARGET_SO_USER_COOKIE 0x1015 /* user cookie (dummynet etc.) */ +#define TARGET_SO_PROTOCOL 0x1016 /* get socket protocol (Linux name= ) */ + +/* alias for SO_PROTOCOL (SunOS name) */ +#define TARGET_SO_PROTOTYPE TARGET_SO_PROTOCOL + +/* + * Level number for (get/set)sockopt() to apply to socket itself. + */ +#define TARGET_SOL_SOCKET 0xffff /* options for socket level */ + +#ifndef CMSG_ALIGN +#define CMSG_ALIGN(len) (((len) + sizeof(long) - 1) & ~(sizeof(long) - 1)) +#endif + +/* + * sys/socket.h + */ +struct target_msghdr { + abi_long msg_name; /* Socket name */ + int32_t msg_namelen; /* Length of name */ + abi_long msg_iov; /* Data blocks */ + int32_t msg_iovlen; /* Number of blocks */ + abi_long msg_control; /* Per protocol magic (eg BSD fd passing) = */ + int32_t msg_controllen; /* Length of cmsg list */ + int32_t msg_flags; /* flags on received message */ +}; + +struct target_sockaddr { + uint8_t sa_len; + uint8_t sa_family; + uint8_t sa_data[14]; +} QEMU_PACKED; + +struct target_in_addr { + uint32_t s_addr; /* big endian */ +}; + +struct target_cmsghdr { + uint32_t cmsg_len; + int32_t cmsg_level; + int32_t cmsg_type; +}; + +/* + * netinet/in.h + */ +struct target_ip_mreq { + struct target_in_addr imr_multiaddr; + struct target_in_addr imr_interface; +}; + +struct target_ip_mreqn { + struct target_in_addr imr_multiaddr; + struct target_in_addr imr_address; + int32_t imr_ifindex; +}; + #define safe_syscall0(type, name) \ type safe_##name(void) \ { \ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096281; cv=none; d=zohomail.com; s=zohoarc; b=Fp1ZL02KiPHB9eOlXyyFV32ya72L//olACn3tyi/wjfdTx8jQoyZueKCi7Mq5sW/gV6ikX8ioOMZogY6TqI6o5beR9BooNi7LkOf7lPyZy/2KKRG5J9IK9gMoSPUK0Zrv6XQy1sUFAhnkIf09Ca68ak2rmhI5776eocGbuVCzMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096281; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OWYQif1AwwVS310SFNMZwGeyUgr9UyWi7cSNgYOkbtQ=; b=fzqro0oJpNA0SPxD+QZrW9huJgOV13pHNhVa/sZ7967xWT8o9AIaFHfk7RiQl8vl6JDf3+xBi6OJ+FDT0laVji6AkG9qUniof7ETS6kqEdjS/t1Qguk8KVFAlKqKsybCGzqNUdRsWDhrLlkyrpLdpOHhLIW4WRAnRmg7bbhNmvY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096281277726.636940125926; Fri, 21 Apr 2023 09:58:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu4w-0000hG-NS; Fri, 21 Apr 2023 12:57:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu4u-0000bU-PQ for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:44 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu4t-0005VK-AM for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:44 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-2f9b9aa9d75so1275902f8f.0 for ; Fri, 21 Apr 2023 09:57:42 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096262; x=1684688262; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OWYQif1AwwVS310SFNMZwGeyUgr9UyWi7cSNgYOkbtQ=; b=PNYLUR9CXcR2vyJkF5XUzMjwew4vuYwa4E4+bzbQMf3Kq5VaZDIjgMB614EoLi0eG6 4cQqDxcki4XbWsJ1dINS/jFPOwD/T385ZpkKVCEbWnJl+flJEYbPtfID2d8i9+Ie3L0U dQPCQvKaPGW0hKW1Hi7+F1DGuMmckTh/N9QqqVcVd4W6MC7E+M4tlLkxaoW/qwv+8Hmg HVUBSKTCy3ucj5jSp4oNe4wb5P0LNezLSh4MB+c5V/COdlaaEgIdjjST5I24iuBAIVWq StBOJPB3s4JUa0jGGvRzzb5xED0z55D0YLM0X4VQeO9uGQKb0jGWm+NzbR4OfjrhpTqc W4jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096262; x=1684688262; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OWYQif1AwwVS310SFNMZwGeyUgr9UyWi7cSNgYOkbtQ=; b=XiFdqx+uTpECX1B36Ryh7sZvdN2DqpGEydt30pVmpZ7ngA61Mba1T0wgCUBOGKB6wm yKAsj0SAmwvxtcu5sKKTaw3BEcr6agotIAAKE/g1Kruj9YE1xUitaJTBHMWR14tMU1bW L2yA2wBbTn1L1uxghQe9cFcXel/zkg3oE2Y1DmDmPWxFh7coMoQa7DwVeepgDdlGXiZy MImZLp96v290rGwfGtqpqYIWCgo3N3cE5gmH6Tob60VaSwcqT8HswFxGO1qePca6V0GT l7acDZJ3TIhUGzBQ12tIatYhu7MAhzH590zAATwIxSVB3GEhVg4+qaJjEVYWLrKR0xXU BgLA== X-Gm-Message-State: AAQBX9dUYK0jgauh9DbAv2L4WqmceL4CsnmNdk01ZIgv2QiUHU1zWrEu Zw2QhwmmYjVo2yDyqV1UDIFxEGr/U54= X-Google-Smtp-Source: AKy350YadtYWmFH9uaayMViN5GPqna+Ya/gOvtwc4tWfTDVnjXlGnZzx13wNtMbDQztg4olWOsWTmQ== X-Received: by 2002:adf:dbce:0:b0:2f0:e287:1fbc with SMTP id e14-20020adfdbce000000b002f0e2871fbcmr4465294wrj.11.1682096262007; Fri, 21 Apr 2023 09:57:42 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Sean Bruno , Kyle Evans , Karim Taha Subject: [PATCH v4 03/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:43 +0200 Message-Id: <20230421165351.3177-4-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096281921100003 Content-Type: text/plain; charset="utf-8" From: Sean Bruno Target cmsghdr struct and flags. Add the cmsghdr struct and alignment flags. Co-authored-by: Kyle Evans Signed-off-by: Sean Bruno Signed-off-by: Kyle Evans Signed-off-by: Karim Taha --- bsd-user/syscall_defs.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index f041245792..b594fafecc 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -275,6 +275,44 @@ struct target_cmsghdr { int32_t cmsg_type; }; =20 +/* + * mips32 is the exception to the general rule of long-alignment; it + * unconditionally uses 64-bit alignment instead. + */ +#if defined(TARGET_MIPS) && TARGET_ABI_BITS =3D=3D 32 +#define TARGET_ALIGNBYTES (sizeof(abi_llong) - 1) +#else +#define TARGET_ALIGNBYTES (sizeof(abi_long) - 1) +#endif + +#define TARGET_CMSG_NXTHDR(mhdr, cmsg, cmsg_start) \ + __target_cmsg_nxthdr(mhdr, cmsg, cmsg_start) +#define TARGET_CMSG_ALIGN(len) (((len) + TARGET_ALIGNBYTES) \ + & (size_t) ~TARGET_ALIGNBYTES) +#define TARGET_CMSG_DATA(cmsg) \ + ((unsigned char *)(cmsg) + TARGET_CMSG_ALIGN(sizeof(struct target_cmsg= hdr))) +#define TARGET_CMSG_SPACE(len) \ + (TARGET_CMSG_ALIGN(sizeof(struct target_cmsghdr)) + TARGET_CMSG_ALIGN(= len)) +#define TARGET_CMSG_LEN(len) \ + (TARGET_CMSG_ALIGN(sizeof(struct target_cmsghdr)) + (len)) + +static inline struct target_cmsghdr * +__target_cmsg_nxthdr(struct target_msghdr *__mhdr, + struct target_cmsghdr *__cmsg, + struct target_cmsghdr *__cmsg_start) +{ + struct target_cmsghdr *__ptr; + + __ptr =3D (struct target_cmsghdr *)((unsigned char *) __cmsg + + TARGET_CMSG_ALIGN(tswap32(__cmsg->cmsg_len))); + if ((unsigned long)((char *)(__ptr + 1) - (char *)__cmsg_start) > + tswap32(__mhdr->msg_controllen)) { + /* No more entries. */ + return (struct target_cmsghdr *)0; + } + return __ptr; +} + /* * netinet/in.h */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096305; cv=none; d=zohomail.com; s=zohoarc; b=ks10VjX76Uqx8bjCbt0v+2jjefSNJLzbzKlV9WOXhrnArvYh2VqvzW0CrRxwEtrG1xB45Yx+4jcsFolppmOiLW3GuvWnsZUFMKgIDOuBJhFPR0ZAnmKznI3SDKleH4+zZ1OeTmeW53w5bHHQyoNQpMBvnlNnmaX4nW+TZv0C7s0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096305; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ADcjkaFOtQafvRvF3uyKq3JB177Jsg04HoRFehYZ+uo=; b=Ys+5m4UnsHY8gjeEA6aWCH2bmnZIgYhFSfDW2F8M6/A9EFbn9e2C6c83PhPT5wSRFUPIBVTgBeQz3Kl2PapH1/6cTR1HkMOpYf0bNDQd+mQPDOt7RRHyUTQHnWwx4a76qGWzcdFMbecOoJafAXaY41UihiAyAgvAxSuoOxjnQcM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096305925358.86068570565726; Fri, 21 Apr 2023 09:58:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu51-00011t-KU; Fri, 21 Apr 2023 12:57:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu50-000108-0m for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:50 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu4y-0005YI-Em for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:49 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-2fc3f1d6f8cso1266573f8f.3 for ; Fri, 21 Apr 2023 09:57:47 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096266; x=1684688266; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ADcjkaFOtQafvRvF3uyKq3JB177Jsg04HoRFehYZ+uo=; b=cf1wBYMcaFuOD9ZjrRbEFcqaTxRX3JMN3G96zoI21DQbJMpXE06Uf9gRTmMBiqRYMP ZR+lhjnf/JhDjOWkTgPo+5rGfQqnWxZ7IJDkhMcrk0icQNoIirxmtgzKRYqDahKwZbp+ nEuOLEUzLkYcbTzux+sM7pJyG1E4zb3dy5ZQz8SBjWwusBU9NOYyqqf9+Rh3vutTZt79 vAhzj5BxWcBMZFVYzNX2SB/1NhazZscgpGhwBMUAnkitLBDxbNasB0v/22XFlU9px541 U8uRKQeQhSfCK8CJI9AmFZ1rJD3JRS3taybAqonxMXhm54Nbnrt3isxbwoPnPYmrwmZx 1oNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096266; x=1684688266; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ADcjkaFOtQafvRvF3uyKq3JB177Jsg04HoRFehYZ+uo=; b=hlNHDQSRRtxrR6wCRuwUESZiSFLMQ8LSqsI7kg776HjL33bj5OnYIRrckDtYRaxsEc MtKh9sICbWjf8k4BhEjfKrBDdZMSlUtnQS6HHXLaaw9O/oD+MK54uL9w9LFn5Xd6/zTi Rb90Gd5pQDLLkICEFEnluEh3hFvLOKvGUpHe6Kj7x8LmHx/0OdEDPXHIo3u26Z72i9bP mr2i8bfiFdyd2RorgDLW4k45tkG/Ksp4LS93aSqwwftihhBzVs00+MKcVlWvZ5W/ilNg cYNXvsZEjYdxEBbk38f+FoL/N/wK5L8WNHE5StX00DplLYzRuHVZZXbuW1P7OOzMnjcr JKOg== X-Gm-Message-State: AAQBX9eEszqRX7YJ6yHStl4Ff0xhAY1UDmluAwlegGBisy3IEjTHTHej KoxdUCNcSSlrAoaw1LcURX6SZHHGYqI= X-Google-Smtp-Source: AKy350Zok/D/z7yFTfto8gijmm4QH3XN8tBSupRtOU7NHhyvd1+uHPTdXpdz2QTTwdZxxGFstFhf1w== X-Received: by 2002:adf:dd85:0:b0:2ee:fc1b:b7ba with SMTP id x5-20020adfdd85000000b002eefc1bb7bamr4209416wrl.39.1682096266164; Fri, 21 Apr 2023 09:57:46 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 04/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:44 +0200 Message-Id: <20230421165351.3177-5-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096306386100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Declaration of the socket conversion functions. Add bsd-user/qemu-bsd.h, required by bsd-user/bsd-socket.h, contains forward declarations of the socket conversion functions defined in bsd-user= /bsd-socket.c. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/qemu-bsd.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 bsd-user/qemu-bsd.h diff --git a/bsd-user/qemu-bsd.h b/bsd-user/qemu-bsd.h new file mode 100644 index 0000000000..a052688596 --- /dev/null +++ b/bsd-user/qemu-bsd.h @@ -0,0 +1,36 @@ +/* + * BSD conversion extern declarations + * + * Copyright (c) 2013 Stacey D. Son + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#ifndef QEMU_BSD_H +#define QEMU_BSD_H + +#include +#include +#include +#include + +/* bsd-socket.c */ +abi_long target_to_host_sockaddr(struct sockaddr *addr, abi_ulong target_a= ddr, + socklen_t len); +abi_long host_to_target_sockaddr(abi_ulong target_addr, struct sockaddr *a= ddr, + socklen_t len); +abi_long target_to_host_ip_mreq(struct ip_mreqn *mreqn, abi_ulong target_a= ddr, + socklen_t len); + +#endif /* QEMU_BSD_H */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096336; cv=none; d=zohomail.com; s=zohoarc; b=iX8aMurUrnHKQYNZD184JQfWV4s6d7GB5n2DPKNtfXhXIlLhfiMtTkpuCynyNATzkuSvQFtptcFo2yAzESp0SQieRihGNxgclANr1xcVo5M0OqusUiI3VHrnXgpnhsSeYR0IIPpqo9NhEpKw4JUcyPOUazdZY9ggjX0+9zZHVas= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096336; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=o8Ql/vEC3g+/z+QruUvVbxZ03TW0PYGQUSqXGsOmEVM=; b=CC5B61t2wGpGgTtFe4E9q6eyFM5KLjAy5ziIp1XcGxQuhSEqPyXuyisLOmTFwuNNNfNxmtns7e9Yr8B/C3aF+uefJHf/rkP3ZayYkhPeXlMMDGyKvDzGqJZDAgoSOXKMrB+RghuOovZNi77HydZ8cWmwTvpLslH7WDYoYmus0c0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096336395265.6644822544986; Fri, 21 Apr 2023 09:58:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu54-00013z-AB; Fri, 21 Apr 2023 12:57:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu53-000139-DZ for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:53 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu51-0005Za-Lb for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:53 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3010889c6ebso1227163f8f.2 for ; Fri, 21 Apr 2023 09:57:51 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096270; x=1684688270; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o8Ql/vEC3g+/z+QruUvVbxZ03TW0PYGQUSqXGsOmEVM=; b=Jj0teoDZeKBOpIgMq83gkV6c5gWo3SbtCusOmW5a9Sk+DriDOWsNkC7ldaezh/u9pL Qe9FxvwC6v+dyAaMKf6iA/4L24yl27xi8GcXKzbNzL1d+r7EYrFvA/GiL538z7K1T1dX Ae4Bn8RKErz1Fh03xhpr84Q9ouDojOmWxLAkg82qdhYQCT+hOy4cV/DcVF33A4eNWWXQ HzRBDfivbq/zVrfiDh7a9Xzjg9r9RabH0l0woeA8TXFgRkDZS5MUA23UFREXvjv/51tw YEz2+KFBv7LD1bpNBeVzW8iQArGi+Q1c53FkAkATu3waYjaK+CpFzZmaZhF/+XhJrfE3 eHjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096270; x=1684688270; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=o8Ql/vEC3g+/z+QruUvVbxZ03TW0PYGQUSqXGsOmEVM=; b=HaiV7x/yMf0lj8X7AMoVglWTCf4yOYmnXS5jC6gVsA1XoatFtuiY/qMCpZNBgQJxyq gWb4l+rXiHHgX4I57/7pQwzFm2MBRPMIEkOeBmjYdNAbkIR4a5qNYoAw/8zOm64+43KL Db/TqHmJQ5cEfykXGmJ52x3LSkpfFXoGxhHMj/y0ikA0WXd/cgD6vucdLE1HrJehMqqe 34Gikyu3nlVGq261QBTwEf+lhwOIFZ8++RSRTyP3yZGgNUwNqMJJdtZJEhHBGdxvoDTE Wpd54iEfSvZy9xCgRVcERazw1QihVeP3OgVoQotmdXgki1j12PJVFOBkK+u6xyhYI5vp gXrQ== X-Gm-Message-State: AAQBX9fV5hPZTvfMgXIbLLWiTolH8HfpUkXVuEQ6LpqVMdnfgr2Xccog R1SXmIkc5rOIQrw6M4jzqsIlKVRsIcA= X-Google-Smtp-Source: AKy350YTEdQX0dcbt6NvoZeBg/thkTX99OcwP6XM6UmdMR20XLlTx5vJ+zGkLB2BfJg8lyrgC24PBw== X-Received: by 2002:adf:f391:0:b0:2f6:ece3:76a with SMTP id m17-20020adff391000000b002f6ece3076amr4169967wro.8.1682096269987; Fri, 21 Apr 2023 09:57:49 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 05/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:45 +0200 Message-Id: <20230421165351.3177-6-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096336787100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Definitions of the socket conversion functions. Add bsd-user/bsd-socket.c, which contains the actual definitions of the socket conversion functions. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-socket.c | 108 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 bsd-user/bsd-socket.c diff --git a/bsd-user/bsd-socket.c b/bsd-user/bsd-socket.c new file mode 100644 index 0000000000..8a5e44444d --- /dev/null +++ b/bsd-user/bsd-socket.c @@ -0,0 +1,108 @@ +/* + * BSD socket system call related helpers + * + * Copyright (c) 2013 Stacey D. Son + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ +#include "qemu/osdep.h" + +#include +#include +#include +#include + +#include "qemu.h" +#include "qemu-bsd.h" + +/* + * socket conversion + */ +abi_long target_to_host_sockaddr(struct sockaddr *addr, abi_ulong target_a= ddr, + socklen_t len) +{ + const socklen_t unix_maxlen =3D sizeof(struct sockaddr_un); + sa_family_t sa_family; + struct target_sockaddr *target_saddr; + + target_saddr =3D lock_user(VERIFY_READ, target_addr, len, 1); + if (target_saddr =3D=3D 0) { + return -TARGET_EFAULT; + } + + sa_family =3D target_saddr->sa_family; + + /* + * Oops. The caller might send a incomplete sun_path; sun_path + * must be terminated by \0 (see the manual page), but unfortunately + * it is quite common to specify sockaddr_un length as + * "strlen(x->sun_path)" while it should be "strlen(...) + 1". We will + * fix that here if needed. + */ + if (target_saddr->sa_family =3D=3D AF_UNIX) { + if (len < unix_maxlen && len > 0) { + char *cp =3D (char *)target_saddr; + + if (cp[len - 1] && !cp[len]) { + len++; + } + } + if (len > unix_maxlen) { + len =3D unix_maxlen; + } + } + + memcpy(addr, target_saddr, len); + addr->sa_family =3D sa_family; /* type uint8_t */ + addr->sa_len =3D target_saddr->sa_len; /* type uint8_t */ + unlock_user(target_saddr, target_addr, 0); + + return 0; +} + +abi_long host_to_target_sockaddr(abi_ulong target_addr, struct sockaddr *a= ddr, + socklen_t len) +{ + struct target_sockaddr *target_saddr; + + target_saddr =3D lock_user(VERIFY_WRITE, target_addr, len, 0); + if (target_saddr =3D=3D 0) { + return -TARGET_EFAULT; + } + memcpy(target_saddr, addr, len); + target_saddr->sa_family =3D addr->sa_family; /* type uint8_t */ + target_saddr->sa_len =3D addr->sa_len; /* type uint8_t */ + unlock_user(target_saddr, target_addr, len); + + return 0; +} + +abi_long target_to_host_ip_mreq(struct ip_mreqn *mreqn, abi_ulong target_a= ddr, + socklen_t len) +{ + struct target_ip_mreqn *target_smreqn; + + target_smreqn =3D lock_user(VERIFY_READ, target_addr, len, 1); + if (target_smreqn =3D=3D 0) { + return -TARGET_EFAULT; + } + mreqn->imr_multiaddr.s_addr =3D target_smreqn->imr_multiaddr.s_addr; + mreqn->imr_address.s_addr =3D target_smreqn->imr_address.s_addr; + if (len =3D=3D sizeof(struct target_ip_mreqn)) { + mreqn->imr_ifindex =3D tswapal(target_smreqn->imr_ifindex); + } + unlock_user(target_smreqn, target_addr, 0); + + return 0; +} --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096324; cv=none; d=zohomail.com; s=zohoarc; b=LFqzfGE9ak9qep2Pp+UGpBKK7I+QoihMcAhtt9JwKacr/Py1trGNhtPZewZ8ALm/dXlDoRKmT9zgemSG37W04giyqFZqhmKfI7sgLa0anrac/d//ttX/DPTrdgtday0C/EMkVkgRo67TXdbYZUrDITolALwlzBFSKEZk9xxRTX8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096324; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7jgiE25TkQPb7QKZwOmBGpdrqCl81qjrHt2UK3yyPZ4=; b=ArG+Mc1FBoW5X6MKkflSU5xnfdTzEKj07i1xfGFNw/HhVyh2t9CyZBWW/5XRxNy7a5vLA9RiBN2DHqooNnecVWVv+bAvD1LIqJN9aEICcV3SoCQBT+ezNyi79gqIjWxS2rUnsCcQFV0IRXs4un4kQfhXHeOyN37sZN/aNyTKXAk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096324419876.0957865446804; Fri, 21 Apr 2023 09:58:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu58-00018S-Sf; Fri, 21 Apr 2023 12:57:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu57-00016o-2k for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:57 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu55-0005cs-Jf for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:57:56 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-2fe3fb8e2f7so1253634f8f.0 for ; Fri, 21 Apr 2023 09:57:55 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096273; x=1684688273; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7jgiE25TkQPb7QKZwOmBGpdrqCl81qjrHt2UK3yyPZ4=; b=N7PhqGiKUQSfFOhxZu+kgIN4sR11CxY/RoOfN8Whe9pTTAukZu7dsxNbGcRyKkWys/ y5Q6ShSqrD7+MKsq3zXG+FxK1WC4gqEhCmf+n04pzYJPH0DSNWo5DsPMonbIjZnzTKq3 UfCKK2yLVd+d9tVVZUBQh4OXc1dvwParyA7q5EznslvJkVsAahPYUKQ9j4uJDBP57Ug1 7P2qB53sXgiLA5m3WnnT1PP6rSfacQpk0u8m8oAtWACYl+IpChAGoarKHmCKpmGqJryY Fmmg+03KkNp7IDVWLbLb9mFYwfZbb0POSXX8xaBfGxisOcp3rm6+/eyoeItDpy1aiQe4 0a5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096273; x=1684688273; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7jgiE25TkQPb7QKZwOmBGpdrqCl81qjrHt2UK3yyPZ4=; b=UN5yNP4/rYXEpTBfC9NKnRZzPZukt3WxLceOV8bDG2sYVyLhyE9GJq+hMK63fU+pbL cKuXHhdiXMemKFYAgQ5PHHHrhuoTwPfB+mRFaZlPmchfkOEicu5bqgVhfAxeiEl2SAUN cYcJeGEWiH9AloNGEPw3JzD5MTa/+ecA3leOvp4IRBalbHYVCnIH+jSy+GvqeDE4jI+Z Pe+ckbSoQR1kzJ3gYufuhsqqqkal/ZfUpHbuyQl5XR/5ZUksIuMKclmhhwLhVAH+zAGj /nuQihXNLRimwNXSMDIapLyEb6+O9+2STRK6pgknq8fFkCumO1XQRe1WH2gQ8FXgx4Oh i4JA== X-Gm-Message-State: AAQBX9eqZfTwXL6LdscnrC+Uv3yXpCWtWVPPspXgwC6zxG9RNnG12qCm +ZkDmIzAG3OwPCGzePk3fsgcr1PsaIs= X-Google-Smtp-Source: AKy350ZUArUla304U741yNe1HwCGo3Vulf6vaka+/JznS5UtIN8byFTan7XK3/JsDPpEkrl1qm+ZbQ== X-Received: by 2002:adf:e381:0:b0:2f9:a75:b854 with SMTP id e1-20020adfe381000000b002f90a75b854mr4465377wrm.59.1682096273671; Fri, 21 Apr 2023 09:57:53 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha Subject: [PATCH v4 06/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:46 +0200 Message-Id: <20230421165351.3177-7-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096324723100001 Content-Type: text/plain; charset="utf-8" Build bsd-user/bsd-socket.c. Add bsd-user/bsd-socket.c to meson.build. Signed-off-by: Karim Taha --- bsd-user/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/bsd-user/meson.build b/bsd-user/meson.build index 5243122fc5..f648bd3554 100644 --- a/bsd-user/meson.build +++ b/bsd-user/meson.build @@ -7,6 +7,7 @@ bsd_user_ss =3D ss.source_set() common_user_inc +=3D include_directories('include') =20 bsd_user_ss.add(files( + 'bsd-socket.c', 'bsdload.c', 'elfload.c', 'main.c', --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096332; cv=none; d=zohomail.com; s=zohoarc; b=SPXN7ODYeM3AHfhBM7P85jZxRcq0qreAENY/ssou63hRE5gtkZu0K9MdhMvG6FGN8Yf2dt7Q+tmuGAX9KLe4zn/XXBRAf6BAH/6jUhy/+4WDcFf6rn1ZronfRssxIuXae6z/xTjPAr/AjelFHRzt8L6UOUFIwYKDAMBTkcAp964= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096332; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sVGhZKgrGX1OHfLrvfbz4p0F2qESpc+JN5HZGbSCpUg=; b=DFcyKQB1Mpl2YzTMptJhYa728ClFH7nN9tiuuKqx4bPZZSnreHI3RRr9ljU32BF74RldJ6Cx3bHNQ9Z6ALf4PWwyZ09HNVyTgE1SvZgJFIxf3evd6vDRzE7SX2Pc6VvpePrLky1NMgYvf2iHmAkIAz/LxvLL0giHPKSuVnQkEtU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096332087923.202787430238; Fri, 21 Apr 2023 09:58:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu5B-0001DU-DO; Fri, 21 Apr 2023 12:58:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu5A-0001AK-GC for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:00 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu58-0005VK-UB for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:00 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-2f9b9aa9d75so1276037f8f.0 for ; Fri, 21 Apr 2023 09:57:58 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:57:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096278; x=1684688278; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sVGhZKgrGX1OHfLrvfbz4p0F2qESpc+JN5HZGbSCpUg=; b=F6GIid8uix/6qrrhnZguaiulVa90zP42T5kMgQOY22pfXiRSIsWxlIv1yA3QgC9IIK ZCXBaJbL0+xNg9G0Gjk8TalnJ5FWO5jANmL9ryPF+t68LTit32PYum4km9m0Xg1pa1Yd 7s3TCGqfwvSHk8p58T6IbQnri+qep57772+ueUlGGtTAWwjWlWZSQnwmMBDvK+Lvy1Zn PnEUBNdYaFPy2qpePH2PfmLf+qVe7+H9f4DgQxMvPw5olkvwgSUpDZDC66Rg2wYbN5bB ipVI0HhAUnxRRJ0di2qG5oA7qN2IyubvwuqNHSTJmdkksTnpJKRvZp311kT6SpbHLDYn EbWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096278; x=1684688278; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sVGhZKgrGX1OHfLrvfbz4p0F2qESpc+JN5HZGbSCpUg=; b=FXbk8pCs1hMUo5J+tZYjurvrNl9SNh2V8LXYY2mHj83mVgRrossNpfhKQpOqBtWD1J oHAFRzraR4WCikbaanIkEcxKCKHALeztN/ghia8eki+lPOmEW8B7MiVtiFfOc4VIMRHX UnAHulQzPDUp17e2QA36ou08QM6Dh58ekm+QaXd25vpYkaaKB/xFw+InxIi8CqgQ7I5a mDrtnntzirUaRZ66Yvw8Dw4Bc9QweIgnn5qLpPd0TYD5QLOKFCPix9G97zUycgznMS2h mUMF0BlOaEs7sSnW99M6Or/643X7RWhKLuy6ZRarpgT7huvkTB8+iPm1RXCPTD6YwFpo rWMA== X-Gm-Message-State: AAQBX9fYSFM6NWnaW2Y+WZvDe+1NCmpJa3SmPRF8Xtq6QTnYUErF4YPM mIWBaBsd9rzRbuVDNZyb8L2ftu0wUIA= X-Google-Smtp-Source: AKy350bK3pVMGG23FC2y4c+yV2CIbXHk4vOUNLtErktRxOBkjFdJfqOq0dFVgz1Tynyf5E+4u+CcWA== X-Received: by 2002:adf:f209:0:b0:2d5:39d:514f with SMTP id p9-20020adff209000000b002d5039d514fmr4750054wro.65.1682096277921; Fri, 21 Apr 2023 09:57:57 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 07/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:47 +0200 Message-Id: <20230421165351.3177-8-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096332447100005 Content-Type: text/plain; charset="utf-8" From: Stacey Son The implementation of bind(2) syscall and socket related syscalls. Add bsd-user/bsd-socket.h, which contains the implementation of bind(2), and the socket related system call shims. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-socket.h | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 bsd-user/bsd-socket.h diff --git a/bsd-user/bsd-socket.h b/bsd-user/bsd-socket.h new file mode 100644 index 0000000000..7da4cf11a0 --- /dev/null +++ b/bsd-user/bsd-socket.h @@ -0,0 +1,61 @@ +/* + * socket related system call shims + * + * Copyright (c) 2013 Stacey D. Son + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#ifndef BSD_SOCKET_H +#define BSD_SOCKET_H + +#include +#include +#include +#include + +#include "qemu-bsd.h" + +ssize_t safe_recvfrom(int s, void *buf, size_t len, int flags, + struct sockaddr *restrict from, socklen_t *restrict fromlen); +ssize_t safe_sendto(int s, const void *buf, size_t len, int flags, + const struct sockaddr *to, socklen_t tolen); +int safe_select(int nfds, fd_set *readfs, fd_set *writefds, fd_set *except= fds, + struct timeval *timeout); +int safe_pselect(int nfds, fd_set *restrict readfds, + fd_set *restrict writefds, fd_set *restrict exceptfds, + const struct timespec *restrict timeout, + const sigset_t *restrict newsigmask); + +/* bind(2) */ +static inline abi_long do_bsd_bind(int sockfd, abi_ulong target_addr, + socklen_t addrlen) +{ + abi_long ret; + void *addr; + + if ((int)addrlen < 0) { + return -TARGET_EINVAL; + } + + addr =3D alloca(addrlen + 1); + ret =3D target_to_host_sockaddr(addr, target_addr, addrlen); + if (is_error(ret)) { + return ret; + } + + return get_errno(bind(sockfd, addr, addrlen)); +} + +#endif /* BSD_SOCKET_H */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096372; cv=none; d=zohomail.com; s=zohoarc; b=eH3jHS3M6G7I3fJnSN8XwM2RutfUgqjYg66PnFFD525R/xW6M4TLHcFAbUmvodobIsuzMCnHkBGJG42EBoGPd/RkJnGqA8eL8uHiMmEJuGDCutx1kq30z1xWpAeHy5mbHaGkkwlFXf96A5OqB4tGDxr27st3ITtVYbd3r+IFeeM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096372; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hv3wAaQ1pBv567pFZuHnhxoLD1mI+RDtrgVOuJEKu/c=; b=Gzf4poL9sTncPqGU+xuJ5BsE56JUsURgFGo655F7o+ZolYjSlh9/ni+MGYFaPqHVAe3xz3vA+Ofq+Ol05XfUlwI6dOK+lnb0xvxK/ZsT+qqkyUwhaMOS18ii/UwFVJKAaWlpM/65jME5lVr34OkzsR19ZjKKCqxhJWirUb7Eqw4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096372674692.6448550527675; Fri, 21 Apr 2023 09:59:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu5I-0001WY-2a; Fri, 21 Apr 2023 12:58:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu5G-0001Ns-Rj for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:06 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu5F-0005cs-8B for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:06 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-2fe3fb8e2f7so1253744f8f.0 for ; Fri, 21 Apr 2023 09:58:04 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.57.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:58:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096284; x=1684688284; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hv3wAaQ1pBv567pFZuHnhxoLD1mI+RDtrgVOuJEKu/c=; b=anwxmKljuL074MNbh7xlE5R4rc/WW8pt1MyxFn2v8274pfBzTAESf8WV/VTC4bO0Ev T8TrR+dHqL5ACSO9aGg0e/1ELvhLx0vjYKCvFWUwvdCErE5mQOwCzz9rdNgJVRIovu7X W8largAzVBOw2h1nEwfwWmwfShhkReL6sWhGpgPHLLAa5A4YQuZNL0Cge+sisUMK94Dt Pg7SlccX5uQaIpRoS/PW2jL3tVPrLt9gr9r28W15IuyFtfjpAWqxL8m01XHis7LYZNTx XlLUeG6naT2tQ8TuvwBJ1KVknPdgczJnZNuuPG+diouUq2+JQsY+yTQV+x4qtIvYpLWg Z8vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096284; x=1684688284; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hv3wAaQ1pBv567pFZuHnhxoLD1mI+RDtrgVOuJEKu/c=; b=HJzzfasGrwV5ztQ3w2hJle/ch+r0h+oeX0VdUx6nDHvmCstAkk8mGNu++6H1+Epz2o zHJQsTIHzcjwiWzmach8WB9ivoQsN8Y+TISMFVbmDsdkbyyo1Fc4nTa8bJHOpnEMMzdo ABxGJbJtuQ9kDZsYPg4CtYgreDQlZ7A0i7uMcj4nN932v82ONzAJnl1DACnZzHCc6cdk VeQ6kx/XivpOLIAVkSIkcbMsDe8fVoWIFY4GgUykYP0W5yBYYENwE1/QAXGaRbTN8DO+ mMzsXX8rdsZ9yplPaPnm+xc/Ev8WhyrAWkQ0TygEdPxT40OPybsu55i+6tprxKVxTdRF 4/+A== X-Gm-Message-State: AAQBX9fHpW4u2Yc6FEKVws18yQznyTM3/Yg2sSESzl9ecdBhWN3z0+YV Y6WUs2tKlNUwKodXmAyOqXiUjeULjXE= X-Google-Smtp-Source: AKy350aF6TGsqiVxeIv3qEf2rbk77GbarXoSiz2su8iXAr2wcSYF9RmjZIzdPlmkj9u8NB+Zk3zykg== X-Received: by 2002:adf:d4c6:0:b0:2f4:adca:6f42 with SMTP id w6-20020adfd4c6000000b002f4adca6f42mr4468288wrk.21.1682096283914; Fri, 21 Apr 2023 09:58:03 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 08/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:48 +0200 Message-Id: <20230421165351.3177-9-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096374386100011 Content-Type: text/plain; charset="utf-8" From: Stacey Son connect(2) syscall. Add the connect(2) syscall to bsd-user/bsd-socket.h. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-socket.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bsd-user/bsd-socket.h b/bsd-user/bsd-socket.h index 7da4cf11a0..f191f22d63 100644 --- a/bsd-user/bsd-socket.h +++ b/bsd-user/bsd-socket.h @@ -58,4 +58,25 @@ static inline abi_long do_bsd_bind(int sockfd, abi_ulong= target_addr, return get_errno(bind(sockfd, addr, addrlen)); } =20 +/* connect(2) */ +static inline abi_long do_bsd_connect(int sockfd, abi_ulong target_addr, + socklen_t addrlen) +{ + abi_long ret; + void *addr; + + if ((int)addrlen < 0) { + return -TARGET_EINVAL; + } + addr =3D alloca(addrlen + 1); + + ret =3D target_to_host_sockaddr(addr, target_addr, addrlen); + + if (is_error(ret)) { + return ret; + } + + return get_errno(connect(sockfd, addr, addrlen)); +} + #endif /* BSD_SOCKET_H */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096372; cv=none; d=zohomail.com; s=zohoarc; b=YQtGFkJplYWkH5d270hQJh8iro1zAVOWL2Tnc1aom9wwQVxwhVuYSueApWP/264Wq/zMv/a8CQgI0olAHdqRBYkAsO9bazRWxHgb/waTq+Uqt7S1DpNCOn2ObdkVs4GTPLTjZG1GsmRoHkL2mUFWTJEUDS5q7sG5Lmd50AZ/pjM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096372; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dnSBdinBNPeWEkWpdk8xI9fC4IlUhm4yibKAa6mite8=; b=Bzh65/70xVcjE4B+pU8TGeLAYyfmFOvMdSppGGS7lsb1zYs9voDyDOSUrke5CaM1tlqulnqH7i8zp8Iy7V0X7Q69B45eQkHHw6DAn1lqBqoUvjh2CoZrs6lqaE07LWIHLLJqfgukRpbNO2fC7J+6yuVJ1aXr+WKqbmhTLGnHIgQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096372148456.38966490085306; Fri, 21 Apr 2023 09:59:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu5N-0002A5-9I; Fri, 21 Apr 2023 12:58:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu5M-00023k-A5 for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:12 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu5K-0005fL-Fu for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:11 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f09b4a156eso13829865e9.3 for ; Fri, 21 Apr 2023 09:58:09 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.58.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:58:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096288; x=1684688288; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dnSBdinBNPeWEkWpdk8xI9fC4IlUhm4yibKAa6mite8=; b=fk2ux6Rnm5QJSPNQg0o+HZc/EyFiEg0N8xMQy/km6vzIqzNwL+mLad9yPbNsPcbBDV Ev7hE3ObQKm4xd9m7xSDRoW4YRyDCZoFZ+y7lud8HprkvlfiPLIrTOrU6p+ASmLNUvln ks+ksEN3Pie8yqIm5qKyX95zyywkGM/TJLQeaZn8gz6Bed9M0D4IRlZCqXh9bmRmhcrA BMOMuuKc1rQV/g9uPBwqhB8IFmONkPBWZB4XMG8xbf3oGQpYgNQ7Ud/gDqLfhswbXS53 RXyll3twkLhD0djiDtyZmOZRZOvSUMrpm701S4SooUdx3oDBdRrhGTfKDenIFCQQrvxx z+Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096288; x=1684688288; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dnSBdinBNPeWEkWpdk8xI9fC4IlUhm4yibKAa6mite8=; b=KXdWi4gvPtIi4f6FgFxdk8REDMdDK785g7Bw9DO0E8CGE6Aw43dNZLij6L0uslo/y+ CzOs0TT+l/0SXSWxR/pgaOaSYKRyG0cw5kp4sLlVqdiJo8k1hae4ZBGDaxUh8+R+tiPL IQSKq8LqpfMO75YLLS1GAePAMi5MH2tewGbQ/Jrhl/YnBNHjgvr8o6/bdtLaCzXZZeRh qf0RhcwVIGFHodhVlwN1SeIGXQQTP7hCwrcssaUioWh+UM0IXS/ME0K1d8sCUmCbjPR3 M60qqZQplu6iW1i0Jr44tq9qGg7FA7uD2hyOSVZqtMwpOnQwpcddtQs7dOVjm49vag3p CCXw== X-Gm-Message-State: AAQBX9c1aXXHomGrB+Xb1MxlaHv49SJWhRLnuOs/79cXjpqoYy/SE9+6 dRK9+sFB5BSXuTsnixUmWganI4jkpgw= X-Google-Smtp-Source: AKy350Z+nOpot13Z8mVBK/4aWUhrpj3ekywLeoEgS11vEl2pzVLOutRgMEhw76Bv8q6hoX0gP+XtlQ== X-Received: by 2002:a7b:cb47:0:b0:3f0:7ddf:d8d8 with SMTP id v7-20020a7bcb47000000b003f07ddfd8d8mr2452764wmj.18.1682096288477; Fri, 21 Apr 2023 09:58:08 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 09/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:49 +0200 Message-Id: <20230421165351.3177-10-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096374135100005 Content-Type: text/plain; charset="utf-8" From: Stacey Son accept(2) syscall. Add the accept(2) syscall to bsd-user/bsd-socket.h. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-socket.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/bsd-user/bsd-socket.h b/bsd-user/bsd-socket.h index f191f22d63..f748266730 100644 --- a/bsd-user/bsd-socket.h +++ b/bsd-user/bsd-socket.h @@ -79,4 +79,37 @@ static inline abi_long do_bsd_connect(int sockfd, abi_ul= ong target_addr, return get_errno(connect(sockfd, addr, addrlen)); } =20 +/* accept(2) */ +static inline abi_long do_bsd_accept(int fd, abi_ulong target_addr, + abi_ulong target_addrlen_addr) +{ + socklen_t addrlen; + void *addr; + abi_long ret; + + if (target_addr =3D=3D 0) { + return get_errno(accept(fd, NULL, NULL)); + } + /* return EINVAL if addrlen pointer is invalid */ + if (get_user_u32(addrlen, target_addrlen_addr)) { + return -TARGET_EINVAL; + } + if ((int)addrlen < 0) { + return -TARGET_EINVAL; + } + if (!access_ok(VERIFY_WRITE, target_addr, addrlen)) { + return -TARGET_EINVAL; + } + addr =3D alloca(addrlen); + + ret =3D get_errno(accept(fd, addr, &addrlen)); + if (!is_error(ret)) { + host_to_target_sockaddr(target_addr, addr, addrlen); + if (put_user_u32(addrlen, target_addrlen_addr)) { + ret =3D -TARGET_EFAULT; + } + } + return ret; +} + #endif /* BSD_SOCKET_H */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096360; cv=none; d=zohomail.com; s=zohoarc; b=W+Z2NWW2oGyUfp68QTWKMM2IOO8PcqFsB7CYrbRCaH2+2fiJABO9YKfut1a/mZaQOzWxI7xA4frpOilMIx99a29T8IKgO+fFPRc55EKoQka8qjH+RM9kURglvv2c9VWwgIBD34+hPx6vZCIJAAZN6uw4XnN7NMREBsaRo13fCLc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096360; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fymimzdBi9M59n3ZM9BR6BqfXHZcY30jttS/mKajjfM=; b=lJj8t8nJt1ZZUfm+5+ofno32M8tZfxPnZnHBXUOh5CYiNF/cnB4uXLuBh3ocVw/sAiy2EYklms9bIYaHr6PJHv5yROzmowxMvFTDmXmareOrWKsWttqpRfi/MVn2AMwen5iYDHxoRnVO7xXT5GSFZKrq+tJoLe78EHHHqp3P/EI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096360916220.76118215551048; Fri, 21 Apr 2023 09:59:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu5X-0002VA-Kt; Fri, 21 Apr 2023 12:58:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu5R-0002IN-J6 for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:17 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu5Q-0005fc-2x for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:17 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-2f4214b430aso1252729f8f.0 for ; Fri, 21 Apr 2023 09:58:15 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.58.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:58:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096294; x=1684688294; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fymimzdBi9M59n3ZM9BR6BqfXHZcY30jttS/mKajjfM=; b=X+8dVlBEZroOvtk3xlur9xgpPJ19UTVsVxQAoMBkqTT9dYAlhA/SHoQzwzTwpNCKxF 1zicVvziwGmLWXEGQKtYdZO4sS2aWKb07n9zLexMYJNW//0JstW+TprcXLaZFEy53AzE lMcElI9PNQN8mKppXT3SrKHagmu84WImA8aeJWhwJvFDz1dAEAaQo9DbcbHsi2kONzE8 pgqb1ibx5jmSlk/oClNIbWmjpEwCQi1y1tkOUzuZyClR4IU7JjZ1Kq/a0frtVpRSXEoA 5GMn5XWG5R4eetkf/Wv68jAStnnU1R14YWQS2+P9xGWdW9UCOb3lOUrqDNGLb12S95o0 kc1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096294; x=1684688294; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fymimzdBi9M59n3ZM9BR6BqfXHZcY30jttS/mKajjfM=; b=KEMML5H005kT//nkN8UpksUcJIk69apmiLRdQVEOBRPvXegzn3DU3cUhEfNd5o9tf8 HVkZeTw0wA41vUO8HW5/MBxFpatqzlkFJGBStM3zzHs7ozbSvmH3PPESXce0WR16a8ts rWDebxPPjfNAjJI/3eIyyWUhU5pCiwpdsjn7bhI0Tm/QAUyWxxbgOUxUkK4yZj0oJYvr X5/0te3jmYLJOINJXfivnb+5yYiW9IaMqXDbNRbmsX5fstxk3mvPl6RrzvFPcpTVg5xc QK0a0XW1PfCaODiRgQJHFvfIRNUr+mEgOQ8Bsk+tTW8d7Gf7ijbn3qKSOm4Ve/TdVpBP jGMw== X-Gm-Message-State: AAQBX9fNZ6rX47U3S6V63qMoqWLjlX0AzTNeTjZeHY2QYFlB/wd5fMXh i9EEAf6YpQCziuuKxo4N1DChii8YOAU= X-Google-Smtp-Source: AKy350ZFuH7HTusBYeXBq/HeA0yEumyVtNt7Ixmec2DFhtSzUHAu5Anmyooz20s7735cIg0X+xsdUg== X-Received: by 2002:a5d:6591:0:b0:2fb:1a68:1d96 with SMTP id q17-20020a5d6591000000b002fb1a681d96mr4108926wru.15.1682096294127; Fri, 21 Apr 2023 09:58:14 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v4 10/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:50 +0200 Message-Id: <20230421165351.3177-11-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096361541100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son getpeername(2) syscall. Add the getpeername(2) syscall to bsd-user/bsd-socket.h. Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-socket.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bsd-user/bsd-socket.h b/bsd-user/bsd-socket.h index f748266730..16fae3752a 100644 --- a/bsd-user/bsd-socket.h +++ b/bsd-user/bsd-socket.h @@ -112,4 +112,32 @@ static inline abi_long do_bsd_accept(int fd, abi_ulong= target_addr, return ret; } =20 +/* getpeername(2) */ +static inline abi_long do_bsd_getpeername(int fd, abi_ulong target_addr, + abi_ulong target_addrlen_addr) +{ + socklen_t addrlen; + void *addr; + abi_long ret; + + if (get_user_u32(addrlen, target_addrlen_addr)) { + return -TARGET_EFAULT; + } + if ((int)addrlen < 0) { + return -TARGET_EINVAL; + } + if (!access_ok(VERIFY_WRITE, target_addr, addrlen)) { + return -TARGET_EFAULT; + } + addr =3D alloca(addrlen); + ret =3D get_errno(getpeername(fd, addr, &addrlen)); + if (!is_error(ret)) { + host_to_target_sockaddr(target_addr, addr, addrlen); + if (put_user_u32(addrlen, target_addrlen_addr)) { + ret =3D -TARGET_EFAULT; + } + } + return ret; +} + #endif /* BSD_SOCKET_H */ --=20 2.40.0 From nobody Fri May 10 17:07:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1682096372; cv=none; d=zohomail.com; s=zohoarc; b=W8fSlQSiqCQnUP1gB1mH1b0uUZbkIY6X371IPu60dVQMswH+MAkH3WTsGQAsZlm0blkZo1TaaV/HBODR9yZmivVEI/xhmdZcqhscFit8BWx5eKvg5dzHQUx5c+NxklyLrZFUUMxuB/NfSonqbhOmIaJZeKeYF3Qf1SadN82yLSY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682096372; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BvLkaVzFusVnxZhQiF95CZklHYin0PSxcJej3FYG+yY=; b=ZEucnscYGZLtpKPOT5LKYUe2OHUCYiQraVV8o/EKPWbloA9JQwmroEeU1z3S9sRblwgTIREMZl7+vBjUWvEs+RQX2F66F8biMtzxImh5KOVRxZvw2Z+ZXBWQfnKvThMRfYDPEkUWyZweauzz/lZJCp6I9H4/L8KFRcy2ZLwXdbE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682096372935390.76295707640065; Fri, 21 Apr 2023 09:59:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ppu5d-0002ne-Eh; Fri, 21 Apr 2023 12:58:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ppu5V-0002RK-1m for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:22 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ppu5T-0005fc-MI for qemu-devel@nongnu.org; Fri, 21 Apr 2023 12:58:20 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-2f4214b430aso1252767f8f.0 for ; Fri, 21 Apr 2023 09:58:19 -0700 (PDT) Received: from karim.my.domain ([197.39.145.151]) by smtp.gmail.com with ESMTPSA id e5-20020a5d5305000000b002cf1c435afcsm4820581wrv.11.2023.04.21.09.58.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 09:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682096298; x=1684688298; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BvLkaVzFusVnxZhQiF95CZklHYin0PSxcJej3FYG+yY=; b=Xr9cPcRalK1l6Ljvgu0EU55Oi60LAqy2mAg5UjUBgg7/PCbE3D0tw8jVdSBCue+SwH 2Gd+yUvtCBKiK4dBfzX4AgFEhCA3DJsAFCuk39LweuOOqGhLdHzPMY2BK4DE/sFIyvjq kCXK4CHw9bQDjXDwiQZelOciQLEC6yAqcL4DnsWhbhTa0MdaJ/SZnjkj8oDyCiOFtXoI AV49AZt8XU1EeD40sxrAA/ONFy/NCDI54DDUOxHeGiDqos7s+AZwssJdyvIXG5wkc40m qEiD6Ru9QXXSmOorpBpC+btq5jFUTsJVfgLEUy7jabOAWfV1pcIsglh5C02zmcFtpjnW Y6/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682096298; x=1684688298; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BvLkaVzFusVnxZhQiF95CZklHYin0PSxcJej3FYG+yY=; b=iZsGvMbcGweDDzFXkGR0b2JcKaWhCyLwYSYEbRec9/EJrVM046Z0MAjWunOzKjlYnY cR4cDp69ovLmDuVNlScacpc3FK7Tg1N6VDZWsjxlkMhmwq0Q90rJuDEbyprG0KLZcCRU WkiRZfG08eO8piH0W1rSX6L/gjjxvzPslcyeAr/tXGxMymPCmWUbv57lePkRRCd7INyI Tsi59DO96u/yQTBiEHGBp0tAt3st96TeJIpzTuUTtgFm9yTQnF/+UEWedJiz4d6Y/O8G 3PNaF0X1OPbXC3BrBwauVpkCZoyIrfTOxL9BPRJzDKh0Jp4S79W+9IFuR8QhcFOyGZeF RNJA== X-Gm-Message-State: AAQBX9c9iKcZm4R0APd4YuI/3+f3TrAIWusQBJByotiyserMX1OjGsAC Bi3b90qvpfXxEmDEOUFLwTCzeGv2mbA= X-Google-Smtp-Source: AKy350bH7Dr+1cY/D7h3LxBjEUyPRsJy/QYlVAm0Lty3rFy9XDCbvLO2ViRA6+E3WyCr9gGB9A6y4w== X-Received: by 2002:adf:d091:0:b0:2f9:338:743d with SMTP id y17-20020adfd091000000b002f90338743dmr3825386wrh.23.1682096298409; Fri, 21 Apr 2023 09:58:18 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha Subject: [PATCH v4 11/11] Signed-off-by: Karim Taha Date: Fri, 21 Apr 2023 18:53:51 +0200 Message-Id: <20230421165351.3177-12-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230421165351.3177-1-kariem.taha2.7@gmail.com> References: <20230421165351.3177-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1682096374143100006 Content-Type: text/plain; charset="utf-8" From: Warner Losh 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-sysca= ll.c Signed-off-by: Warner Losh Signed-off-by: Karim Taha --- 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" =20 +/* BSD independent syscall shims */ +#include "bsd-socket.h" #include "bsd-file.h" #include "bsd-proc.h" =20 @@ -508,6 +510,25 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_freebsd_sysarch(cpu_env, arg1, arg2); break; =20 + /* + * socket related system calls + */ + case TARGET_FREEBSD_NR_accept: /* accept(2) */ + ret =3D do_bsd_accept(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_bind: /* bind(2) */ + ret =3D do_bsd_bind(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_connect: /* connect(2) */ + ret =3D do_bsd_connect(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_getpeername: /* getpeername(2) */ + ret =3D do_bsd_getpeername(arg1, arg2, arg3); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.40.0