From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067201; cv=none; d=zohomail.com; s=zohoarc; b=Y+h8un6EJnCF+9XOvIBhrQddnpJUjHXnMXKAzlzPhiU83FGaDHMqh6KvJ6qV+UG9XgxE5Xk+EJqKGbPZcTMhJ4qZZJJ2vB7PuWrPy1p0wyBrblipcaELPlZPL9pOSpjLCZJ8y0vQokvXAW05o1GpQPcDc2NqvtcB/EAEWcyacwo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067201; 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=CUNbrVPTpIvjNgmDAlVXpMdOpRXZdd+5qHhwYan9ofo=; b=N0l/uhqXFNEqdVtKuqP2lmePfTjVk9zsASqUf6zN26FaVrZEfXv4jZSExw7wNytqDwfn2w43nnceq586Nf7sdKzT4JG5Y4qL91RSXE3cY2soVCtDTaH5wqDn/UlNpQ9Kc0QqPVypnzdQe+/4cHB0p6cVAEIXyXiuYLo0nAM3RfA= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067201447754.2791914653111; Sun, 12 Jun 2022 13:53:21 -0700 (PDT) Received: from localhost ([::1]:57268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UaG-0006Nv-Dv for importer@patchew.org; Sun, 12 Jun 2022 16:53:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVo-0005Xo-2a for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:44 -0400 Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]:41663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVm-00006e-0b for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:43 -0400 Received: by mail-io1-xd35.google.com with SMTP id q11so4286545iod.8 for ; Sun, 12 Jun 2022 13:48:40 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CUNbrVPTpIvjNgmDAlVXpMdOpRXZdd+5qHhwYan9ofo=; b=KvALBVkwg4dxKo9Edgc064xw9MtJQbUo2A6MAgjVJbj9dXe3NkOanOEeSoz6dMHI0L LfAjXL6Zjz7spLqkYskRgNM81lg63MVZwR9oXYsAgnVBvXapJny3si2wcrO6ReSa5T5/ byDmntCmWjt+KyFBKftEJ2stTDOMDXrOt6zs0UaVbnSVyT4zx+DgKqIoW+OeNUzNEK83 1VDMZURhf4Hxa7ZtuXzBtntjERgLGxCXlcg3O2fwN6n/MY+6CXrN2zHlUXsUMETbISu/ e4/Mz8Mp/EcRUmFYG+I12YR9JHMmyXRg9IFWnogqoQhKubJhxYKgSs9JzBiNblexsWAr EnVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CUNbrVPTpIvjNgmDAlVXpMdOpRXZdd+5qHhwYan9ofo=; b=5S7UJcIv0j47z6B71wxDUkZV7MrnvfiTN5BGUIQFBJjwchwrxJL7phpbbbfJaneWHc zGl159Hck/aidh8WfQWRdVWH/W0xcJ3TKB1S39j56NMNgpDYGNqOhD1v/Rms2AHlsCkN hZMsBld3saAj/8HXK/OxgDgVO5heoe7Bwy88OQ/nbSXRn8iUAvih2X6sX9Cc0pu3/hyy TloRszdCzXQtKjf0zH/lGTPUhpsgUC8IeP9m+8jVOFZ+17Uknz43OCS7tn9dhLRzLVDe 10rNr05aue8t6EPljHAPImeKFEasurkEOErDvmog91e/cLRsqbCtVAzef5oFI/hfJCsY QFuw== X-Gm-Message-State: AOAM532HHnQG2IlvFSA4eEZZ3rjHjKxh8LiW9Dx5KQVr8kfb36CZMBY3 DLNVEAp2L+TsHfwi5kHzF/1Rm+T/HN/dag== X-Google-Smtp-Source: ABdhPJyPFu0VbGRbH2Oe3rfIVSVjwfQ8pFtqFNGkTB29bKPqHtUO84XF75P/F4ueGgnMzkwP8uabtA== X-Received: by 2002:a5d:8582:0:b0:669:835f:48b0 with SMTP id f2-20020a5d8582000000b00669835f48b0mr13062884ioj.146.1655066919576; Sun, 12 Jun 2022 13:48:39 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son , Jung-uk Kim , Kyle Evans Subject: [PATCH 01/11] bsd-user: Implement open, openat and close Date: Sun, 12 Jun 2022 14:48:41 -0600 Message-Id: <20220612204851.19914-2-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d35; envelope-from=imp@bsdimp.com; helo=mail-io1-xd35.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067203224100003 Content-Type: text/plain; charset="utf-8" Add the open, openat and close system calls. We need to lock paths, so implmenent that as well. Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Kyle Evans Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 50 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 +++++++++++ bsd-user/syscall_defs.h | 4 +++ 3 files changed, 70 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index e9e2c85eb67..fb54905b46f 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -22,11 +22,25 @@ =20 #include "qemu/path.h" =20 +#define LOCK_PATH(p, arg) \ +do { \ + (p) =3D lock_user_string(arg); \ + if ((p) =3D=3D NULL) { \ + return -TARGET_EFAULT; \ + } \ +} while (0) + +#define UNLOCK_PATH(p, arg) unlock_user(p, arg, 0) + + extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy); extern void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int cou= nt, int copy); =20 +int safe_open(const char *path, int flags, mode_t mode); +int safe_openat(int fd, const char *path, int flags, mode_t mode); + ssize_t safe_read(int fd, void *buf, size_t nbytes); ssize_t safe_pread(int fd, void *buf, size_t nbytes, off_t offset); ssize_t safe_readv(int fd, const struct iovec *iov, int iovcnt); @@ -190,4 +204,40 @@ static abi_long do_bsd_pwritev(void *cpu_env, abi_long= arg1, return ret; } =20 +/* open(2) */ +static abi_long do_bsd_open(abi_long arg1, abi_long arg2, abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(safe_open(path(p), target_to_host_bitmask(arg2, + fcntl_flags_tbl), arg3)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* openat(2) */ +static abi_long do_bsd_openat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(safe_openat(arg1, path(p), + target_to_host_bitmask(arg3, fcntl_flags_tbl), arg4)); + UNLOCK_PATH(p, arg2); + + return ret; +} + +/* close(2) */ +static inline abi_long do_bsd_close(abi_long arg1) +{ + + return get_errno(close(arg1)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 71aa0d38e03..a824785fee8 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -44,6 +44,10 @@ #include "bsd-proc.h" =20 /* I/O */ +safe_syscall3(int, open, const char *, path, int, flags, mode_t, mode); +safe_syscall4(int, openat, int, fd, const char *, path, int, flags, mode_t, + mode); + safe_syscall3(ssize_t, read, int, fd, void *, buf, size_t, nbytes); safe_syscall4(ssize_t, pread, int, fd, void *, buf, size_t, nbytes, off_t, offset); @@ -257,6 +261,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_pwritev(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6= ); break; =20 + case TARGET_FREEBSD_NR_open: /* open(2) */ + ret =3D do_bsd_open(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_openat: /* openat(2) */ + ret =3D do_bsd_openat(arg1, arg2, arg3, arg4); + break; + + case TARGET_FREEBSD_NR_close: /* close(2) */ + ret =3D do_bsd_close(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index f5797b28e39..b6d113d24a7 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -226,4 +226,8 @@ type safe_##name(type1 arg1, type2 arg2, type3 arg3, ty= pe4 arg4, \ return safe_syscall(SYS_##name, arg1, arg2, arg3, arg4, arg5, arg6); \ } =20 +/* So far all target and host bitmasks are the same */ +#define target_to_host_bitmask(x, tbl) (x) +#define host_to_target_bitmask(x, tbl) (x) + #endif /* SYSCALL_DEFS_H */ --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067056; cv=none; d=zohomail.com; s=zohoarc; b=YmqF8GmwBCeWn7kQN0VH+VUMEw8UGyqRvI0jQEH2ILZbN6qn4Uws+rWyEeGVkqtUDe0+C2Q2qM8AHw1yg0QCwKOr2BllDRt1K4HcfwOnYguPO3yv9h3Lr9HobjmuyofFkNXPg4EqCRlSNrbJDYTi0mxha9+N+aSd69FvyZxi0U4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067056; 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=A84gV9Jtit3CFQbzmGzq5ixbn+21Voj12wbqYsyy5is=; b=VDGjsdhB1MNc15lvIxxmtJ+jcM4HCetjhm+QbVJRDNO4RnO/78Pi7KCtnhl3JdYW3Qm1oOe1cDnuZwd/KRedjsRUIA3KvEuIWGY8tv0pN94KGfhb+gh5y4a8jv1M6nqM6qH6Kq1ZPpAGljdE+heiVW7KE394gL1mhP+bWLn21Oc= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067056196241.43936099964242; Sun, 12 Jun 2022 13:50:56 -0700 (PDT) Received: from localhost ([::1]:47552 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UXu-00089h-AO for importer@patchew.org; Sun, 12 Jun 2022 16:50:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVo-0005Xn-2X for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:44 -0400 Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:37751) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVm-00006k-0S for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:43 -0400 Received: by mail-il1-x12b.google.com with SMTP id d6so3030519ilm.4 for ; Sun, 12 Jun 2022 13:48:41 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A84gV9Jtit3CFQbzmGzq5ixbn+21Voj12wbqYsyy5is=; b=Oa1TLAkBjf9wkHfaJC1RzhdvPap6zeu6e9kZ9d3FdDnJQieuHuiqbLBOvAPVuenzgS BqM0xFHCvvdxQm0aY3ZkiqT4SCEtSlZfKHK/YtyRc2V2cPRp/YTXiCHui8fgU5FmSWwO RAvDGDpIuKolBDK9ANRFeZ5blkSa++73kFfaZR7T41FLhTYZ+IsMO0vJjvab/wUXeo2V LPnkk0dQr+vq2G1+gAG85iwqnjNcc1S/f/78Rn2a34eeItpvXuJXxbiFLXw6lkp6YT1q YvRbTCc4pyW/XrTicBLrf1u+iY/oDt6xoqClgHNdjhVhLGygoPx+vahF8+iljhbxpeCF Ty6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A84gV9Jtit3CFQbzmGzq5ixbn+21Voj12wbqYsyy5is=; b=QStbPC64aVbGT3iky/J9EyPhPDddjcspxxlSpH0IY27AZnYqxZTwWFToqoxD8kp28o 0WqFGhEfh6zy0T4oPMrbnkY3rw9rAwyvPdvhfACo4vAl6GLXZhtulrjqJpVOP7ddaLSG 4DslR6R1WkKPYVPla7IJDrC7iKGR7FUTEhOVsf4Hmg1xnLKtTBo1VOEFvZtLSF1SAUPq TA1TIoxq/b4QffSmnrWqsQjUXYlUHolQkPt/OIqCpdmiMac7EdCODcgC2Ir1ilJjx5ke 3NlXLar0NKmjER3nKEq0EpIOLEstQA98s+8rpoekZqN2oHSb0PA3iHGssDvARLYDYTnq JWng== X-Gm-Message-State: AOAM532ppCsnkvHCRtwBpTqc+ygE7kKAvdqQlV2mFMiE4+rk+asY8wFH Pb/Kina4Bas5XlErjsTIrbV9FFutZRAKfQ== X-Google-Smtp-Source: ABdhPJzKZMAzdx0r5Uc2dZVxkP78pgdHKS4BCQAuWMRDb9vlkBa5LIZMNHq5O06gPcbHGzEBPsx2ww== X-Received: by 2002:a05:6e02:19cc:b0:2d3:e20f:4959 with SMTP id r12-20020a056e0219cc00b002d3e20f4959mr32572315ill.40.1655066920357; Sun, 12 Jun 2022 13:48:40 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son , Jung-uk Kim Subject: [PATCH 02/11] bsd-user: Implement fdatasync, fsync and close_from Date: Sun, 12 Jun 2022 14:48:42 -0600 Message-Id: <20220612204851.19914-3-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::12b; envelope-from=imp@bsdimp.com; helo=mail-il1-x12b.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067058857100001 Content-Type: text/plain; charset="utf-8" Implement fdatasync(2), fsync(2) and close_from(2). Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 22 ++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 12 ++++++++++++ 2 files changed, 34 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index fb54905b46f..3e0f160e312 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -240,4 +240,26 @@ static inline abi_long do_bsd_close(abi_long arg1) return get_errno(close(arg1)); } =20 +/* fdatasync(2) */ +static abi_long do_bsd_fdatasync(abi_long arg1) +{ + + return get_errno(fdatasync(arg1)); +} + +/* fsync(2) */ +static abi_long do_bsd_fsync(abi_long arg1) +{ + + return get_errno(fsync(arg1)); +} + +/* closefrom(2) */ +static abi_long do_bsd_closefrom(abi_long arg1) +{ + + closefrom(arg1); /* returns void */ + return get_errno(0); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index a824785fee8..f7d09909925 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -273,6 +273,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_close(arg1); break; =20 + case TARGET_FREEBSD_NR_fdatasync: /* fdatasync(2) */ + ret =3D do_bsd_fdatasync(arg1); + break; + + case TARGET_FREEBSD_NR_fsync: /* fsync(2) */ + ret =3D do_bsd_fsync(arg1); + break; + + case TARGET_FREEBSD_NR_freebsd12_closefrom: /* closefrom(2) */ + ret =3D do_bsd_closefrom(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067066; cv=none; d=zohomail.com; s=zohoarc; b=IEVSP9S7wdODTbiSzt8araDHewY5NOpkNlQ4S0t9z6zECMwLHv96tOFWmGGnn1WmY5sjjJ3u2rEoaAElc+GQKPzjO/dZOr5y4M/zkO7aSVfOeg4puV5dJezlgB5CuVaKcmj5naGgVT7jv5YEw1Ax2VBgToVTkjOXS2RjONfWxd4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067066; 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=TyQxWNnY+gK+Tsvhdhn4m8jGw7mYgUNvTO5dSaLKgco=; b=OLA8LoMRaCfDPsUMFCnuVpQIoVtyZ+5vsDtuDCzYiOdXcpzse/2Fyf1kBRNBg3+9+PlnzJhDhS1GTEBd/yNniTAiAh99ecfwFXeR4kMZPnFg3O+l+equnhHKuupAYSotFqNUrcJUFdo7Dv5O+LfyQ4a2Pt8QMTLGD8urtqAfEwU= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067066433928.2803845563318; Sun, 12 Jun 2022 13:51:06 -0700 (PDT) Received: from localhost ([::1]:47996 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UY5-0008TB-F8 for importer@patchew.org; Sun, 12 Jun 2022 16:51:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVp-0005Ye-Bq for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:45 -0400 Received: from mail-il1-x133.google.com ([2607:f8b0:4864:20::133]:35616) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVm-00006o-RP for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:45 -0400 Received: by mail-il1-x133.google.com with SMTP id u2so3041008iln.2 for ; Sun, 12 Jun 2022 13:48:42 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TyQxWNnY+gK+Tsvhdhn4m8jGw7mYgUNvTO5dSaLKgco=; b=F7MDmknhoFllzKFfB3pevJdNNphb4EVZG0N+G9EHUkNU8T1BAba8eaT2NBvrKICUlZ QYZHMuqZrWS5XGEzwwzRuCsFVREo20UrTfOVS921AjtkADSd6xZ86jKZcM2kmCQMqjI1 PIwff+YrhEusq1MYEGivwjY532npQSzsbw36ULYo3z1GzgbEphk/JQEUjfuNXAuB4f9E hc35Mri1/ETYk/nAPTbuoMy/ckKFcbrKhZXXpEmycY7gG4A3WDB8xk0KPEziAo4ZM10v oz1e2jFEW0sioBa8D9TKddgCs1W9I7gBIBqWelY2NDNvX6PSMCOr0/NWQtM+lugZCsuZ KiUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TyQxWNnY+gK+Tsvhdhn4m8jGw7mYgUNvTO5dSaLKgco=; b=RSt0SHhFPmBjfYIdhPJMSOEySZHO7E1mrI5aWxsHbBxQbp8Jf89bSi7l88B4KZWta4 FeagB7ztMaCqmXkQ+v9phvw6m7AWr2MT9NhNAdWU3WRFaIHDpNvpTTgcRPJoW4cgs01p 2KNEy+UyEG4LLKw6yBP1L+RLj9h3sy0EyHbZ0WB1uNUeUzHxWbIAK32piMNEopV+Iy6U 6ABQdaMUDKEJ6SasSjmp9jyHz3vm8E1BvoOcQwaWNGgsxlvFQzdl9N5BGVshM38d/dvW wk5+Luy7OyJNMJfC1Qg5GKm8t0xpAhfECwV8OH3oh9lB5y6DqrHlbVL7F0gItH2J6Br4 ZLZw== X-Gm-Message-State: AOAM533WrYU0GGDlatGSDNOc88Ndt/UvUVltukcd2ky8inFq6IVw4ywk MCy22gx+sq8AcD3+xoZcow8Os5qutfUgRw== X-Google-Smtp-Source: ABdhPJwXXOZCXeB+5inj4m3xWoHdf8dv+yKlt77RkyBQLyv+5tBOUDZLAcWZHUr/B0yDDDQTodZ7nA== X-Received: by 2002:a05:6e02:178b:b0:2d3:b44f:333a with SMTP id y11-20020a056e02178b00b002d3b44f333amr29300450ilu.29.1655066921452; Sun, 12 Jun 2022 13:48:41 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 03/11] bsd-user: Implement revoke, access, eaccess and faccessat Date: Sun, 12 Jun 2022 14:48:43 -0600 Message-Id: <20220612204851.19914-4-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::133; envelope-from=imp@bsdimp.com; helo=mail-il1-x133.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067068433100002 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 53 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 +++++++++++ 2 files changed, 69 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 3e0f160e312..37b3efccd2c 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -262,4 +262,57 @@ static abi_long do_bsd_closefrom(abi_long arg1) return get_errno(0); } =20 +/* revoke(2) */ +static abi_long do_bsd_revoke(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(revoke(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* access(2) */ +static abi_long do_bsd_access(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(access(path(p), arg2)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* eaccess(2) */ +static abi_long do_bsd_eaccess(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(eaccess(path(p), arg2)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* faccessat(2) */ +static abi_long do_bsd_faccessat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(faccessat(arg1, p, arg3, arg4)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index f7d09909925..7b7af914e49 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -285,6 +285,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_closefrom(arg1); break; =20 + case TARGET_FREEBSD_NR_revoke: /* revoke(2) */ + ret =3D do_bsd_revoke(arg1); + break; + + case TARGET_FREEBSD_NR_access: /* access(2) */ + ret =3D do_bsd_access(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_eaccess: /* eaccess(2) */ + ret =3D do_bsd_eaccess(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_faccessat: /* faccessat(2) */ + ret =3D do_bsd_faccessat(arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067067; cv=none; d=zohomail.com; s=zohoarc; b=AmiFte57sYeU6dgyKV3xNiOjvjEqClBAznkA4e1QuBf+C3rYzo4dRWBcMSivdfxD7n1p2V2BMmzY1xpk4rvh4PaQT5FqUlXNocFClxMhzORmWAq/qf4l93z9gVWDkMT/W+Yc7RJLoV+8vhz6TBrzvLQuD896frkymaZOWRQrwvo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067067; 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=cEJDJrjR3J4emGzve8B4wM/c+RbwK/Ry3KMIdR1yyzs=; b=cqoXgqu5KsxpzC5j+Lq7icsvFb1ZQWBstn3yD1HCXzxxdaEJuSCjEjxFIJ8882J98b0TDXUEB+HW0inWZr/cVWFoiWzyPV3LSKL6PeOj4g1mxy1qOrN96pM5esy19hOp+Lb+hJt/Wao89NAVyfQllDJONEq1u9lQiqj1wjTluQI= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067067136799.203374190951; Sun, 12 Jun 2022 13:51:07 -0700 (PDT) Received: from localhost ([::1]:47846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UY5-0008NM-Fx for importer@patchew.org; Sun, 12 Jun 2022 16:51:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVp-0005Ys-G8 for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:45 -0400 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]:40616) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVn-00006s-Ov for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:45 -0400 Received: by mail-io1-xd2c.google.com with SMTP id y12so4285781ior.7 for ; Sun, 12 Jun 2022 13:48:43 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cEJDJrjR3J4emGzve8B4wM/c+RbwK/Ry3KMIdR1yyzs=; b=aO9EHYlBAEFcZmhxfJ43HqGSlhgnk62hWSqmpl4dfHddkAAbZ1dv9CY4q8mKLup3gQ WkFwGXZxx6WpsTpf6ffWL+b/ENgISrYD0HyIDvnlmeIYMOMi311pueJIVWSpV3vunaPU DvEW7O0iWq3nN5dmM3p0m6gcB18AY2V1/PzAbWnHVYu8B+qqbU7mrsWaYm//d59nnYS4 ndeZfigjdp7ljobrYZ1ug6OjU0y2Jh3YqOLEhg0oe04QENAEKoSrqBD+a/YE7rabBcng cASFwr9gk3DPkrdGTjNSaUNbLvtflKNCdW1us9X41h+3LjeN5/iHx5y2XNJk2gNzM7Sa cPdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cEJDJrjR3J4emGzve8B4wM/c+RbwK/Ry3KMIdR1yyzs=; b=tmjKpotjbDkAwG3S1OKESFRRFKWRdPLuepxkZgVet07GTBiko/pl6UNXop1iOo6YYh u10SvhdygdpXo53sASahJ2YPg9V2bGd9ZFNRszY2BW73sUzbl3/XWh8VVfkgsiFPN/6t X+kGX9Q9zE1Y9kSC/W/5SihjYz80qpQr97FgsxJJExoG1EtxKoznNFUVpjRUnQecied9 3/wfVxDidft2az654eytCDeFSXTFjj1Dk46d5XbFRBM4DqHvMyYHg5K+JO9cUHUa7UDc JUGK2tUdMG3qnkUCTrBNaGz7ULsmcKWc2A6FMWVMhwJK8wuDUter91A2RjZfjsTSOOLB Icpw== X-Gm-Message-State: AOAM531SbSy87imuGD8EDBegbrtfuVfgONifVbGFNS3qZDUHvMalzmSL yBfGoEnWoflnk5rX5mtPvq4gkznKsYgkbg== X-Google-Smtp-Source: ABdhPJwvSsyXLuFhtQGNTRK0c2OdvLL6sCaIOV0G90JwORiuUYV6R6cToyA9NtE+XKxVMWtu51lqZg== X-Received: by 2002:a05:6602:1555:b0:669:da4a:d8f3 with SMTP id h21-20020a056602155500b00669da4ad8f3mr1804978iow.192.1655066922284; Sun, 12 Jun 2022 13:48:42 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 04/11] bsd-user: Implement chdir and fchdir Date: Sun, 12 Jun 2022 14:48:44 -0600 Message-Id: <20220612204851.19914-5-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d2c; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2c.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067068429100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 20 ++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 28 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 37b3efccd2c..8e5d302972c 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -315,4 +315,24 @@ static abi_long do_bsd_faccessat(abi_long arg1, abi_lo= ng arg2, return ret; } =20 +/* chdir(2) */ +static abi_long do_bsd_chdir(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chdir(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchdir(2) */ +static abi_long do_bsd_fchdir(abi_long arg1) +{ + + return get_errno(fchdir(arg1)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 7b7af914e49..8698db358c1 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -301,6 +301,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_faccessat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_chdir: /* chdir(2) */ + ret =3D do_bsd_chdir(arg1); + break; + + case TARGET_FREEBSD_NR_fchdir: /* fchdir(2) */ + ret =3D do_bsd_fchdir(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067070; cv=none; d=zohomail.com; s=zohoarc; b=LiEpNfpHqNmjL7vr/ZjLyYbQ670nq0tM6Ty0rhLb+GbBJ4v/1Xp1rZeLJkjx4pg4MzA2dbxufhaoit+UYkq1/zDwhq34mRhu14ThEivC1JvWOSty9FSx8o4wTzzNgsSHOq2H4/RrSFDqBiF9/4TNrnIRtTOjlG/SMl8hMUVcKsU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067070; 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=lL3H0FhitZl1pzcsae3oiTSrw/TIWnwbTRy00a3rTXc=; b=bC83yyuQUlUnremlcVeGL66cZq7mJnOCtfhnPaHQtsAXI2LTwHoxZMbYmpAzamdhrjgq2LJbm1wNFQoLn6Ev1XRtFNXV1wBeKaeEDadJtYa6jiA9MW+aqsq/P4a0kvF4l9p6bOKlYB5cTjo/yYNiN0MPotMDT2ovGSp9XaCMEfE= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067070432521.6421887134641; Sun, 12 Jun 2022 13:51:10 -0700 (PDT) Received: from localhost ([::1]:47916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UY9-0008Ph-6B for importer@patchew.org; Sun, 12 Jun 2022 16:51:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33066) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVq-0005aJ-9W for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:46 -0400 Received: from mail-io1-xd30.google.com ([2607:f8b0:4864:20::d30]:39896) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVo-000079-Ps for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:46 -0400 Received: by mail-io1-xd30.google.com with SMTP id i16so4295592ioa.6 for ; Sun, 12 Jun 2022 13:48:44 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lL3H0FhitZl1pzcsae3oiTSrw/TIWnwbTRy00a3rTXc=; b=5/W29+lINyWQZJgRN2WXyL7EDP2ABDape93pXtsmKT6/FAmljnHbi3YPRifHr5asL7 9eiFoq7iYnHLIORAlrC8JlCXVuqoRJZOkD6vmuUL8nApJ9Iafyge1YK+QmGzjaf7vcGv agDXr3SUgmhMWnxFAUw+xUq0FbgEnNgHXxDZ6Jp5FvUNp6JNUFWFb4nbCydrXSvuSRO+ Our8sMmQQDrKzpUaazDfSpO5BIE6irQf+G2zgKecESwYvW5qoipakeWZNV0osQwKBFL/ F6m3w3MY2zDnyuZUEBc3czk2GoYWKOxtiZvUc5kEbL0PpvDFMT9nps35tM5qZT6VvB83 HKKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lL3H0FhitZl1pzcsae3oiTSrw/TIWnwbTRy00a3rTXc=; b=HD4m9DC5ypOWXC1hYUOlqWT4qYzl1wAJ3XB1mxCvXwnfz+MFSQuBctOxsUvOYzuIVs KooIevAcvf9JlgP4d/1Yg8rebt0qfjt3RB5MghflGvD6Yp6eOn/yrA+kja8dg5xVZWE7 pzZtLwtQTZfot+RBJjZPRqh71vsf/fjNTYK3kVxO4E17Eb538Ovw0YVGROzQv4FM6ccD 8HsnOD3k3i2EWZLepfVTFLIB+0VZQvm4q9+NAXt9xFR1MoeK6KL5+9jiXPOU8omY9kvo 1pXQ1vanj+TIE/9pma9U/RaoFExTIe91qEotSIvfka9IliVkYnn01128HlyS2wefU1SE 6SDQ== X-Gm-Message-State: AOAM5334co/6eRviLgOf2CJmOMMbj16w2vsl1ipeewFTRh0aw4NK5Hgb fhHWixR2c9I6vANq7aNRN5/ft7km1eKabg== X-Google-Smtp-Source: ABdhPJw8EQKEYTUvi7B/h5U0vp5rm8Lhqei+tHjGe2aPiPwFSXTauzIaw/PhtZYKDREc0GN2dKgRAg== X-Received: by 2002:a5e:8a0d:0:b0:669:cf13:d643 with SMTP id d13-20020a5e8a0d000000b00669cf13d643mr3965654iok.58.1655066923495; Sun, 12 Jun 2022 13:48:43 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son , Jung-uk Kim Subject: [PATCH 05/11] bsd-user: Implement rename and renameat Date: Sun, 12 Jun 2022 14:48:45 -0600 Message-Id: <20220612204851.19914-6-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d30; envelope-from=imp@bsdimp.com; helo=mail-io1-xd30.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067072375100001 Content-Type: text/plain; charset="utf-8" Plus the helper LOCK_PATH2 and UNLOCK_PATH2 macros. Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 45 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 +++++++ 2 files changed, 53 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 8e5d302972c..d75883ce95f 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -32,6 +32,24 @@ do { \ =20 #define UNLOCK_PATH(p, arg) unlock_user(p, arg, 0) =20 +#define LOCK_PATH2(p1, arg1, p2, arg2) \ +do { \ + (p1) =3D lock_user_string(arg1); \ + if ((p1) =3D=3D NULL) { \ + return -TARGET_EFAULT; \ + } \ + (p2) =3D lock_user_string(arg2); \ + if ((p2) =3D=3D NULL) { \ + unlock_user(p1, arg1, 0); \ + return -TARGET_EFAULT; \ + } \ +} while (0) + +#define UNLOCK_PATH2(p1, arg1, p2, arg2) \ +do { \ + unlock_user(p2, arg2, 0); \ + unlock_user(p1, arg1, 0); \ +} while (0) =20 extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy); @@ -335,4 +353,31 @@ static abi_long do_bsd_fchdir(abi_long arg1) return get_errno(fchdir(arg1)); } =20 +/* rename(2) */ +static abi_long do_bsd_rename(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + ret =3D get_errno(rename(p1, p2)); /* XXX path(p1), path(p2) */ + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* renameat(2) */ +static abi_long do_bsd_renameat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg2, p2, arg4); + ret =3D get_errno(renameat(arg1, p1, arg3, p2)); + UNLOCK_PATH2(p1, arg2, p2, arg4); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 8698db358c1..2d62a546328 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -309,6 +309,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fchdir(arg1); break; =20 + case TARGET_FREEBSD_NR_rename: /* rename(2) */ + ret =3D do_bsd_rename(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_renameat: /* renameat(2) */ + ret =3D do_bsd_renameat(arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067194; cv=none; d=zohomail.com; s=zohoarc; b=cMm5CHsjl1E2+Rf79g/+vL5ehhhshrMQlClQEfSwDYvCj9l/+svyI13pbqg5n7hFvZ/xFcotqQQR0s/22i2ixJkfdcaEu1TJDpWhSvmbJJFn5gk/SU8G0BTnr8TkQmEd+WeyIpo2iZD8a5s2DGXmZxXxZCIXoYbVWuS2Qa/6xw8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067194; 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=L+PVHLGwzbvZV2Xe3SKiH6sY/CBeQbx+afyzqGinzLA=; b=HIqce0Q0j+iOo8LTe9hj6MfwBlKVkWTfb6HvtVkEOFz0dXyM8moUb4t0kzIZXfxqyVIOeO02JQi9Y1lGEwa5Zr9lvun5Ukj3egj3Mg5DtOX5E9rAjnh1L02b8HWqWgr+uhBBQOpjwfms0uOqesvPLXz92F4lUuAJpwqHlE8mbCs= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067194911455.60489369492996; Sun, 12 Jun 2022 13:53:14 -0700 (PDT) Received: from localhost ([::1]:56484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0Ua9-0005qr-Hk for importer@patchew.org; Sun, 12 Jun 2022 16:53:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVr-0005bv-56 for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:47 -0400 Received: from mail-io1-xd29.google.com ([2607:f8b0:4864:20::d29]:37491) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVp-00007P-Nb for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:46 -0400 Received: by mail-io1-xd29.google.com with SMTP id n11so4305718iod.4 for ; Sun, 12 Jun 2022 13:48:45 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L+PVHLGwzbvZV2Xe3SKiH6sY/CBeQbx+afyzqGinzLA=; b=SUxgaVRojcebj3W6fuRM8MP5UdbXaP5wixd6PKlZGBnzpJwhnk+EvjypVbzUcIDMY0 U9sMyhoZTyWeo/mX3G3BJUfuZ12qP2RIPg87no2zc1DK129a+u1wNNUKWrbBE1a99inE HGM9OngSQIEbJfX57Kh2iG37s8uxO5fuRr3S0x9zfaiU9FyXret7x31wPBeokHrm6kGA YWd4H9KvUxz4sAI+fI+vDXVnStc76h/DaKRFzmhBRuBlOBaRqk1TiJf+sexKHII9Nv0R GyrqBMG9S7WZhwatalL9dvcespYNyJl+wT9a+JbVAyK/2OAE539aHKtUViOKZNs+0c0L G03g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L+PVHLGwzbvZV2Xe3SKiH6sY/CBeQbx+afyzqGinzLA=; b=Hq/KnSrQWw0BCSSkx9SjgNOceoqptBrRxzOBb0wns2iyIzfLnPQ+sbtc2jFfleBBlC PfpO7Ii0nxlRXl3HGM2P+LXm+ad58SBfdWqIycbOPxrqVYnZIAq22S0UMvXjRT0eXzxX xfqbjbsVCoDLQY5YMViTNyQCVP0FIajhzcqvfSJ29NQBBuwHq8S/OWLZr/BvySqydb+d SQhs5ktJM8qiWXlIo0GDASar5yY/6pHzEC5Xxk5dRN5JrpG6mQvSz1zfOPZrVoTZQzwF anurJvZLWWAHYIvBuNGRXvx6pX3Hz+aD8lmsmHwuZ0ORgB/7OjMtn7FPFPsLQ7X1Gso1 JxHA== X-Gm-Message-State: AOAM530hKi5U3E+D4iKWW63YOf5PxSsaVhs3pIe0A+C7Oma7AbhZCC8U ebOK3yIJxvnxC+7sDrOnmpIFEAJCd6ZeAQ== X-Google-Smtp-Source: ABdhPJwGgAGwqxFMgwknj8+fb6gMUgGOBA4OLXD5nlsf/byCuY4laJnter/6YOKpdQqkRCavDVsEOQ== X-Received: by 2002:a05:6638:60b:b0:331:86e2:1f21 with SMTP id g11-20020a056638060b00b0033186e21f21mr24714392jar.116.1655066924466; Sun, 12 Jun 2022 13:48:44 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son , Jung-uk Kim Subject: [PATCH 06/11] bsd-user: Implement link, linkat, unlink and unlinkat Date: Sun, 12 Jun 2022 14:48:46 -0600 Message-Id: <20220612204851.19914-7-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d29; envelope-from=imp@bsdimp.com; helo=mail-io1-xd29.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067195142100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 54 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 +++++++++++ 2 files changed, 70 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index d75883ce95f..08b1d3a53a9 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -380,4 +380,58 @@ static abi_long do_bsd_renameat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* link(2) */ +static abi_long do_bsd_link(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + ret =3D get_errno(link(p1, p2)); /* XXX path(p1), path(p2) */ + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* linkat(2) */ +static abi_long do_bsd_linkat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg2, p2, arg4); + ret =3D get_errno(linkat(arg1, p1, arg3, p2, arg5)); + UNLOCK_PATH2(p1, arg2, p2, arg4); + + return ret; +} + +/* unlink(2) */ +static abi_long do_bsd_unlink(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(unlink(p)); /* XXX path(p) */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* unlinkat(2) */ +static abi_long do_bsd_unlinkat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(unlinkat(arg1, p, arg3)); /* XXX path(p) */ + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 2d62a546328..c847e4d20c6 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -317,6 +317,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_renameat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_link: /* link(2) */ + ret =3D do_bsd_link(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_linkat: /* linkat(2) */ + ret =3D do_bsd_linkat(arg1, arg2, arg3, arg4, arg5); + break; + + case TARGET_FREEBSD_NR_unlink: /* unlink(2) */ + ret =3D do_bsd_unlink(arg1); + break; + + case TARGET_FREEBSD_NR_unlinkat: /* unlinkat(2) */ + ret =3D do_bsd_unlinkat(arg1, arg2, arg3); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067188; cv=none; d=zohomail.com; s=zohoarc; b=OvT88VVR3DyTQDOJ2gDp2O9suTQu5QqhBsz9rA/+mGoRJrm2mUWuLReu3RPZCAH/C0qvKBwUX4hPCQG6wQZz3l1U6UwHUVy0SMyWmoN+Uv+AXz2Z4/PkQPdk1aCQr3GFUnH/b1zcixKTQ4Xfo6ld8/8QSMklJjjbUZZglZRp00k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067188; 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=R1mzDwKIeIW7quk19UbE4bGD0UX6piyaXSXw0/n5EbY=; b=eZkYtY0Nb94W5Zwjt2XIDPGi6nZ21UC13jW8mc2lF8WLeahV0VnsnoLEahZvRTF4V1u1GPCn1uoXZ7sLGyjpRn4fXLzPh1QlinuqSTsBmqucp32YvpHxBmV39r4xYezlERkm4JkuwCc8VSWlqouk+gDXjmCE9LbAzpkBdKU2ylM= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067188642880.404391579773; Sun, 12 Jun 2022 13:53:08 -0700 (PDT) Received: from localhost ([::1]:56290 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0Ua3-0005id-Iu for importer@patchew.org; Sun, 12 Jun 2022 16:53:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33082) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVr-0005cT-HJ for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:47 -0400 Received: from mail-io1-xd32.google.com ([2607:f8b0:4864:20::d32]:42691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVq-00006a-2j for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:47 -0400 Received: by mail-io1-xd32.google.com with SMTP id a10so4284625ioe.9 for ; Sun, 12 Jun 2022 13:48:45 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=R1mzDwKIeIW7quk19UbE4bGD0UX6piyaXSXw0/n5EbY=; b=yUYkMLWP6ULYwUvdm2U5JZh+G3enM7RSItkcVbsv4jQk9VVacEnd7Q+ZBsziN1BU4w JeX7orDDH7RdxW8TqZbmL8DXi1/NCb122Oj1Eg8KmrHNKZmKd7Di1Wx2LHR0P9NKJGKw vvC0f8+XYDoFSd8Uo9Idvp4lodXbvMp9SjiblRxLqw0Vk/Vqi7YnV/jxdDLVarf2TSEO 2pRXqfa9QROACAlmT4Ily5tA1aQ5Tjv3QUCX0c+3dqBH1tbxyRZQAE835fnPkpeiwz8w DMEgu2f1CVWiAZNbzgdKdvlOR20XISyiMN3edU25fyIBxEfbftkQ8qbEWrvd2PIS5qY2 u2aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=R1mzDwKIeIW7quk19UbE4bGD0UX6piyaXSXw0/n5EbY=; b=Rm7P+/usqAhVFZ6dVXlguZaenOKV9ah43pOtRAuPRHI02zxlPI6mfVWvqWuD6IOxFv mC6NxSYkNBSFg49WFChVpqdEtoxtV2xWcEVXy6Re7u9oc9boq29acGBlLOK7AxEGYhqO breXuy57sGu4/IVurHi03EpfWBt1ZX6+W8eJ70fd6/46m5iGpbiTI6ZeHBvCd4CAW8bG /9IS0y3u/B9UVkKZ9lhVIjhebNc/U7tajJih0zXj4weYGP4ZWmwTONk2Hpbso7ps9kC4 ptx+hJZtykPGPap5iNLX7fINKdyXg4dk8lPDQsyLYIOrYSfMK/yZHdvI7/zdIe5C/lzO d54g== X-Gm-Message-State: AOAM531VVRkrpjlzUpp+1r1vp+Mk3s6BuRs+PbQubp/GLO0P0StGR7KK KkzJuh9V3cmuihXscs3acCJvZDAXjDNuLQ== X-Google-Smtp-Source: ABdhPJzeTZ3wV+azKHH6ZfkLtWpQlDUbpkmFRXI+wM1Mwoyg8NH4JI4EbNMeF3a2f9bbSHCwqpaPmg== X-Received: by 2002:a05:6602:27c6:b0:657:7e7a:11f3 with SMTP id l6-20020a05660227c600b006577e7a11f3mr26508932ios.40.1655066925215; Sun, 12 Jun 2022 13:48:45 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 07/11] bsd-user: Implement mkdir and mkdirat Date: Sun, 12 Jun 2022 14:48:47 -0600 Message-Id: <20220612204851.19914-8-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d32; envelope-from=imp@bsdimp.com; helo=mail-io1-xd32.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067189215100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 27 +++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 08b1d3a53a9..35036364ad8 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -434,4 +434,31 @@ static abi_long do_bsd_unlinkat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* mkdir(2) */ +static abi_long do_bsd_mkdir(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(mkdir(p, arg2)); /* XXX path(p) */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* mkdirat(2) */ +static abi_long do_bsd_mkdirat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(mkdirat(arg1, p, arg3)); + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index c847e4d20c6..9381ddb5be1 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -333,6 +333,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_unlinkat(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_mkdir: /* mkdir(2) */ + ret =3D do_bsd_mkdir(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_mkdirat: /* mkdirat(2) */ + ret =3D do_bsd_mkdirat(arg1, arg2, arg3); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067193; cv=none; d=zohomail.com; s=zohoarc; b=cOgGNfR49pkkJ4M8cBp1DFoNrFMpLm1Q0W7cSM/PBudISNDl7Hc3CI4aqUSQPWHkdC4Owl1ylJEqGHdGYiCwX5rZq9AkuNGTcgpL8q2eA1II7T/4rB+NUzDmR67XcJ/d7xTVnZ73W3dv+QSC2da5yyQDaeRoUcE1RAvYiUjoGP4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067193; 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=lNHilm5WC9lFwAXJIS6izFwhO+FpdiPqCamgzblazVY=; b=PC0sX8b0AwTT0x/HwCBIjSkSsdNxWXezmrUSKF8HpPngS6/1L63oBBlZ/Q/pX7jTnaeH29BykCfpN7grp5iSi7HlRmuRTggZjvIQSACYttnqSmUiCGxzv2JWuJWouE+dvatV+6ElprihOoCj1T80OoaQZJANKIJ8ca7gxlssQUM= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165506719385439.337757670590804; Sun, 12 Jun 2022 13:53:13 -0700 (PDT) Received: from localhost ([::1]:56510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0Ua8-0005ri-RM for importer@patchew.org; Sun, 12 Jun 2022 16:53:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33108) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVt-0005gV-1N for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:49 -0400 Received: from mail-io1-xd2f.google.com ([2607:f8b0:4864:20::d2f]:36370) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVr-00007o-Kn for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:48 -0400 Received: by mail-io1-xd2f.google.com with SMTP id e80so4307811iof.3 for ; Sun, 12 Jun 2022 13:48:47 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lNHilm5WC9lFwAXJIS6izFwhO+FpdiPqCamgzblazVY=; b=jrJ15Yar6wd88cN2Y+pk+ORrTsYz+5N/SFGhmhAqfpGSQbWUQHW/My0PIejjdIvuJK VWk0P+hKVZZGvrcr2bNcliA92J1YzzSc+01PMGm7bZK6noDOlkVJuEsIq2wVtTzBKVBl 0dwgKvciEXE+6heZXEcJflJGCOMTrK/mTFZ5B9duGC4KEId9sQdeGJHaGjQ5/Vu/r7Lw iJBDmJsYtt8oJAHNxMiGejlzSryMw2WGvktYOzkoQ6eY9kGsOEi/tIbtK8a/jNGWOA8u ggGzxDYmQqsjS6q3wjnRooHKtIYcPb0ZWJXL+8IZTQbetvqai34g37WEcUpzJ+fpl0e3 AVCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lNHilm5WC9lFwAXJIS6izFwhO+FpdiPqCamgzblazVY=; b=5JpbDZV8F41W+2T0m7WfluSjGfWK5UAzj1Siso2MW+KmX8EOhFtFIYi6qPBHExCLXE VAn1tavA2xCS6rbJdsod3xp86W66gMw6rvE6QxwCMhggbT6q1xuocpWbPauIdxyAJz8q jommdDUUx+6m7Y/VkcOKdnsZr33pjHMQyDzpZ4JSdEHut0gXq4LX9wvQPWVO38NkcQBx rNlIMDhj/d//dmRldJFrQ38xfHj0ZNoaP3QW7nrSCj9Rtb6dhP29OHVPxS3GsHNawqfC 14rfrh+gwhfstkgpA3gRK4w1XaTqH35GAvRSJTpu0eW5ZI2SrQsUqJwcfHy6eeHDdHot 8+5A== X-Gm-Message-State: AOAM531HWIEgIDb89tKJot3FHkWVzLCbR7ibrOwLTfAUny6xHLWRb9kZ E/sk5qZ7Pa6FjljSmFR0AaFSgEC5m1DqYg== X-Google-Smtp-Source: ABdhPJw5dNs2z9TCGsAz5IuwK4pl6CozQ9zd+ufDHBW6zurcvz5U/D/4aYc8wKYVoppezbBgOZ1zQQ== X-Received: by 2002:a05:6638:3474:b0:331:ca81:602a with SMTP id q52-20020a056638347400b00331ca81602amr16843237jav.88.1655066926206; Sun, 12 Jun 2022 13:48:46 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son , Jung-uk Kim Subject: [PATCH 08/11] bsd-user: Implement rmdir and undocumented -_getcwd Date: Sun, 12 Jun 2022 14:48:48 -0600 Message-Id: <20220612204851.19914-9-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d2f; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2f.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067195145100002 Content-Type: text/plain; charset="utf-8" Implemenet rmdir and __getcwd. Declare __getcwd as extern because there's no installed FreeBSD header that has it. It's used internally by libc, which doesn't provide an external declaration, but does export the symbol. Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh --- bsd-user/bsd-file.h | 30 ++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 38 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 35036364ad8..500d6ba78b9 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -55,6 +55,7 @@ extern struct iovec *lock_iovec(int type, abi_ulong targe= t_addr, int count, int copy); extern void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int cou= nt, int copy); +extern int __getcwd(char *path, size_t len); =20 int safe_open(const char *path, int flags, mode_t mode); int safe_openat(int fd, const char *path, int flags, mode_t mode); @@ -461,4 +462,33 @@ static abi_long do_bsd_mkdirat(abi_long arg1, abi_long= arg2, return ret; } =20 +/* rmdir(2) */ +static abi_long do_bsd_rmdir(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(rmdir(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* undocumented __getcwd(char *buf, size_t len) system call */ +static abi_long do_bsd___getcwd(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + p =3D lock_user(VERIFY_WRITE, arg1, arg2, 0); + if (p =3D=3D NULL) { + return -TARGET_EFAULT; + } + ret =3D __getcwd(p, arg2); + unlock_user(p, arg1, ret =3D=3D 0 ? strlen(p) + 1 : 0); + + return get_errno(ret); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 9381ddb5be1..e28a566d6c3 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -341,6 +341,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_mkdirat(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_rmdir: /* rmdir(2) (XXX no rmdirat()?) */ + ret =3D do_bsd_rmdir(arg1); + break; + + case TARGET_FREEBSD_NR___getcwd: /* undocumented __getcwd() */ + ret =3D do_bsd___getcwd(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067357; cv=none; d=zohomail.com; s=zohoarc; b=M/LSzib+2wUjBqwDApBYHkyK9PTZul0/0uVcj87kCzejUea2bjqSxhMMnI8OBMizvCgFCvMuTeQ4iDhtym3iiz/MDtS336/ILkefMSqXVd6V2PPN/he10Dm9KXvY6UZexregqTgiKMlY8BEMTopzzTWWZiJcvYDO6ax9/SjaDL4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067357; 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=9KtZlVmXRy/+cq3lWCHK1c9dFeH198343UEAdKQVSjw=; b=FljeBofoVdXrrwOgVkqA2vGeVijJpK12xuiRuEL62CTiEb2Jps/UGSAo/XZImJ+hJTPROmFhWLI6U27X7C6Hd+Qv7NlYn3un4jURT7XrB0FvRb+9rd9gUOJH/P02xOgHVgF/MLZoIEmc8nbmOFFukOjPvhaxLKlaN549M2z7P5k= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165506735785837.66309110565851; Sun, 12 Jun 2022 13:55:57 -0700 (PDT) Received: from localhost ([::1]:35988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0Ucm-0002ud-M9 for importer@patchew.org; Sun, 12 Jun 2022 16:55:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVt-0005ht-IB for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:49 -0400 Received: from mail-il1-x133.google.com ([2607:f8b0:4864:20::133]:39703) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVs-000082-8c for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:49 -0400 Received: by mail-il1-x133.google.com with SMTP id z11so3031158ilq.6 for ; Sun, 12 Jun 2022 13:48:47 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9KtZlVmXRy/+cq3lWCHK1c9dFeH198343UEAdKQVSjw=; b=mBZLOXRMsDbOxfC1kUoWfMgPqDsBByu46kT82F4ziNevclzN5Ki2NLKCcMOwUpEfZW cfNH4Z0kmL46gM0z0IiJcf/kpTJLLza5lxlfdiDUGCXknN3GGLVSjfSVMI3Wi0ARYVDf //s1cnSJ/nJZV6aAASMF4xqb/rSBL5emE8+oJOyyqcyFDw/Od7N0EHZGIbPFTlgGOOzr Jiw/SmZ9UF4vJibeK9IUrK7YfzNmok4LGuN9EGyaWt/A5Y0UBCNBra5pTU7RmTMWXJuy AjKiGBdvtnt45pXsS88ARI+nzexnHJmQc5BJkAEs+0J5hot6EyVZuSob01LQ9IGjMXQh KsCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9KtZlVmXRy/+cq3lWCHK1c9dFeH198343UEAdKQVSjw=; b=cddKXRpm1z2KPANNfGmJCuvBQDa7Y+6r0nsLHwIGhrUTv02nFI6bRUjQZKOb8anObg JiBPT5TmgvaDhEb3uC6GjWnegyGdYlMeNTRmfvIYzimDXitEU4umK0bBTStW0bQmb8su 1T0cPxPiNU/T+VfnyElrPzcH7U+D+gdv9lgJKP9m4cHWRrfd+2B5RupWt86ENXS0d6sm 02lCf5Q3EWIC2Eq+JW4NRD4V5HkCHsfpd5kN6QucxLNWlIASZvCI+AI9pl7ObjMco4QC mAh2vJoOEb4YSqkbqewLsgwmvwjtfecAGdCw0rEDjtq2fu9+deX5CF55knrKrnlAncNY ubdg== X-Gm-Message-State: AOAM532BHGCXNmzlOKaISLbpLw/z5GZIRR/WobLi6GJf3SsTS4B+qDzo 1cDQbqPzuwdMG6EY3e3o7ndGwF6cyWP/Eg== X-Google-Smtp-Source: ABdhPJyn+deOCvD6FpPSysLQl9isc5sfTIaCOuOKTIy5PV7P3pj+PxMi8i9YagbTdZhzOf82DyqMDA== X-Received: by 2002:a05:6e02:152f:b0:2d4:980:a529 with SMTP id i15-20020a056e02152f00b002d40980a529mr26871389ilu.72.1655066927035; Sun, 12 Jun 2022 13:48:47 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 09/11] bsd-user: Implement dup and dup2 Date: Sun, 12 Jun 2022 14:48:49 -0600 Message-Id: <20220612204851.19914-10-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::133; envelope-from=imp@bsdimp.com; helo=mail-il1-x133.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067359944100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 14 ++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 500d6ba78b9..73263ba482f 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -491,4 +491,18 @@ static abi_long do_bsd___getcwd(abi_long arg1, abi_lon= g arg2) return get_errno(ret); } =20 +/* dup(2) */ +static abi_long do_bsd_dup(abi_long arg1) +{ + + return get_errno(dup(arg1)); +} + +/* dup2(2) */ +static abi_long do_bsd_dup2(abi_long arg1, abi_long arg2) +{ + + return get_errno(dup2(arg1, arg2)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index e28a566d6c3..d9ebb9d50d6 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -349,6 +349,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd___getcwd(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_dup: /* dup(2) */ + ret =3D do_bsd_dup(arg1); + break; + + case TARGET_FREEBSD_NR_dup2: /* dup2(2) */ + ret =3D do_bsd_dup2(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067453; cv=none; d=zohomail.com; s=zohoarc; b=jJdnm+ooEZCw/qlvcWgh1ZCTbdJhyRlSSwdOT3TAEHK0dX/twTwGA5g8e7ZBLgnn46g9ZP5iI38Y7gIbYApBh9In9AgpiEwb6K4lynEZQlfHp8sSzrkQAfOmkj6tjOdwHlw+ehESDjmyIJpMuJzajPi7rP8J0/snui5Wj26zx3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067453; 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=iEvM8YBA1yOsYQh81fSc7NKkcngxX4Ycc/p+xHYctVs=; b=Vp8d/EOXK7YmHa40PuRWpauQ6jCE7jT0auaCVi1MxYugcJASmDkyZ+itQMBDJYW/6YipRwajBHIjiMmWXRaevgOQfT9i4GvajAIC0pEis4tuoCay/I0vN1gtkEslZx+RmhgWi25z0n0R+yr7lYeY56MwqvcTWfTk38nVqfYgOV4= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067453186507.9839095227553; Sun, 12 Jun 2022 13:57:33 -0700 (PDT) Received: from localhost ([::1]:41616 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0UeJ-0006q4-Jd for importer@patchew.org; Sun, 12 Jun 2022 16:57:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33136) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVv-0005l6-5V for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:51 -0400 Received: from mail-io1-xd2b.google.com ([2607:f8b0:4864:20::d2b]:34481) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVt-000088-Hh for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:50 -0400 Received: by mail-io1-xd2b.google.com with SMTP id p128so4323870iof.1 for ; Sun, 12 Jun 2022 13:48:49 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iEvM8YBA1yOsYQh81fSc7NKkcngxX4Ycc/p+xHYctVs=; b=Fe7YDJ98HX2g9VuSkhW3zKESlEiBQSGs80ve1eZ+gFeroLuWhyqfYSM5sHCPO+2TLP wmMAc9to3vZbwvpJPdFHNfZhZDmo6mtHdvNaI/B1KSPJAmSs7YmhJmrEigg3pMHJ5fEl KDVOI4tv5QOjHSVJXqAUePB+Dw+9BBU3oYhCzmg2BMyeXJH3+7FjrVcz5KHXq2FU42IO 48UJMrwq5O3+TmVytNgPt/XTJfea6FMID/RzgI4ISa20CGSSaCHhc4r/dFcZTfWwE5uv UmKzN2jGRUmltC83Ahog+oJwzg12/XDSMLnjyR/yeg98XWOr61rWMCf0vBVBTmoQuJd6 6o5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iEvM8YBA1yOsYQh81fSc7NKkcngxX4Ycc/p+xHYctVs=; b=GEQ/Rj02oZ+QT8sbnL7ra5QvLVM0nQ/9OSVAazBtPkxBUqkQNWW+C7raJqENYnHUVS ggjzcTiDrVPPAul+w+SRepyhUdiJNNSbLQe6aD4E5Z+4Z79IFYFiJkUF9CCRCLgwyCl3 ZL0Hl3in4Nb/WkkilI8nQexiR590YTqBq+MClI/VBJAYvElKLrrULU7EaJ7HgQNvlj1+ XZ1M38eJorKyojnMYrqTAkz1hRCq4BzPRKp1AMbo6G/GFGnEI/dWm3qTHPHFB3H87htB N9lYwbcn0MQkBLGGV8yzle6g1nOrfb/aj+LrFlH8bWtysPIXcd9ImH10qn6xfhrvcz2n iNBQ== X-Gm-Message-State: AOAM533dZSYKZhEEoeDVeyI9971g+FaDUCr9yOR3vt4rOVKt08zKbQ58 SWGuwdA+AE90rwm2kbgdLa6EhAK401d/3g== X-Google-Smtp-Source: ABdhPJwVLxfn+k89dZQioLQMKh2kso0YhnBdtIf9gtxOFvxIQ6NeUJd3iw7kwxCOhWlgsQpCiIekIA== X-Received: by 2002:a05:6602:2a42:b0:65a:eb90:2a12 with SMTP id k2-20020a0566022a4200b0065aeb902a12mr26465204iov.73.1655066928158; Sun, 12 Jun 2022 13:48:48 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 10/11] bsd-user: Implement trunctate and ftruncate Date: Sun, 12 Jun 2022 14:48:50 -0600 Message-Id: <20220612204851.19914-11-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d2b; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2b.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067454509100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 30 ++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 38 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 73263ba482f..ccfa65ec5e9 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -505,4 +505,34 @@ static abi_long do_bsd_dup2(abi_long arg1, abi_long ar= g2) return get_errno(dup2(arg1, arg2)); } =20 +/* truncate(2) */ +static abi_long do_bsd_truncate(void *cpu_env, abi_long arg1, + abi_long arg2, abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + if (regpairs_aligned(cpu_env) !=3D 0) { + arg2 =3D arg3; + arg3 =3D arg4; + } + ret =3D get_errno(truncate(p, target_arg64(arg2, arg3))); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* ftruncate(2) */ +static abi_long do_bsd_ftruncate(void *cpu_env, abi_long arg1, + abi_long arg2, abi_long arg3, abi_long arg4) +{ + + if (regpairs_aligned(cpu_env) !=3D 0) { + arg2 =3D arg3; + arg3 =3D arg4; + } + return get_errno(ftruncate(arg1, target_arg64(arg2, arg3))); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index d9ebb9d50d6..3c8f6cad0e8 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -357,6 +357,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_dup2(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_truncate: /* truncate(2) */ + ret =3D do_bsd_truncate(cpu_env, arg1, arg2, arg3, arg4); + break; + + case TARGET_FREEBSD_NR_ftruncate: /* ftruncate(2) */ + ret =3D do_bsd_ftruncate(cpu_env, arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 17:35:04 2026 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 ARC-Seal: i=1; a=rsa-sha256; t=1655067361; cv=none; d=zohomail.com; s=zohoarc; b=OghXc/Z+EBL9U8qcZR5nxWlJf6cvHikjcb4Wtf1bBu5K1iPgxP8xjzUmB2e6jSoyZUH6ALKYhU88uuo9+LkYawk47jdimhrPJnrXx/ppRtLYm+SHC+IeOkDKnbQPzLB97wI9tNVZ4JVTC0rV4MzoP+TmgO4mzAU19FHYA3BUv4w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655067361; 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=ERo6fPriI1UFvIxjwkCbe1K6cPmR6dzyqUXBVyEFgsg=; b=aG3Fau8SU5K2xgnC9G6KCuChAqcaAm9UFRpaIuLwxZ+J6xU2YZWmeN4cZGKp+QO5D4kf9u7oqm9SeCOF2Mw4Y+bRcwwCDhwMOou5PGndZ1sx9NVJEbitXMcu7ODY8GVny5WGc0e3JtWGb5m/JuvjiYvZlavdAxmMMCMxZ/HbKw0= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655067361323184.6161791022281; Sun, 12 Jun 2022 13:56:01 -0700 (PDT) Received: from localhost ([::1]:36266 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0Ucp-00035s-Mg for importer@patchew.org; Sun, 12 Jun 2022 16:55:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33138) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0UVv-0005nD-Mx for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:51 -0400 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]:38442) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0UVu-00008O-AK for qemu-devel@nongnu.org; Sun, 12 Jun 2022 16:48:51 -0400 Received: by mail-io1-xd2e.google.com with SMTP id r5so4309992iod.5 for ; Sun, 12 Jun 2022 13:48:50 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id j2-20020a056e02124200b002d1d8de99e7sm2911612ilq.40.2022.06.12.13.48.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jun 2022 13:48:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ERo6fPriI1UFvIxjwkCbe1K6cPmR6dzyqUXBVyEFgsg=; b=xbFY/qSZnyE9kL0QimzqThi85+85V6ZfhhgzKmd7eM7w2ZGN/76R3XNsA8JpVFw6/2 u36/r2ctJy3niMp3GfJfvo6n2BAXNZW0J78Kdl/SfijyyCPVsiYyQp6y7IA+mQoR9OER twmo+gOJEFY+rLk1m6vbHrvWKs5D3w/YVrz7tpY0A51ozSIfILhY8e7ZqE3Yq5L/GsLo qWhfjB9MngFZvRZmKgE2yc6SO6L/+31y812CG9U0Wxbzbwf2+pOtaTS4z5qmYwOfHhbE oPwm13ox5yNWG29lz+HkiIbtE6kMqdzzzWnH4LffRmPWqdL2Zw24lBfCo913KTznU0Gu N6nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ERo6fPriI1UFvIxjwkCbe1K6cPmR6dzyqUXBVyEFgsg=; b=bNVY0SDWNxXgx64t9ol2odpwJ+gDd8w2B/Df329lmppCPx0NNRRxvUDrxnviHan7d3 TSab00fCXFWlGE2R1C6NfSd2KQYYpHxmV5sroK//iQyp40DUhxWXdpdJNgpWpSlAgKm7 r3lbVnubwEP0NxphS8kTineutDMTrJTBxRGQJsGT3wgtVEz2KRTReXkk455pWen5G0PE 2Qz/elBaTW5fqcPqDXcgP7uZJYei/h805525jqcn+8cJCNz9uhj6ySTHlinK1dP9H6fN hbbRAhCOgSs4LndRXRMTTFh/7lX29qJ+oq2epkpGJFBZU9lYIFNxtgtv3HIOqnPivAfh CQIQ== X-Gm-Message-State: AOAM530ow3QBOETgGVRFurfIVaPxQti3P2nNi+V1JyampFM2YCtuyTOn byqyfPODl5tIEtKFY44upIV9C4C8cLW4DA== X-Google-Smtp-Source: ABdhPJyALc6uibcT9e9rbkReEVDgsLNzaXi6K4H8s6tJoUdfFJ2c9WCVJb2L+7hv4FojDWjS95LAOw== X-Received: by 2002:a05:6602:c3:b0:64f:d28f:a62c with SMTP id z3-20020a05660200c300b0064fd28fa62cmr26238845ioe.212.1655066929094; Sun, 12 Jun 2022 13:48:49 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, arrowd@freebsd.org, Kyle Evans , Richard Henderson , Stacey Son Subject: [PATCH 11/11] bsd-user: Implement acct and sync Date: Sun, 12 Jun 2022 14:48:51 -0600 Message-Id: <20220612204851.19914-12-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220612204851.19914-1-imp@bsdimp.com> References: <20220612204851.19914-1-imp@bsdimp.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: none client-ip=2607:f8b0:4864:20::d2e; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2e.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655067361869100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 24 ++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 32 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index ccfa65ec5e9..6b20442ecdc 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -535,4 +535,28 @@ static abi_long do_bsd_ftruncate(void *cpu_env, abi_lo= ng arg1, return get_errno(ftruncate(arg1, target_arg64(arg2, arg3))); } =20 +/* acct(2) */ +static abi_long do_bsd_acct(abi_long arg1) +{ + abi_long ret; + void *p; + + if (arg1 =3D=3D 0) { + ret =3D get_errno(acct(NULL)); + } else { + LOCK_PATH(p, arg1); + ret =3D get_errno(acct(path(p))); + UNLOCK_PATH(p, arg1); + } + return ret; +} + +/* sync(2) */ +static abi_long do_bsd_sync(void) +{ + + sync(); + return 0; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 3c8f6cad0e8..2623caf8007 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -365,6 +365,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_ftruncate(cpu_env, arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_acct: /* acct(2) */ + ret =3D do_bsd_acct(arg1); + break; + + case TARGET_FREEBSD_NR_sync: /* sync(2) */ + ret =3D do_bsd_sync(); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1