From nobody Wed May 15 16:15:22 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=1694288392; cv=none; d=zohomail.com; s=zohoarc; b=O8S61jJA8LAxaY4WrH1onqNGeeVNOGmMnH9qDIMpiPhvdl18pb0cbac0YZylI7xPbuhboGHcknoce4WT6VB4FHXOqDhFaSmgtGnosD+LC6B0K+crIOt3zw9zsmYRIo0IN9zUT2ddYW+UiALJfW0+3Vkzim1Eh39m2zS/HQj7VtU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288392; 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=wJTRK8Tm4oCBWcEts58SyC6/NTwYSAeOzRKwQE1l8qs=; b=kPakLgRhHTdXT4SVlobx/KBfGX/cGCpqwd0ADjxY0St0jqauyYnhxuO7IOypKcTEOKSpA1bQvmLXSMU5AQScmgkHJYbxOXm1mQZFXfdK1nLk/MAE7k++++cVJgYxwPzptwrz87HSGC8ZcH9o8YxP6lQes4AMS14/5voGAHMt2C8= 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 1694288392858311.26031843234284; Sat, 9 Sep 2023 12:39:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mp-0005ZU-3f; Sat, 09 Sep 2023 15:38:31 -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 1qf3mn-0005YX-4k for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:29 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3ml-0003C2-0a for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:28 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-3ff7d73a6feso32885115e9.1 for ; Sat, 09 Sep 2023 12:38:26 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288305; x=1694893105; darn=nongnu.org; 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=wJTRK8Tm4oCBWcEts58SyC6/NTwYSAeOzRKwQE1l8qs=; b=JSZ3FM1U/RY7BPwFJ4hubRcmpS8EYSnaecIjIUI6gY2rMRE5Ra4nWrjdd04Yy2iBcZ ESMI+Og5BFHB7gkE6vcjOeF2V6/F+uha2J+rB+QxsJTRGrSpbVI4rshG+aFq4+4Q0U1Y yrnPq3Gs137Dw2fdbzQCNdaYgAuRcZI6vhOlQRLdGrUzV4GLvVHCx+QGH7bz/eGZ6t84 IFNHIBikSNALhPCoLEVn2ako9c5kU8v4C9mvXmYWsPTZ5JaaCQiln98MnqMQjjfAqYZj B3LqmTCsmlqVO4mTu8zoGgRp+6EDu9Un29Xxo9p7W85aM997AdQiM688wWaMRmmzlFAi B8zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288305; x=1694893105; 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=wJTRK8Tm4oCBWcEts58SyC6/NTwYSAeOzRKwQE1l8qs=; b=DwTxk2lPlaf9cmPb4/y3HC6MuyFyjh3+YkoRnFwe1ya5QKZOxDol7e6DzElQEtCWwv MF/JEJBAqcoGt47Xzm+o/HrvFXOAiTBFdhJa8qW/TfkFw2VRwDkacVbC/AOgQlEHCdl1 +tcd+4m67gsZ+YWGXhv+X3uRy4kbfDYpjOqz2BUbc60uWr9psl9gR+KwMloFIdfsZTHU 6n2OLI5aUkuefyEQZvxTJgVIa93eDr5EsqGhOQzFCvrE3KpPAD4H531eGjtJN7cigemu wFvz36iq1sj2dujgHDut/MT3DmXdSl4KlNgZLn65beZ0mqOA0UCpEGuILfXWit479ny9 jbng== X-Gm-Message-State: AOJu0YyW2tgYTUfdw3sGNOPEELHEbRnGBrU2oCsMXd3NQxFN1EWKUBAn YzIqNKlJBbSIwMJG8INKZYt+bCVnOIQ= X-Google-Smtp-Source: AGHT+IG1VYWZtYYAqO+dbhf9/wUm1sEDsJ4fp5I7lzWuNdVtb6WH5Mpzc5cbJuQ+hqnsSH76UZJopA== X-Received: by 2002:a1c:7c0e:0:b0:401:6800:703c with SMTP id x14-20020a1c7c0e000000b004016800703cmr5679881wmc.21.1694288305327; Sat, 09 Sep 2023 12:38:25 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 01/23] bsd-user: Implement struct target_ipc_perm Date: Sat, 9 Sep 2023 22:36:42 +0300 Message-ID: <20230909193704.1827-2-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::334; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288393975100003 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/syscall_defs.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index e4825f2662..39a9bc8ed7 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -55,6 +55,23 @@ struct target_iovec { abi_long iov_len; /* Number of bytes */ }; =20 +/* + * sys/ipc.h + */ +struct target_ipc_perm { + uint32_t cuid; /* creator user id */ + uint32_t cgid; /* creator group id */ + uint32_t uid; /* user id */ + uint32_t gid; /* group id */ + uint16_t mode; /* r/w permission */ + uint16_t seq; /* sequence # */ + abi_long key; /* user specified msg/sem/shm key */ +}; + +#define TARGET_IPC_RMID 0 /* remove identifier */ +#define TARGET_IPC_SET 1 /* set options */ +#define TARGET_IPC_STAT 2 /* get options */ + /* * sys/mman.h */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288357; cv=none; d=zohomail.com; s=zohoarc; b=KzQGwHSNBdu1Au0CMc6ZI9DIYpb5fxqk7PxmxubFBGyWBmdHX1wbVhIJDC0rVRWpg7MGwQBvBbTZGbMoAWcfZkrpqGWYF4TonMETSrfhnAlU8gIOFbv024NV6UDrKsW/9j5woPZi6TnVjudemR/MHZAf+oum/D8X/xri2abGhlI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288357; 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=Q9qFiAhNG5T837+Dzxw5csScnLVFwBaQ3hHHc6XeSf8=; b=PdIqa1WgeUKAD1KWh7LNDUrpXvjE6Tx3PxrmoOOdfhVXsxeldyKH05ffGE9ml37CxFHgGnyiM4oI0SBrK2PemkemgFk4ZLnVGYB2ECAX4J66HaiXQNpXXUmkbl8X3AEqpexSmVQMd9KPQv/K4h5uU90V82z4/d/6mXIFOxdWdiQ= 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 1694288357924989.7365373656619; Sat, 9 Sep 2023 12:39:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mq-0005e9-PG; Sat, 09 Sep 2023 15:38:32 -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 1qf3mo-0005ZF-QU for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:30 -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 1qf3mm-0003CB-Ci for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:30 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-401c90ed2ecso33517795e9.0 for ; Sat, 09 Sep 2023 12:38:28 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288306; x=1694893106; darn=nongnu.org; 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=Q9qFiAhNG5T837+Dzxw5csScnLVFwBaQ3hHHc6XeSf8=; b=mT8dNUhxg9t/BJ5jc3vFacjcQzeAQMn0Nu9T8+ssbL83secd0fRlq9vA1OwpICKjDf Xi2H67hEs/+PeQqTU3qgAQ9GBkW1xJ+E27wexpZxD/nMB+lknOL+5vOY4YyrDzxs4ali 8mhoPCQoS4ikFiy8XOTcjDibvqhTqBiqWjTcTia20u6xZ6R8RgPlWjTk86iScMXzw3F/ I9AlaUApG0kLe3wT6CFeYpFT3BLeufvT4+dILhR9aUIgCCZD6ojYQw49WPHzfpKDu7XU pHzZuuPznUc9X+vWUm3SL0UABVgMpZeF3rIbRJz0rU+2ZT1fZTRQpeGetGumsij0k3qX gAaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288306; x=1694893106; 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=Q9qFiAhNG5T837+Dzxw5csScnLVFwBaQ3hHHc6XeSf8=; b=Jvl+URIoUnW1SAzkkSAlTKuJ6GpRwi7zDvpo/sFQaIPlAvmrHE1vpH1ItLt3qGDFuY YvZewvA4DJK9Dv23Mr2pPw/OnVxwdMDWHGVqBW0notOrBzy4SodvZ0tsR1TliHjmRJUG 9Bt4md4i4/F0Ua8ilh/glf2E1F1Ci51+rvHCdAHYH7LGNfK7/kxVOh1+3KnTcFbUFzAW PjjvBMBD761XmTmyNJNewIGeFjNRSIULGowEsr6ODA0L/m8Wl+nbx2CMXrOvTUyJW5Yr wj1W6yCPEpFYcPH+77Ez27I3lc+cr7VRZyeurT7oZRRLPR+0t6XKqJDFUw4rTBgZUXew bxlw== X-Gm-Message-State: AOJu0Ywh8hkAebMUQqHo4UmY+oYG+ZAvkRH1nQgXny0nASfLS+Oj7sTx RSVNfHijueHwXc5exAsqY4d64wi00qY= X-Google-Smtp-Source: AGHT+IE8qsyQG1ubJHs9f+VaLs/qhSeYj/I/UdxVUkmqzZDO14qzt1u0PVnZnOFZXsrJigfx079Wug== X-Received: by 2002:a05:600c:2196:b0:401:b493:f7c1 with SMTP id e22-20020a05600c219600b00401b493f7c1mr5048710wme.35.1694288306524; Sat, 09 Sep 2023 12:38:26 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 02/23] bsd-user: Implement struct target_shmid_ds Date: Sat, 9 Sep 2023 22:36:43 +0300 Message-ID: <20230909193704.1827-3-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288359133100005 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/syscall_defs.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index 39a9bc8ed7..074df7bdd6 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -72,6 +72,26 @@ struct target_ipc_perm { #define TARGET_IPC_SET 1 /* set options */ #define TARGET_IPC_STAT 2 /* get options */ =20 +/* + * sys/shm.h + */ +struct target_shmid_ds { + struct target_ipc_perm shm_perm; /* peration permission structure */ + abi_ulong shm_segsz; /* size of segment in bytes */ + int32_t shm_lpid; /* process ID of last shared memory op */ + int32_t shm_cpid; /* process ID of creator */ + int32_t shm_nattch; /* number of current attaches */ + target_time_t shm_atime; /* time of last shmat() */ + target_time_t shm_dtime; /* time of last shmdt() */ + target_time_t shm_ctime; /* time of last change by shmctl() */ +}; + +#define N_BSD_SHM_REGIONS 32 +struct bsd_shm_regions { + abi_long start; + abi_long size; +}; + /* * sys/mman.h */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288524; cv=none; d=zohomail.com; s=zohoarc; b=E0QOBSUnvhP0c1uq8z0J8aKoB6vSU3OuhbC5GRugaKbHSJVxTf2UPh3F2oLG16Y/mkHRyhAJp2U5vt4msHhcow+tb8G8VO9PvtLJGV9FdX9buUatM8pdEIt7Mt037MaxKpcr2RKgJq32QLS/ZtnoQ1y1EZWtYqZZqZaedvh3cYU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288524; 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=Gc/mLGUX7ZmbD3sQ6kC2qyMy//ogtwOmV0rb8Xd2gcE=; b=LJ8f8JLawbBIbr8Gm9j06mNHzDWEdsRI4xV8JfPZsSeab1GiP651H4SIiG3ICXfvDlEXFuQn2o3/t5+oj0VzyOX6vXj04urIMyVLfLXylB5rqiWyMf1ugj/wyNR4NAwDybkaupjGg2M8iPomqs2a3TyoV/wM0teb3rSuhvUs8bs= 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 1694288524763868.7119970391619; Sat, 9 Sep 2023 12:42:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mr-0005ia-Ct; Sat, 09 Sep 2023 15:38:33 -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 1qf3mq-0005bX-Bf for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:32 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mn-0003CK-Sr for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:32 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-401d80f4ef8so33418385e9.1 for ; Sat, 09 Sep 2023 12:38:29 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288308; x=1694893108; darn=nongnu.org; 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=Gc/mLGUX7ZmbD3sQ6kC2qyMy//ogtwOmV0rb8Xd2gcE=; b=Pe3/+dNiWtopVSfyYqDPZByFlQvp1Dp9bAYZWo82+886ECooEfmOh1B3hnDg19EEUF dm0xxNC10a3Qh0UzILsyt6W+wCyET1KudupSii+W7VydvPCmDuwcZx22IjQDlaO22K+v JF7J/i3kxd/XcSdx8rMSrREy5bk8PwWEGYH+dtvMu8Jvd85Ev3/VY/dMcfUhyQ5toiT+ QyypEYjHx/PVVFg3hcbfUJjmCPpMv+MMq9O0UVw0FYBmlp56w5AJHk42TGF/ohLcAd1A 8mDSjEeBG6ZxsuMmkeQKf/teCrkwSn5HCkyMlFQYEay965VNkoe/esMaHT1BB6oByOLS BVpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288308; x=1694893108; 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=Gc/mLGUX7ZmbD3sQ6kC2qyMy//ogtwOmV0rb8Xd2gcE=; b=jZC+a8WhgUGSNaWIF95RqHb9Wl4LnbY957pmJea5TSEJ7ecCh2jiCWK7g8G2q4W9cD 1hXWhUWbZkY2fC/C9az5aUi1pdQeeGttw4QpR+D49dNxUocGgapD7RGAb0yLDbownszL 8DLbcVEIWmdaAw4yMG5msu1ojeBZraLhXuia59ECBrg62t1POL+t4yyifWMb0Nr7ngLv HB/SjeyVJ3XVtQ8+PZu8NsguUpcOBvjQRPye+4ODIRizye2wkqLfCl33BYfZnSjd2U45 qYkl0PL57tRaGamgobINPuaHhlN6JDvVpgM33RvIchGrqWiptekezxb6k8HhuewWNoKW z4cQ== X-Gm-Message-State: AOJu0YxaVNvRSaOtYCYbC9HseHomRQIXpsmPFrfGK4RLZhpa5Ys4qWVq RUbGysTGeahwSYJJWeqOvNqpKo5ezhc= X-Google-Smtp-Source: AGHT+IEGNORC+HsmH1ORvSg9gKg13auyaK3UqTCNPibIV2zDyn6hvY/DqgseP5bAECDv/FIrjuQ09A== X-Received: by 2002:a05:600c:21cd:b0:402:fe6d:6296 with SMTP id x13-20020a05600c21cd00b00402fe6d6296mr2925332wmj.9.1694288307617; Sat, 09 Sep 2023 12:38:27 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 03/23] bsd-user: Declarations for ipc_perm and shmid_ds conversion functions Date: Sat, 9 Sep 2023 22:36:44 +0300 Message-ID: <20230909193704.1827-4-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::334; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288525667100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/qemu-bsd.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 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..46572ece7d --- /dev/null +++ b/bsd-user/qemu-bsd.h @@ -0,0 +1,45 @@ +/* + * 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 +#include +#include +#include +#include +#include +#include +#include + +/* bsd-mem.c */ +void target_to_host_ipc_perm__locked(struct ipc_perm *host_ip, + struct target_ipc_perm *target_ip); +void host_to_target_ipc_perm__locked(struct target_ipc_perm *target_ip, + struct ipc_perm *host_ip); +abi_long target_to_host_shmid_ds(struct shmid_ds *host_sd, + abi_ulong target_addr); +abi_long host_to_target_shmid_ds(abi_ulong target_addr, + struct shmid_ds *host_sd); + +#endif /* QEMU_BSD_H */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288363; cv=none; d=zohomail.com; s=zohoarc; b=Ogh9L+TRNTZMGwVG3gpEIaQcktQ5EHFfSv0i8VDEYFFZwB5QbNL+u9y7FAx//rZp8kqC+2ulwEZmmSn/KQrhw3gxXoqXBb7BNBedx4hrsxQi2igDnu1hGTI4OY0CeJJzed8boLNNtiruvrpvG1smFq9/0qMjh2uEBa280xF6O5Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288363; 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=cGJohYqrlAeBGqv33iEu2l+2oxUpjbZfEtEhLbQOaQw=; b=Wm6oAYjkGo/TsYvWZiA1dySvbyYyG1mCJKBV5opekLMzsXpmk+rZQP/BkZdb3HiCnWT6cLNt1m24e05DORL5s+H7c0KTN2Zk2nuWZ6jpTwPOuuAtE1whX4GTrKdzalxbfAcqWzjcLnisyAN5jKq3aAkMPeAi9R75BbEAZuAC8u4= 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 1694288363115447.6531146994023; Sat, 9 Sep 2023 12:39:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3ms-0005kF-Gh; Sat, 09 Sep 2023 15:38:34 -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 1qf3mr-0005gz-5K for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:33 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mo-0003Ce-Mm for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:32 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4018af1038cso34426255e9.0 for ; Sat, 09 Sep 2023 12:38:30 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288309; x=1694893109; darn=nongnu.org; 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=cGJohYqrlAeBGqv33iEu2l+2oxUpjbZfEtEhLbQOaQw=; b=d3ZGBraZ26QDToG9+b9On5Fot1RrcxLgQsqJD4G2lfYRK9d4FWQQ5JoDDGVU76mcOu U8rppbTq7SHSSlzCnSR1hCQePxMgxHXUiFEUiibBoLdztxrt3KGaGDCoqaF7IbrArcUh Vs0x29EoCNjg8De+HklhawaPr87UfltOl+cnUQQEd7mA7GL3PrA5wzXOK8jap2LxbM1I nyDEOLJlLe6kuW9Iol7DDJxYCsb47gqllbDxikjyumNGuHZ09ejOPwWNZ3CuHZMuHIeK T5ZSijNfdk4cfNPSf/IaVVp2ec0/1hIOaEORgOcYdfVNL9yCIOLeaLohLljsxaSpOknJ i/fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288309; x=1694893109; 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=cGJohYqrlAeBGqv33iEu2l+2oxUpjbZfEtEhLbQOaQw=; b=rtxih5bNdlccoe6fJLRcBQlecVheIT6cjuP2lO8fcp9Cv5d8NWUMNuc+28O/K2nd+d EWgLlULQna+Y7P76wgHcd3cT4yc7PC3zF9Tw5BAKAL5MuXsWqkUMfz7qT6AmuoyDde1c +rTLh0UsaqbwLgNKrPeT/Kb8fItideoMigUxigGakZkYkPuCLWZtSwJVZvB/JRlgOmcm I7BwYddEHGzJKKI4w6sfslVJCZuw7dhjUTES6TrtcyhgXyhve6x/LWNCFZ2ybA/BIkT8 R5x7E1a923sA+ELFNO4sydpQdisc2wkyCVLBHYACJaGA+0FCXWlxCLQMEP6M+nfuXlXp JA2Q== X-Gm-Message-State: AOJu0YxUwtr2CQu22CDpfoQeH1t0KJ93+u02Ydv4qfCTtJHZv6etptN4 B6etG/mXgl6Cm2LYWk0QfZ5SmBBF+cU= X-Google-Smtp-Source: AGHT+IHCKiRX6dnJwdr3XKuUWl230X1Y7zS886jYsMUpuS7okoW7NHMyTHSnqW6GhJnA221eOgZkVQ== X-Received: by 2002:a7b:c386:0:b0:402:ea96:c09a with SMTP id s6-20020a7bc386000000b00402ea96c09amr5052969wmj.16.1694288308975; Sat, 09 Sep 2023 12:38:28 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 04/23] bsd-user: Introduce freebsd/os-misc.h to the source tree Date: Sat, 9 Sep 2023 22:36:45 +0300 Message-ID: <20230909193704.1827-5-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::334; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288364382100003 Content-Type: text/plain; charset="utf-8" From: Stacey Son To preserve the copyright notice and help with the 'Author' info for subsequent changes to the file. Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/freebsd/os-misc.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 bsd-user/freebsd/os-misc.h diff --git a/bsd-user/freebsd/os-misc.h b/bsd-user/freebsd/os-misc.h new file mode 100644 index 0000000000..8436ccb2f7 --- /dev/null +++ b/bsd-user/freebsd/os-misc.h @@ -0,0 +1,28 @@ +/* + * miscellaneous FreeBSD system call shims + * + * Copyright (c) 2013-14 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 OS_MISC_H +#define OS_MISC_H + +#include +#include +#include + + +#endif /* OS_MISC_H */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288424; cv=none; d=zohomail.com; s=zohoarc; b=BBm5oP/bDWpL4ffBfSMIxroImZGGOExddHPtZO5EF4MhUQYHAys94TyRUw21cLGaTZWvWZ9GxMy+i4XFR3uXuSwXM8m1HQ6HeHaO3f0HFofy0yYwdeDOZ+D8Hdw15Qvo9gvPPmP76GiPGdNlA99RpVE3M+yBKTDEXlwaBDwfirU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288424; 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=7TrfBeMTvldfbKpqmn3rJZFleCngQ8YSqhuAsSyAkaU=; b=SWl62HbSQ/AZHNpn6iewaXOLjZj1B4QzlbQmcVwn/MXLvXtUEdb0JCJiCOi0cE0x8a32hyDTQRpbhmdXLtU2UxpACrDMSj6TOVJv96EcLJG3+j7F5jbYV9EKH98yytaD0UdnPOdphkVbNd4pB/mQdjG5p5z86/cFCxA2xOnEzYA= 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 1694288424987951.9161523354871; Sat, 9 Sep 2023 12:40:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mu-0005rM-VQ; Sat, 09 Sep 2023 15:38: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 1qf3ms-0005jy-8K for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:34 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mp-0003Cq-Tf for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:34 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4018af103bcso19705405e9.1 for ; Sat, 09 Sep 2023 12:38:31 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288310; x=1694893110; darn=nongnu.org; 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=7TrfBeMTvldfbKpqmn3rJZFleCngQ8YSqhuAsSyAkaU=; b=WQ3TTUcU1sumTo7es7+Km/EZjy8ZmtiNCmJm6Bv3ItA31A8Ios3phQ9r8hvwR7w0KQ kYl83UpzVHOveEUeeBl/Xp0GfOI3uvg1sKhVA9FJot7BT9KuvRT7lGc0kZwqmcAHqzIx wNJ/VBMITwt1NvT5PhLw+KiG79EOXmpB/z94ZgGSHdGizQyDDBzED1KFhAAhai614p8D ixrFGnXz3CrNb0OwQODTi0zafjVr4eKX1eWEK+oqWoW1Dqs3Wr8VraZDul5SLtYP61yv kUROL+eEP2OUdjVPwkzU6HUSb1w1E/8TSckp1MDlbHt7DuBiJiXDJZtKFI1IijhfYDH1 iZvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288310; x=1694893110; 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=7TrfBeMTvldfbKpqmn3rJZFleCngQ8YSqhuAsSyAkaU=; b=WZcFC1YBovq1eyu+3pGDMKdlGylXHP2LWFPU1YX4mMH+qEwdtRxsDu7xawnTUWkPyA ut8f5gBSPy0tUGwQvJtCw9ORxdD8y1M8xvqOLfPj2/q4ChB3oVMThTVABSfs0YTpyV3E HFXoGyqXBV2jd/pxqlloTRNpcMo3ViVbZuRO7YXQ3snjxbuJpJW1FGroVmsS7s+ry4gn yg8ldOyQaAo4qEZr1nm8TfpeRddc8ndqf6nMTDMnlrS7Gczu9dC0OZ5+Sw1lEQybDzK5 M1Wz4wFF8tbaR1KxOPOSXmUT/OZaD4wq6y5qAV0F+To62zJ0NIvHexj5aEF/wz86c8/u KB2Q== X-Gm-Message-State: AOJu0YzHclpgcgx2X80My63TYI0rOnCwjf7GXgWZ97uWA/DlXQ2n1Tl7 ygRUe3U8fBsGovlwXUTjKm9l5/zLGS8= X-Google-Smtp-Source: AGHT+IGUqBLWV7Tj3V/mBqX5oTvscoeLUOdjb4HtAWEDn7uniT5RNWXMxFFNWu+8HMOguzfg6WW5aA== X-Received: by 2002:a05:600c:4e51:b0:3fe:d67d:5040 with SMTP id e17-20020a05600c4e5100b003fed67d5040mr7018445wmq.5.1694288310190; Sat, 09 Sep 2023 12:38:30 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Kyle Evans , Karim Taha Subject: [PATCH v3 05/23] bsd-user: Implement shm_open2(2) system call Date: Sat, 9 Sep 2023 22:36:46 +0300 Message-ID: <20230909193704.1827-6-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::333; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288426208100014 Content-Type: text/plain; charset="utf-8" From: Kyle Evans Signed-off-by: Kyle Evans Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/freebsd/os-misc.h | 42 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 13 +++++++++++ 2 files changed, 55 insertions(+) diff --git a/bsd-user/freebsd/os-misc.h b/bsd-user/freebsd/os-misc.h index 8436ccb2f7..6b424b7078 100644 --- a/bsd-user/freebsd/os-misc.h +++ b/bsd-user/freebsd/os-misc.h @@ -24,5 +24,47 @@ #include #include =20 +int shm_open2(const char *path, int flags, mode_t mode, int shmflags, + const char *); + +#if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 +/* shm_open2(2) */ +static inline abi_long do_freebsd_shm_open2(abi_ulong pathptr, abi_ulong f= lags, + abi_long mode, abi_ulong shmflags, abi_ulong nameptr) +{ + int ret; + void *uname, *upath; + + if (pathptr =3D=3D (uintptr_t)SHM_ANON) { + upath =3D SHM_ANON; + } else { + upath =3D lock_user_string(pathptr); + if (upath =3D=3D NULL) { + return -TARGET_EFAULT; + } + } + + uname =3D NULL; + if (nameptr !=3D 0) { + uname =3D lock_user_string(nameptr); + if (uname =3D=3D NULL) { + unlock_user(upath, pathptr, 0); + return -TARGET_EFAULT; + } + } + ret =3D get_errno(shm_open2(upath, + target_to_host_bitmask(flags, fcntl_flags_tbl), mode, + target_to_host_bitmask(shmflags, shmflag_flags_tbl), uname= )); + + if (upath !=3D SHM_ANON) { + unlock_user(upath, pathptr, 0); + } + if (uname !=3D NULL) { + unlock_user(uname, nameptr, 0); + } + return ret; +} +#endif /* __FreeBSD_version >=3D 1300048 */ + =20 #endif /* OS_MISC_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 2224a280ea..b4311db578 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -33,9 +33,13 @@ #include "signal-common.h" #include "user/syscall-trace.h" =20 +/* BSD independent syscall shims */ #include "bsd-file.h" #include "bsd-proc.h" =20 +/* *BSD dependent syscall shims */ +#include "os-misc.h" + /* 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, @@ -482,6 +486,15 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_undelete(arg1); break; =20 + /* + * Memory management system calls. + */ +#if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 + case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ + ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); + break; +#endif + /* * sys{ctl, arch, call} */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288554; cv=none; d=zohomail.com; s=zohoarc; b=kqCniferiHiW8zYboI+Jjho9LUUKRv+JyWxoplzNbJV4lja+7mDoEuUzLGoJQxBCI2kV1Xor1bZh8nhUrFZLzHXYhYhmfJTPpBgmr5AcfBAdw/3xUT9mLouSY6tMhexg8kg6KELY6PooOHTRxr+sIWz8NpqyHw8dV+KeFFNmRyo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288554; 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=NQPQkmqbnFACQIlUwkAtPXqSarrHZNN1zhubxQ6WoBA=; b=HhGnA07a333+hnJhTuvzkRtTCZNcvW38Fp/EOIVCyuFVDyENjgHqivIRvXZhP+1q7l7387N2FZAFawOnKKubGJYNBnJtnfKZjReWXG1wN399/bCMjtJRvqE9EvMKEZzGz0ScQptYaicHP0hEUaLE39jP4t6ADRYjfl2AvxMMUzI= 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 1694288554130547.1556867576652; Sat, 9 Sep 2023 12:42:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mv-0005rb-CE; Sat, 09 Sep 2023 15:38:37 -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 1qf3mt-0005pL-7J for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:35 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mr-0003Cv-0j for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:34 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-401c90ed2ecso33518125e9.0 for ; Sat, 09 Sep 2023 12:38:32 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288311; x=1694893111; darn=nongnu.org; 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=NQPQkmqbnFACQIlUwkAtPXqSarrHZNN1zhubxQ6WoBA=; b=TU4+oqX6U7KSBa0CQlLfqAUdFRTRp68FyPF2Tan7oQnNbdVGamxkm+TDzgQQj7wX9K qsJeW0zerG/nVpeLyoOIhplPFTubpPaz4quSUbIs7NsvkV/thBlDX7Ax+tx60kEquSMf 4d+yiJvkuiHr4dRtjLsu3IFdA22GIXqPCuMUwHZUzdd3kvRDErOhweE4zHDiN1zL5xyG zK1lYG5Vc+0bQg+8EPC1UMV1pRou59NSFKH0tQFdh/EekxGl+d49JIzPTVu7JMA72vK+ zoCVlvCw/Qk9nytf786EpP/vPLTgsIJgf7MlkXcOHBcc+wKW0Xoeci8++tP0RrmhVZyG 4s+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288311; x=1694893111; 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=NQPQkmqbnFACQIlUwkAtPXqSarrHZNN1zhubxQ6WoBA=; b=cTtxkb16MyF1ta7Rm7j49j5MxLMtvCpg7wQvkUBeWAP+hVZhRGHy/dlaaZ9l7UJKfu xLU2LsPG5L5N+Q+owRkWTe+WLQqvNQewsfm39MhwzUqDHxSAcooVXdd5ibIBHoMa4Qo7 yUX0pDyCU/rk3ceF/WbQGAyuof0Rx6njTuPO1q4ZfRMjDaCdC5V8orIpt76iI8gkJZyf YlkRw4P08PiMH6NAaLSk3bvA60ouvX3P2NYUyK12S921Xn3i3s+HAHyQ5ZDWgb8DHaNo KvELDc4sBvGzMapDx8rnzsle01im73AOUyzE/62B92NXIc6DTEbmGRsTXUbvztD3ovjd 6K/w== X-Gm-Message-State: AOJu0Ywp8UaC8oObJpFkFgK5+Nl/Mk2x5yuyp19BLKMvMDq818cEl/Du SulSStdehUUuKUjO+09zR7cSWteDf8k= X-Google-Smtp-Source: AGHT+IGyV8gr7r6Tu63x0cNGCLW0DUnl8bdyzwH9WXDtmfa22IsCEokIErpQaZa2Yyn6OutdrPsQbw== X-Received: by 2002:a05:600c:1e14:b0:401:d1a3:d7f7 with SMTP id ay20-20020a05600c1e1400b00401d1a3d7f7mr4676505wmb.30.1694288311311; Sat, 09 Sep 2023 12:38:31 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Kyle Evans , Karim Taha , Richard Henderson Subject: [PATCH v3 06/23] bsd-user: Implement shm_rename(2) system call Date: Sat, 9 Sep 2023 22:36:47 +0300 Message-ID: <20230909193704.1827-7-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::32f; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288556136100001 Content-Type: text/plain; charset="utf-8" From: Kyle Evans Signed-off-by: Kyle Evans Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/freebsd/os-misc.h | 24 ++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/bsd-user/freebsd/os-misc.h b/bsd-user/freebsd/os-misc.h index 6b424b7078..67e450fe7c 100644 --- a/bsd-user/freebsd/os-misc.h +++ b/bsd-user/freebsd/os-misc.h @@ -66,5 +66,29 @@ static inline abi_long do_freebsd_shm_open2(abi_ulong pa= thptr, abi_ulong flags, } #endif /* __FreeBSD_version >=3D 1300048 */ =20 +#if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300049 +/* shm_rename(2) */ +static inline abi_long do_freebsd_shm_rename(abi_ulong fromptr, abi_ulong = toptr, + abi_ulong flags) +{ + int ret; + void *ufrom, *uto; + + ufrom =3D lock_user_string(fromptr); + if (ufrom =3D=3D NULL) { + return -TARGET_EFAULT; + } + uto =3D lock_user_string(toptr); + if (uto =3D=3D NULL) { + unlock_user(ufrom, fromptr, 0); + return -TARGET_EFAULT; + } + ret =3D get_errno(shm_rename(ufrom, uto, flags)); + unlock_user(ufrom, fromptr, 0); + unlock_user(uto, toptr, 0); + + return ret; +} +#endif /* __FreeBSD_version >=3D 1300049 */ =20 #endif /* OS_MISC_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index b4311db578..2920370ad2 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -495,6 +495,12 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, break; #endif =20 +#if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300049 + case TARGET_FREEBSD_NR_shm_rename: /* shm_rename(2) */ + ret =3D do_freebsd_shm_rename(arg1, arg2, arg3); + break; +#endif + /* * sys{ctl, arch, call} */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288490; cv=none; d=zohomail.com; s=zohoarc; b=WxYPW78rcOOr5RlKHTle1a4FeCsO8hwEuyJUpzfXUl5a0NUIFuNtbXiMk71PIdQqpjyWwHhYNsAHpq0vDDBFyjc02454503AnOkFbbTfdbgIH2TRCAfGGGx3ZpjtE8HxdO9GFkD3wS7t3zs55nyHwQ4iEFcFfwOW7IkOd7h5xg0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288490; 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=B7l8yTYvF0exPE7Y1/cG6wE7nHKc1Z9FnZqMFX4sgdA=; b=V4T3HtqYcrJ00WxrIrn/cgh1yEBkp1LipVO/rBuyM7ar/dk5IcpCSCd/n+bWdqng8amTrL/tN50fuN9ROTh8V6+rCPKFOLOIFc3DTwoK/9a575JTclod67W7uDoxpEFQUyLWE/ZsPGaxZf0hZQ+pZSs4Xo5eqB8zzuBNKZ5A8RY= 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 1694288490163916.490842433265; Sat, 9 Sep 2023 12:41:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3my-0005wB-1f; Sat, 09 Sep 2023 15:38:40 -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 1qf3mv-0005rL-EJ for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:37 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3ms-0003DE-B0 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:36 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-401b393df02so36662635e9.1 for ; Sat, 09 Sep 2023 12:38:33 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288312; x=1694893112; darn=nongnu.org; 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=B7l8yTYvF0exPE7Y1/cG6wE7nHKc1Z9FnZqMFX4sgdA=; b=OsAp0Hdzl9320SGGh+HoJNI6/fbl+eKUwGkyY6n/JG1c7lHKqmVkqhAaiTP5hoL/Rw gpkWVX3F42SYN0QpaHCHmoM5pPFs6mrWnzXjcMWeLYxxcF+nISqcymVP9t/ICxJmtTE2 lv8zUAF3UN4yoknrfZ4FCsrYezaCA16/C0k84JKECLDMfi3107VBL+YuwCbejZAbm2p2 7ybD3Gu6tOPbW6bEq7KPN6KOilYcTnmjarc1I8KTHSgqUa7xEQiWKjTSOaXK+7GAbeFz 6w6SV7e1IoFYwU7NG8gLSAoKmqSJF9fF8zkIdry2KrTKpxmaKXvxc16+tMVhdYIOTYip f8Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288312; x=1694893112; 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=B7l8yTYvF0exPE7Y1/cG6wE7nHKc1Z9FnZqMFX4sgdA=; b=rAob9sSQqeKi6xwOKbAnrXKFB64UO4XSvU+kLHYExsDNIwVkIH1QR1empYGBKVHQpL 6LMQuWxPART+F56pI9UmTADJqCsFI0fMo7ClAu+/D3conEmFyYpJmQoZ2VgtLMTibxOP JZ0DeBdY+Tc8XdcDZejB/soki0m3xzV5kjNNxhjQUzdYjp0+TD/4EMGf+UAeyINWDFI+ GmLSPYl6Q8/E6GceUu5Yh34ULia/BQvIo4Cyo0Cc8NMJNwkWkR9I0EB1uOc6QHf3boQk +k8uPkaaRJ3Pwwxu4wnmRphJpzerAUYIoT6bWSHkwgq+8/6n/n3AviqXAx7Pc7iqCmNp Fh1w== X-Gm-Message-State: AOJu0Ywz3L1bStvdmstooHBy3bbioUdYodsa7U6fn69hHBKFKNegkcca /nJNu60DsL8lWvNqmU3v7G7wKnt4luY= X-Google-Smtp-Source: AGHT+IGzQtPvuewfTr8YOS8Ogbpexs5wG9GkUYjjr0IUpjqSX8ATBrxhVvXRGiEhux5K9TX50bD3Bg== X-Received: by 2002:a7b:c7cd:0:b0:3fe:2b8c:9f0b with SMTP id z13-20020a7bc7cd000000b003fe2b8c9f0bmr4655901wmk.23.1694288312455; Sat, 09 Sep 2023 12:38:32 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha , Richard Henderson Subject: [PATCH v3 07/23] bsd-user: Add bsd-mem.c to meson.build Date: Sat, 9 Sep 2023 22:36:48 +0300 Message-ID: <20230909193704.1827-8-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::331; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288490725100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/bsd-mem.c | 0 bsd-user/meson.build | 1 + 2 files changed, 1 insertion(+) create mode 100644 bsd-user/bsd-mem.c diff --git a/bsd-user/bsd-mem.c b/bsd-user/bsd-mem.c new file mode 100644 index 0000000000..e69de29bb2 diff --git a/bsd-user/meson.build b/bsd-user/meson.build index 5243122fc5..6ee68fdfe7 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-mem.c', 'bsdload.c', 'elfload.c', 'main.c', --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288396; cv=none; d=zohomail.com; s=zohoarc; b=mwkjPBgh3C54Sg8BMalh5bicYcUHP9CGxaLMVUNcvcZY0ScffR5Nb6lBdX9E5fwD9mL0oqrlA5V8XHYYveztIDfKu8gCuvGkntU8/YSolNhjxT8WlcaKv9Lpop3nhKjB5bFYE1cfiSBcPIf+Lq0hTS/wXzOC6vBlsf8tO5TQlhc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288396; h=Content-Type: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=TFf4JunziSOD7sjN6pr2SlP9OXljzV+aLcAeDFfEgaE=; b=AI0c0CMWKLWU3W199ycRU8a0tQKEHswHRgO2JbbBAOsu9+hDMWJmNz19/YMVt9hHAz3CzYRKx4gvKMliKIQPCtv+PClKzthDBAhYbSwU+PSDvMIisC9FXzq6S1WZ0qzXnQqX3EZMNhVNQ7bmMrcO+kInUiVuQQsVogYsIy0tMb8= 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 1694288396906562.6635355660378; Sat, 9 Sep 2023 12:39:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3mz-0005wr-7v; Sat, 09 Sep 2023 15:38:41 -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 1qf3mw-0005tx-63 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:38 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mt-0003DY-KK for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:37 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-401b393df02so36662775e9.1 for ; Sat, 09 Sep 2023 12:38:35 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288314; x=1694893114; darn=nongnu.org; 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=TFf4JunziSOD7sjN6pr2SlP9OXljzV+aLcAeDFfEgaE=; b=smz9SaVEYU7sUGpsbBHMXm7s7bm4LJxxQSgpLcPP+pxPlXYDqnJENiCN+sb0zFlUCc bYNVHeWAGPbLH+6c3340/ODqWRCUA6mdDtAi4KYMdjon2TKbNYBaVJoOs30w1DKBthdp zUxdblHb3MoXhR+w4vff21yCqobT+65Wy8LRrF0zQhB/Sk4ZfxVg2wEOV6Pfw4TYid+T WNQLBmR+Mp6mjzSyV8TFKB3Lqfh4dyTyoG9396lIAgpI7jiBzTOKTkWnJMxIqlLjQyFS O2hpkMnlKPYweDtB/3ka5g9rc72JjplzYJx6n0AM2hOMz7kzkRUMwxjddESmzukSsEIi 7XMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288314; x=1694893114; 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=TFf4JunziSOD7sjN6pr2SlP9OXljzV+aLcAeDFfEgaE=; b=SApn55veIDCGVy/W44h5tK5AaCmyWPMS+o+WMvVVsoH5atQhytjr09bBvpmhPDE1Rb zzGgAA07zsvGxBa9ihPiQ98elEscpvDd64T9TyTtNFAlIrbkLNSYVWqysZFfST3st6Hc p+KC2Ja0XIGRAqyd6MoPIOVdqwHFwnlehTcFoDJJ2eqyakXLkII+8Z/eXfZNBpu2iomy ap24K37aLZi6vhjqgkpXmHsTXYIoBX3ZOU+ZHYstsaCtDvEsM7K/Wb3MIVgA+NzSu/Cj WfIMuztpuLDiZDlmAIeBJtAUSJM9wt+1zycCej38Y7cQ82D/3szxsYCp2OQuGpuASo15 l+4Q== X-Gm-Message-State: AOJu0YwxkaUpBzogVJyqEG3L34hXALxVV0a+sbxWRVPOaaC4Y6HmwGZQ OLDvwxLT29mCWPfz5Q6zT/nA/JBREns= X-Google-Smtp-Source: AGHT+IEuixjfKzHphZC/dhpsZ96Z04hJ97+Mw4hyII4JNk60cdDap55Wfb9da/D/OJtgdI4a3QmtIg== X-Received: by 2002:a05:600c:2945:b0:401:c297:affb with SMTP id n5-20020a05600c294500b00401c297affbmr5110888wmd.37.1694288313748; Sat, 09 Sep 2023 12:38:33 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , =?UTF-8?q?Mika=C3=ABl=20Urankar?= , Karim Taha , Richard Henderson Subject: [PATCH v3 08/23] bsd-user: Implement target_set_brk function in bsd-mem.c instead of os-syscall.c Date: Sat, 9 Sep 2023 22:36:49 +0300 Message-ID: <20230909193704.1827-9-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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::332; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288398103100003 From: Stacey Son The definitions and variables names matches the corresponding ones in linux-user/syscall.c, for making later implementation of do_obreak easier Co-authored-by: Mika=C3=ABl Urankar Signed-off-by: Mika=C3=ABl Urankar Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.c | 32 ++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ---- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/bsd-user/bsd-mem.c b/bsd-user/bsd-mem.c index e69de29bb2..8834ab2e58 100644 --- a/bsd-user/bsd-mem.c +++ b/bsd-user/bsd-mem.c @@ -0,0 +1,32 @@ +/* + * memory management system conversion routines + * + * 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 "qemu.h" +#include "qemu-bsd.h" + +struct bsd_shm_regions bsd_shm_regions[N_BSD_SHM_REGIONS]; + +abi_ulong target_brk; +abi_ulong initial_target_brk; + +void target_set_brk(abi_ulong new_brk) +{ + target_brk =3D TARGET_PAGE_ALIGN(new_brk); + initial_target_brk =3D target_brk; +} diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 2920370ad2..c0a22eb746 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -59,10 +59,6 @@ safe_syscall3(ssize_t, writev, int, fd, const struct iov= ec *, iov, int, iovcnt); safe_syscall4(ssize_t, pwritev, int, fd, const struct iovec *, iov, int, i= ovcnt, off_t, offset); =20 -void target_set_brk(abi_ulong new_brk) -{ -} - /* * errno conversion. */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288465; cv=none; d=zohomail.com; s=zohoarc; b=Wd/Xo43Gzvasv6Nb2zRdX3w0ivJeIwo0FwWAXMC9vp8vv8kS3o3b/UthxLtCDj4Q+XWINzgS4Ifa6dv/YjXVCV4pv63PXRsj1jtEZrQR8n5zrV5w3WAVHUmvrO59qG+ZWGWYmIoXAIaGpuVB2DOhP8HR58hiqQRjpq5Ka4904lI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288465; 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=iussohd3oOsJrjsaObP8RqGbhTo1pjSye6BxeJlFWe4=; b=JD5ASvvUljmZiUf57jVrJ9vX81fMKNPnUsBHgEURk8nTSTUkrYmFCdHgEPenXX453AVrf6gr90yAdidK71URdcdT43w8m/itl8HhxtsiSd5DSRlNqHwddzI9lkyLJuDugNsTvHDyDGk7cF2Ifyj2C8y1WNaVRZ/mLAIXj1vcaBk= 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 1694288465457152.8499055288969; Sat, 9 Sep 2023 12:41:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n3-0005xw-1I; Sat, 09 Sep 2023 15:38:45 -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 1qf3n0-0005x6-Rz for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mx-0003Dm-0Y for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:41 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-40078c4855fso33587765e9.3 for ; Sat, 09 Sep 2023 12:38:38 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288316; x=1694893116; darn=nongnu.org; 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=iussohd3oOsJrjsaObP8RqGbhTo1pjSye6BxeJlFWe4=; b=q5CoJV/SDQhvMOV45mOQex9IC8PiVkxgebBSS5Oe1hgFitGBMibzbLDY7yWoaY5Q9l tVXIDEtM8qxhHxBiySyx66FGL4DvN7p6HCo/o41ijGOrFq2PKrKb8utTuidZqObXA5HE CqjpkfhP6bxn+he5X0e6sM6s02Rzj4AISleaF9Fj2Vffkaf42gfgjKr8LjWWR4w61hvs ZxbAP626VBX3Ka9ExTIkzIk/92hoOuG9mSlnn9L7f6AHJjHggvY2Pls1iAZpX27E5Ij9 12pPWjlq8bIcKI+Zz/TYgJXBAw/s4fNP0M9b3AhgEqQnzdJ1VsDbIUqAQaA2D3KA/EBJ bDvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288316; x=1694893116; 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=iussohd3oOsJrjsaObP8RqGbhTo1pjSye6BxeJlFWe4=; b=Mi8Qc+qGQtoKcxR1+lYUUNScFGKhBo4tixWZNZqZyB3KH48itQHVWak4R6K4+2wFBo PzO1n0YpqhSnsh+jR0wNddX7g+SToPn+ciBDPjfM7eNwmasAQnDs3NsdSgcejXtdEtR9 FVcBsnbGo2AAiROAEkZJcjKS0+JAROZ7b8nJc/4TKIV76a0qCGsz9MCgDJWRKI3pvapR YU9MDapqSzkOPnWkVbySg94oDNLWtfQW6jj2Epnvnp6wVnaoQdA2ZKJUfIlKlg1lCRBI ZJ8BYc6ahId8Rvkjq84Tul2FZJOYsc6C4ux0FbNeTgm/qADIOefHqFaHixX9TOsBpUzY XmRQ== X-Gm-Message-State: AOJu0Yz8KsVDQlNU/1w/9OcBKKtAwZazTlxkrHSZq2IkNS1BOZxo8LPm tb9nNC/6vgo6jtFkHMxIMX1gGZAp/vY= X-Google-Smtp-Source: AGHT+IFXTwyghCCw0SKozruP043bD099ZAC6iXS5szSmu4XlKfAdcVnxo4dU1KAjOfKTILjWhfQc5A== X-Received: by 2002:a7b:cbd0:0:b0:3fb:efe2:34a2 with SMTP id n16-20020a7bcbd0000000b003fbefe234a2mr4843930wmi.5.1694288315768; Sat, 09 Sep 2023 12:38:35 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 09/23] bsd-user: Implement ipc_perm conversion between host and target. Date: Sat, 9 Sep 2023 22:36:50 +0300 Message-ID: <20230909193704.1827-10-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::32d; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288465642100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/bsd-user/bsd-mem.c b/bsd-user/bsd-mem.c index 8834ab2e58..46cda8eb5c 100644 --- a/bsd-user/bsd-mem.c +++ b/bsd-user/bsd-mem.c @@ -30,3 +30,28 @@ void target_set_brk(abi_ulong new_brk) target_brk =3D TARGET_PAGE_ALIGN(new_brk); initial_target_brk =3D target_brk; } + +void target_to_host_ipc_perm__locked(struct ipc_perm *host_ip, + struct target_ipc_perm *target_ip) +{ + __get_user(host_ip->cuid, &target_ip->cuid); + __get_user(host_ip->cgid, &target_ip->cgid); + __get_user(host_ip->uid, &target_ip->uid); + __get_user(host_ip->gid, &target_ip->gid); + __get_user(host_ip->mode, &target_ip->mode); + __get_user(host_ip->seq, &target_ip->seq); + __get_user(host_ip->key, &target_ip->key); +} + +void host_to_target_ipc_perm__locked(struct target_ipc_perm *target_ip, + struct ipc_perm *host_ip) +{ + __put_user(host_ip->cuid, &target_ip->cuid); + __put_user(host_ip->cgid, &target_ip->cgid); + __put_user(host_ip->uid, &target_ip->uid); + __put_user(host_ip->gid, &target_ip->gid); + __put_user(host_ip->mode, &target_ip->mode); + __put_user(host_ip->seq, &target_ip->seq); + __put_user(host_ip->key, &target_ip->key); +} + --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288445; cv=none; d=zohomail.com; s=zohoarc; b=KsRRrBPNcG46BrcI1TPkaGqLv+MzfN834oExPh1PlESRSRRXqT4u187Skp+vUiQt4ZPxv4WsWW1JhFwpRz44HyyC3LI7lQGqc2AFZbVhbyXcrgnejWa+c0NWDBucfykcsrIKBlBRk2czcLhZkNHz8MkDGhnS5MylBt+zEauXEE4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288445; 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=SzQYgtfeBusD4Se7U5wLMSY61hrlabGlXjvWtWADjxo=; b=FgKc6QYkG3XX8QvB6XzUY2UGKkrMwLwfXJqj86JXzLUkIdIVqpg9ZRyA0iv5jdVq8+yyeR33hDpZXi1dINJu0wWLRxzX+4aRAxIfomfDhTZN/kGJBbNdYWieqa52XAkYCUfUDDWdzx40JIxmPjbnGghi6UD9Zg7+ANAmHry1I48= 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 1694288445593519.836854299425; Sat, 9 Sep 2023 12:40:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n2-0005xn-Sq; Sat, 09 Sep 2023 15:38:44 -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 1qf3n0-0005x7-S0 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3mx-0003Dr-0b for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:41 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-403012f276dso8463245e9.0 for ; Sat, 09 Sep 2023 12:38:38 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288317; x=1694893117; darn=nongnu.org; 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=SzQYgtfeBusD4Se7U5wLMSY61hrlabGlXjvWtWADjxo=; b=H2QRQkN3A+taOvckRM5zfZjXhVi9Ee6eZiSCrlljQU8w1nWGienE26Uzw+y0bJb/KG DYO6+XyceuDUE+7xgHPryRBQf5Gl5Wm1rx0j9fRk7XC4n4pqPKqp2PH0uiceMinUdVdw +IkFIXFtw/lcRCe3F7gum/6H+JgPi1WWGU4p2IHleeI3LRcqGk1OtR+ujnblDqzPWhXL dsd2/kGpJMr3NqJ1TLXCoViBTta21XHrZRdd+qq/KnQBzUxaF2ZTneL/R3OniZWOyT6j YuE7P+379ylAmEnxry0HaNqZSa5S7MCuEbJs4BGBXgfedBo3xNnRZumccfa6HIxuCs1o DtbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288317; x=1694893117; 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=SzQYgtfeBusD4Se7U5wLMSY61hrlabGlXjvWtWADjxo=; b=nGNQZvvVmDzZTwjigPAmFH8hYIc+8eYT6GIF7qN+T0OufzdgT/UppoDtcldg+f8PJo f6u30afKrVbYiy8PFVIIYRx2aC9YsVXWLhUoBGOKuQOVxt5WMA2K8ZID2YsTcrhhUoAQ f+YSSlaYQvzyhDRdV+7jIZtw+TSFBb11mcYkUpqWBuG3NF3RzbyoDo516zNKNzJDi4pt ewXoLsSa5GAW9uQR7Fw56ZQoMeoj0fwl4+g9gsiIQdt2k2G/DjRFgNMM08L2l4qEvWdt gBiZUCy0GXm5qgYr3bh3iesM9q0Bc8+ZHLdFwOWSTz3HZfuIrvqiz+Y3FqwcWdLLlhAc o1GA== X-Gm-Message-State: AOJu0Yykrt/4SgSLdGT6FkRD/jCiu10YGctBZRV9RTiR4VZjw2BAcIHY M07FEXz3GCNaBXXliV/XYi/ZrjU8CIM= X-Google-Smtp-Source: AGHT+IFJBu0JduF3Vm15j8ORPbOOBZxACpqfn7sHpMpAU52HRqb1tOPJ99VHJvQzuzy42pJkQMY0oQ== X-Received: by 2002:a05:600c:218f:b0:401:b2c7:34a8 with SMTP id e15-20020a05600c218f00b00401b2c734a8mr5089642wme.7.1694288316916; Sat, 09 Sep 2023 12:38:36 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v3 10/23] bsd-user: Implement shmid_ds conversion between host and target. Date: Sat, 9 Sep 2023 22:36:51 +0300 Message-ID: <20230909193704.1827-11-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::335; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288447332100003 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/bsd-user/bsd-mem.c b/bsd-user/bsd-mem.c index 46cda8eb5c..eea499a727 100644 --- a/bsd-user/bsd-mem.c +++ b/bsd-user/bsd-mem.c @@ -43,6 +43,28 @@ void target_to_host_ipc_perm__locked(struct ipc_perm *ho= st_ip, __get_user(host_ip->key, &target_ip->key); } =20 +abi_long target_to_host_shmid_ds(struct shmid_ds *host_sd, + abi_ulong target_addr) +{ + struct target_shmid_ds *target_sd; + + if (!lock_user_struct(VERIFY_READ, target_sd, target_addr, 1)) { + return -TARGET_EFAULT; + } + + target_to_host_ipc_perm__locked(&(host_sd->shm_perm), &(target_sd->shm= _perm)); + __get_user(host_sd->shm_segsz, &target_sd->shm_segsz); + __get_user(host_sd->shm_lpid, &target_sd->shm_lpid); + __get_user(host_sd->shm_cpid, &target_sd->shm_cpid); + __get_user(host_sd->shm_nattch, &target_sd->shm_nattch); + __get_user(host_sd->shm_atime, &target_sd->shm_atime); + __get_user(host_sd->shm_dtime, &target_sd->shm_dtime); + __get_user(host_sd->shm_ctime, &target_sd->shm_ctime); + unlock_user_struct(target_sd, target_addr, 0); + + return 0; +} + void host_to_target_ipc_perm__locked(struct target_ipc_perm *target_ip, struct ipc_perm *host_ip) { @@ -55,3 +77,24 @@ void host_to_target_ipc_perm__locked(struct target_ipc_p= erm *target_ip, __put_user(host_ip->key, &target_ip->key); } =20 +abi_long host_to_target_shmid_ds(abi_ulong target_addr, + struct shmid_ds *host_sd) +{ + struct target_shmid_ds *target_sd; + + if (!lock_user_struct(VERIFY_WRITE, target_sd, target_addr, 0)) { + return -TARGET_EFAULT; + } + + host_to_target_ipc_perm__locked(&(target_sd->shm_perm), &(host_sd->shm= _perm)); + __put_user(host_sd->shm_segsz, &target_sd->shm_segsz); + __put_user(host_sd->shm_lpid, &target_sd->shm_lpid); + __put_user(host_sd->shm_cpid, &target_sd->shm_cpid); + __put_user(host_sd->shm_nattch, &target_sd->shm_nattch); + __put_user(host_sd->shm_atime, &target_sd->shm_atime); + __put_user(host_sd->shm_dtime, &target_sd->shm_dtime); + __put_user(host_sd->shm_ctime, &target_sd->shm_ctime); + unlock_user_struct(target_sd, target_addr, 1); + + return 0; +} --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288500; cv=none; d=zohomail.com; s=zohoarc; b=BaODif+0RNEf9cSFGctqDcD+Sl42QrWSVFN177v2rCN0EdzgKtkHaMtC6Z5ULuSwu0lWkGRg1YWPztahcU9Ov6Uhfnz16GoO0xsPVhUBU0JPI+++yU0xIoEUp77qi69opAC/7uhXp2LIWkGmtFvJh1QLpck79SB4Qk9W3IvOdGc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288500; 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=HPqFO7ZnPlB1ymtPBm42Ntj1KqYfMSvTSWzVjhNSsnU=; b=bq61ba4tQ0ZRUPpZCxblfKNNmJbCYEV2qv5+3f7QAapD9IqA2n5BfMp9vtpeq3J+zvY0j//63+iaWghUC9pl1+rZrMkkrpntM9McHcGL9DXUrCIjM4LzXXWbn2Ki3Z04/d4cCRlJ4ef0f0MdW0wmH8EHvM4pH+sG9qkZzvmKGaM= 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 1694288500377456.02097069562853; Sat, 9 Sep 2023 12:41:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n3-0005yO-KM; Sat, 09 Sep 2023 15:38:45 -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 1qf3n1-0005xb-Qa for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3my-0003E1-4X for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-40078c4855fso33588005e9.3 for ; Sat, 09 Sep 2023 12:38:39 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288318; x=1694893118; darn=nongnu.org; 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=HPqFO7ZnPlB1ymtPBm42Ntj1KqYfMSvTSWzVjhNSsnU=; b=Gep3uvW+m8IoDQgtA+D+eltmvI5X0RiUAWz6yG7d9B5ROeJZufmBnbjxKVS2my9lLC dXC/FqXkTR93bwpUYErt3svSBSf4LyPo4A4jaVP5WeehcCpkMpZha6lGfHY0jvmwy23a yEkCAr5kqTpO3o2xj7OqZK9Fw9UpssCkwLXsj84nbJnm40aRtVFbIJC0gDEVqIqk+WIa +qMM2hhfVGrbKvdUmWa/5Uep6yK3mvEcGjHZ4YO/uWbMegBT3a+zMW5pQtRUd+ZrXcKz vIQA7M+7ADnTkqo/v3R1T00NpacAP6H2sSfzeolPmQHj8fViahLb/TTYrcJD5WKKwXXa Jm/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288318; x=1694893118; 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=HPqFO7ZnPlB1ymtPBm42Ntj1KqYfMSvTSWzVjhNSsnU=; b=tLFhjftw8q63ZI4+vi+vEawuqmeDK8SKZb6XBpQ96ykCEYAinveIRpNWLkUSRVCAh+ v5upksyBpJS3J7evPvOYUxvNSo+KQt+TMzGwWn5RCKLqJTHJq70HfXDkDeRkke/unv47 4gpleOMFywrUej0Q0C4r+a8MjqIH9VaOot5RHF5pFiPGl+AuIvXAdUnXcEGF2YNdL4ll oV9ti10TWDHsvxsKLupAJEdgwoYI4jMd7tOw9ivXQq7lIf6y81ie3N344s0PUs3ezc1j ZVGjoLFSPdu57X5KpfCSd2VnesYukQe9lSKGIAv/wEgVn9DtwsN+bd/byxuF6MQXQ7mh DVPg== X-Gm-Message-State: AOJu0Yy6LmrUUy7tTZrJXmr7hDSTnS/WUYrCy84khrr+StAgrQ1NwAxN zz9aGMHc+XW+jk0BDIQjhrpXRhZ7mTk= X-Google-Smtp-Source: AGHT+IEFxy99JrNQPuDu80kzSoJAHZyUp5trgxoOx4SioBi5x8nrhISMAJtKiJT26szLZlNlclAsvQ== X-Received: by 2002:a7b:cc99:0:b0:402:ea83:45cf with SMTP id p25-20020a7bcc99000000b00402ea8345cfmr4989118wma.2.1694288318141; Sat, 09 Sep 2023 12:38:38 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 11/23] bsd-user: Introduce bsd-mem.h to the source tree Date: Sat, 9 Sep 2023 22:36:52 +0300 Message-ID: <20230909193704.1827-12-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::330; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288500931100002 Content-Type: text/plain; charset="utf-8" From: Stacey Son Preserve the copyright notice and help with the 'Author' info for subsequent changes to the file. Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 64 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 1 + 2 files changed, 65 insertions(+) create mode 100644 bsd-user/bsd-mem.h diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h new file mode 100644 index 0000000000..d865e0807d --- /dev/null +++ b/bsd-user/bsd-mem.h @@ -0,0 +1,64 @@ +/* + * memory management system call shims and definitions + * + * Copyright (c) 2013-15 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 . + */ + +/* + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURP= OSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENT= IAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STR= ICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY W= AY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BSD_USER_BSD_MEM_H +#define BSD_USER_BSD_MEM_H + +#include +#include +#include +#include +#include + +#include "qemu-bsd.h" + +extern struct bsd_shm_regions bsd_shm_regions[]; +extern abi_ulong target_brk; +extern abi_ulong initial_target_brk; + +#endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index c0a22eb746..7e2a395e0f 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -35,6 +35,7 @@ =20 /* BSD independent syscall shims */ #include "bsd-file.h" +#include "bsd-mem.h" #include "bsd-proc.h" =20 /* *BSD dependent syscall shims */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288422; cv=none; d=zohomail.com; s=zohoarc; b=Hub4tX67XMbHwCpD09i6GP9YrFrLkA29EWyC9amJaz1aHCrhvMFPh4rC+T5t6qwWKGchjpNwFxH8ZS1UKf5Ep1n46cIhVBv4Ygrvj2hX3cVMOKep5sEUuAnVwBi5i7Nfv8McgsZhxyLBtPE9yHvCRJtdBwZGpFJk5Dt3lTSqpkw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288422; 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=jNK2HNrdMWVVY1+gcX4oM/Wj3OhUzW/K4i4ACmkfmcg=; b=TYpvhBts3bPnI9ZFXYTdQhMh8A65Ie7fiIVJbO+Mep7RMVwPc1nxFrx6RzYKDNcEE6Nm9grTLOl/k0n6s5TjUm2m809dFLsxhk8tSatf+5zulDJ417RGEWNVdZC8aImhRi107wtGfmsfVv8e+29AFelRc1pYaW8tl3yFH34+6UM= 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 1694288421995781.0498914773755; Sat, 9 Sep 2023 12:40:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n4-0005yl-74; Sat, 09 Sep 2023 15:38: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 1qf3n1-0005xU-Hr for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -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 1qf3my-0003E5-Qk for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:43 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-401187f8071so19782355e9.0 for ; Sat, 09 Sep 2023 12:38:40 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288319; x=1694893119; darn=nongnu.org; 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=jNK2HNrdMWVVY1+gcX4oM/Wj3OhUzW/K4i4ACmkfmcg=; b=LP7vBbYgATegzu+2Wd4IUMn0DbTzi/vAcX97dCi/hsW78joK1Ivq6D3w4+gti4UYvX 37Q0e75Cdgde8XCM+zSLrurEVM+km3SUovJGGda8a0w0zqMv4JKMcf15YUG4G7lm2FiD uHeEca5KguG1AHGP1nogD7qRCv/eQRHT47lyeMDJRu6/qrUzSfrdmpuKLU2rNz8qXiu2 zKwBizt+MPLzIohUxOdgPIjP7QayqypN/+y0zYrSc2kjVcjq9QmaZlaKJiWbJ/fnaVy0 BH3TvR1+bOPBhUzB0W3kd0xwuq4UE6r81QDXIE3iyp6WXKCR3k4jKcfEFjcBKvsHZBat S83Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288319; x=1694893119; 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=jNK2HNrdMWVVY1+gcX4oM/Wj3OhUzW/K4i4ACmkfmcg=; b=c7K8u7GRbJ85l0+dUxEN7Vru5YYnhb2J4AePCz/s++TZ0fyqKSlJMSG/bEZd4jtS0V xDHY1q6+29YQTPue17dQJG7V/zfVHt8WMaxfwC57wrx3q45ZIxIy7TzYO+TiD3eZglZb 30mOzQS8XaaiVEDWkmhNx7rKk7zq3ByyyAbswTAxJJzm96e1O3skTYviQnA9lZJFI7Tr UWJnmyQHmR+1HBd6mpMHx2shM87w5+/tL/QuE0wGonhq/cMpODo5D0Y1Ya9jcHmgYm+S FsgUuTE4//W4g5RkQ0SWkh3Mo5UHrrThM4iJCigr5U7k/lCNfjqhSasmGXqGS6VT32TX GCWw== X-Gm-Message-State: AOJu0YxUPX+Z5U5Gytd7/cQQRa4eksr5kLnTX4eUSS8cdI2gWmDSFG+C MuDR/N1md08RDyer4yDdCv2lXdcPWGY= X-Google-Smtp-Source: AGHT+IGj8FjoRKakkJTG8AFGvOmD0pl6AAuPzaBmtdklNj9c040stqZ7hIIF75yL5hYgdPsVO4iTyA== X-Received: by 2002:a05:600c:9a2:b0:401:b425:2414 with SMTP id w34-20020a05600c09a200b00401b4252414mr6462419wmp.18.1694288319285; Sat, 09 Sep 2023 12:38:39 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 12/23] bsd-user: Implement mmap(2) and munmap(2) Date: Sat, 9 Sep 2023 22:36:53 +0300 Message-ID: <20230909193704.1827-13-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288422734100009 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 20 ++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 9 +++++++++ 2 files changed, 29 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index d865e0807d..76b504f70c 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -61,4 +61,24 @@ extern struct bsd_shm_regions bsd_shm_regions[]; extern abi_ulong target_brk; extern abi_ulong initial_target_brk; =20 +/* mmap(2) */ +static inline abi_long do_bsd_mmap(void *cpu_env, abi_long arg1, abi_long = arg2, + abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6, abi_long a= rg7, + abi_long arg8) +{ + if (regpairs_aligned(cpu_env) !=3D 0) { + arg6 =3D arg7; + arg7 =3D arg8; + } + return get_errno(target_mmap(arg1, arg2, arg3, + target_to_host_bitmask(arg4, mmap_flags_t= bl), + arg5, target_arg64(arg6, arg7))); +} + +/* munmap(2) */ +static inline abi_long do_bsd_munmap(abi_long arg1, abi_long arg2) +{ + return get_errno(target_munmap(arg1, arg2)); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 7e2a395e0f..d88f62319b 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -486,6 +486,15 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, /* * Memory management system calls. */ + case TARGET_FREEBSD_NR_mmap: /* mmap(2) */ + ret =3D do_bsd_mmap(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6, a= rg7, + arg8); + break; + + case TARGET_FREEBSD_NR_munmap: /* munmap(2) */ + ret =3D do_bsd_munmap(arg1, arg2); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288541; cv=none; d=zohomail.com; s=zohoarc; b=DmNxD4+BOuo/mkfVa6Yh29iUF4AbSAbSktwZfKejf6KzgQYnLhwCRmGTt+5RAXDR2CXZBTbGh8Y1FzptrZI0YUX+tTxEku3UBdPqENkI2P/EjLEOgtLBR6etEwdhPBb9IRmQtO9mcRQ6Op+IF9OvSkWvQUZld0L5pL48eGzMbWM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288541; 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=7eYQSo99m8Jb6VuAKy20SyQjPPkVXbzKZOriqtp/fqQ=; b=gAdTPxSBxcNir9ssWyPBjFGOCt3k/bwjuVbkFNTnK7FfxqOUGWi4AowkhU3xiAZUnmAXYRtDrDhWiterEph051wOxluqaHb3Bpo4LJ2R+G/bBg5/GsXCvph5f9+XobnNNiSH1GGQpX/MRk2aXghxJ/LddPJnitno8MJMwUmPRtw= 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 1694288541748875.8132337466205; Sat, 9 Sep 2023 12:42:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n5-0005zB-DO; Sat, 09 Sep 2023 15:38:47 -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 1qf3n2-0005xk-O4 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:44 -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 1qf3n0-0003EH-Km for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:44 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-401da71b7faso36636245e9.2 for ; Sat, 09 Sep 2023 12:38:41 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288320; x=1694893120; darn=nongnu.org; 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=7eYQSo99m8Jb6VuAKy20SyQjPPkVXbzKZOriqtp/fqQ=; b=SA03Fk6RNdai2Nl8CZaAng3tJPAV/0kGAvvHEsh/4T5vmP6+aT7mlQZ5ogKTin+zbW AhmLvfBeSOIdk+pek7q4h0cfqBR7e4f4IydBrzE3ZgF2oYXv59D4t4jMD/scZvu4F7Lt XZwggqDm51xxK7wohgoXO1jwjWTGq8jTmx/V+8+IkX1NvJj6MkAQO6FmB40LO3G1KuAQ WaDjYlHbBS+pju1WHpxOj3chR1DvAru1O8X9FRFsm+XYheWvlZ94zh8LCJS2lQ/wTX3B tKnrfqPPgA5PV3jNbL1vht+spEASQyy6BvE8YkU405zGEOwXhRTKo10hAf4oP+9R1uxC otKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288320; x=1694893120; 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=7eYQSo99m8Jb6VuAKy20SyQjPPkVXbzKZOriqtp/fqQ=; b=uaSO3+sizb9RqyTEuFkA2ff9GniQom6BvysXKrhEuUFdl1EuD8L5NIPdZTYZQm9ahR 0XqJpau6KD04fsE/Ba1peEuOW6DGxiOg7CXwCKBHfOJ9zTBaJdbMgcwxMATkXJZKQMNR GPfw2R+iRdhDwD+8WN52uEieEvt64U6poq6BvehRwik2W6dmq60OKctvOvgLiZFriH/3 31r7lJQfvoVY0nB0sSmuF/n5nV0JpGXxHq0bHUosnlYMYfGB/fZwmW7zJTle/sp3IzLk kwL+13rv9kUS6kWcPfLManwJlScdrwDZ9VBuoJlJ5R8+YXwjPUESh0A130hxbVq46dIG RM3A== X-Gm-Message-State: AOJu0YwWSm0wcblNobTy1R8afUcu374JrrEJeFl5f3Fpnj58daKFe8Ti cVnez52ZGtAE3rghPGCsDerGrEZGUg0= X-Google-Smtp-Source: AGHT+IFi2SqsVQjcKn6BDSHtrLyibvQ3BjPc9zeIF+GkYAvkH3aEAn4Nl5j2bGopqKXFIxGxUDpxOw== X-Received: by 2002:a7b:c3d0:0:b0:3fe:22a9:907 with SMTP id t16-20020a7bc3d0000000b003fe22a90907mr4628598wmj.20.1694288320418; Sat, 09 Sep 2023 12:38:40 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 13/23] bsd-user: Implement mprotect(2) Date: Sat, 9 Sep 2023 22:36:54 +0300 Message-ID: <20230909193704.1827-14-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288543503100003 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson Reviewed-by: Warner Losh --- bsd-user/bsd-mem.h | 7 +++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 76b504f70c..0f9e4a1d4b 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -81,4 +81,11 @@ static inline abi_long do_bsd_munmap(abi_long arg1, abi_= long arg2) return get_errno(target_munmap(arg1, arg2)); } =20 +/* mprotect(2) */ +static inline abi_long do_bsd_mprotect(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + return get_errno(target_mprotect(arg1, arg2, arg3)); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index d88f62319b..127805e079 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -495,6 +495,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_munmap(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_mprotect: /* mprotect(2) */ + ret =3D do_bsd_mprotect(arg1, arg2, arg3); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288447; cv=none; d=zohomail.com; s=zohoarc; b=R14O6NAdACgcvrzs+DuWxyNEAm+oNky1I7Ul43B6nhiQJug6gaEfKGSpPUrr/oqlsEoTYFxIR5CuHjD4mhr1xXTZxT6JjmQsfO5ib3Bulgz3SDe9XGT+ALYDjewedtUF6CjD4rGxd36LSrF754FQhIBFLT8HMD9AP2mcflNEofg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288447; 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=31oTqmQfxy5Vixb6rYMspPtmbe4ijKJWcWRToEaaBS4=; b=G5roN6HJaqS7YhlvefBr+uEb35/aHhR+Klsc3lqfr5ligmj4LrzDNAkTM2iqDhj/m7y8oSnWZ+27da2on782IPy+Raww+v2lmF5Tcm1rqMe0pJMDwDgDFsDbyoTk9NZT6QTb3SJFVi+s/3gZRXe6LSkSDyGnQ6ObBdrt27/aWTI= 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 1694288447924783.8797843684451; Sat, 9 Sep 2023 12:40:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n6-0005zo-C3; Sat, 09 Sep 2023 15:38:48 -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 1qf3n3-0005yS-If for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:45 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n1-0003EP-E3 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:45 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4018af1038cso34427265e9.0 for ; Sat, 09 Sep 2023 12:38:43 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288322; x=1694893122; darn=nongnu.org; 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=31oTqmQfxy5Vixb6rYMspPtmbe4ijKJWcWRToEaaBS4=; b=XH+yYszl5V0cpklQPJMWlDokm7ZMM8NHp4OR6L5Kleaw38NMaQ3cvK4m+T/lZ8szti IY51jyAemFgaVAHdav7Cn7eXT+jg0xLC8o/7M45ehRhekGiRT0iIht4SM6/bVequBHM7 HbKft43ogDbgkG3BvhjcHmm/8Ws51XTYM0mx8XXB6R5jgneMc5yez7w/8Mv7pTUiE8B9 x4M0SiL3RWnyJ5KSR/tGbklqPnkPyQQZxeE8aWIzJVcSnCvfnZnRUsj2oMkYPZDGQcMF fVPKCnXMA33+OEr9NUKnKQvjRmnUwEJHRhxVA/+q+GGas/PdB1zJWbKkugcz7TrzQRB4 pADQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288322; x=1694893122; 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=31oTqmQfxy5Vixb6rYMspPtmbe4ijKJWcWRToEaaBS4=; b=iP4rxOdte9q8NcoPNQIoE4ofjqWtWqc5mciWKRABayCuVqoApLTNwuhipBL7PrlKep lVsGwQ1DZmYxRJc4mX92kzzh/5v8QDNOiPnwOwWY6BSZHQcJ7Ku7DI5BIAbx75lUdPRb xH4zL+eiGi35mLlqk1OgwHzdKgB9i+sF0lUq+wQptGlTSj0K3QnyT9QmBThaRUA4R+Bg eRxNh773wT/w7FUfe4podig0AImKD3m9CRBfprCPA8fSWpyR6kkYEwZ/qDswkKgqDd6M ftTsUUO79j1OFLLhHgHK+L+5/ShqBM4FhGMcy9Hb8nJ6R0gKxcU8s6vVMBkzomcKNBrA iRgQ== X-Gm-Message-State: AOJu0Yyz8S9sfZSC/dVdUDFmHUSbWAP6tti1Q+0VMnGHM2YxKiwU+WB3 jFr6MG1x/zc/AqGsvueQ5cGtZNmrmPE= X-Google-Smtp-Source: AGHT+IHmvlO3uA0eZQc9IUn3KmETNwVwdwjMAwImMZS/Hl7VOco248m4JLurp650CeC9hrAtkuSXPA== X-Received: by 2002:a05:600c:2202:b0:401:cdc1:ac82 with SMTP id z2-20020a05600c220200b00401cdc1ac82mr5178705wml.9.1694288321699; Sat, 09 Sep 2023 12:38:41 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Kyle Evans , Karim Taha , Richard Henderson Subject: [PATCH v3 14/23] bsd-user: Implement msync(2) Date: Sat, 9 Sep 2023 22:36:55 +0300 Message-ID: <20230909193704.1827-15-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::32d; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288448616100006 Content-Type: text/plain; charset="utf-8" From: Stacey Son Co-authored-by: Kyle Evans Signed-off-by: Stacey Son Signed-off-by: Kyle Evans Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 11 +++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 0f9e4a1d4b..5e885823a7 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -88,4 +88,15 @@ static inline abi_long do_bsd_mprotect(abi_long arg1, ab= i_long arg2, return get_errno(target_mprotect(arg1, arg2, arg3)); } =20 +/* msync(2) */ +static inline abi_long do_bsd_msync(abi_long addr, abi_long len, abi_long = flags) +{ + if (!guest_range_valid_untagged(addr, len)) { + /* It seems odd, but POSIX wants this to be ENOMEM */ + return -TARGET_ENOMEM; + } + + return get_errno(msync(g2h_untagged(addr), len, flags)); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 127805e079..859492dee7 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -499,6 +499,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_mprotect(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_msync: /* msync(2) */ + ret =3D do_bsd_msync(arg1, arg2, arg3); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288424; cv=none; d=zohomail.com; s=zohoarc; b=CAmpVzoClPN4X5cQsW91N5LU43JIhIoAFkk768GL0GI1YyofI7ok4z3nRb5qOT35MXPpFCOf5kBjmVU/X9GfUr+OLMEt2GC1PHIk7hkJG2d1Bx6/PjF9gtWF+evZD9vsvKSPFS95zddjg7mOsGGXwtxFl7FsD+nef8lwb/ddlpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288424; 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=0nAYdR+eSimunrq+5ySm3v4Uk13qn/HpDgGI/X8dRrQ=; b=O+4IWQF1gy/DN6oxyWqOJF+5Px43asFCyq2W1Y/NI00QnmJQSVftwISry7yYTltgxFiIBNqfKuPp9XU1s1sJkgm+8CBIktoLAGufbeTa0cuwHAYp7tCvo7pT+bkZpvLlmbFPHAPtMqKMeEuzVZzT78dTkd7IpjroiBXFYKl/e44= 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 1694288424366286.95272825682434; Sat, 9 Sep 2023 12:40:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n6-000600-RD; Sat, 09 Sep 2023 15:38:48 -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 1qf3n5-0005zA-Af for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:47 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n3-0003Es-3g for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:47 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-401b0d97850so34745625e9.2 for ; Sat, 09 Sep 2023 12:38:44 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288323; x=1694893123; darn=nongnu.org; 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=0nAYdR+eSimunrq+5ySm3v4Uk13qn/HpDgGI/X8dRrQ=; b=d/x8OD9qmCsTnwhC6dosvK0HHOPNSoiFv3oGdxGqeK+nCIIix1JK0PjsuFCFEf6vSm o1EAMNYLME13Ki1VqzxQkCCFwURuqTyw9Swg73xvTeRZKw4QYnHJ/0g1SQSp5flc/7Ha ktgS5Hx7f5j4i6or/7gaNUkUIXARyvjNOiSzmRwQEupQRgtJPmbNYysXt00rbzgmAxt3 b8l0crqEZtmBH8AV4w8OsjHjhnjBJvSPN8K5BgUnk2RAQNbj5KvFQPfECGF8+2PohO1A Ia8qF3YhjlWuQ9SVkC0erXspObiwEftwlE9Tp1SztvJ2UKLe95V8eGrB3EJn+7+YnTzJ KSrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288323; x=1694893123; 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=0nAYdR+eSimunrq+5ySm3v4Uk13qn/HpDgGI/X8dRrQ=; b=ZYA6Spo8p3hQZL3QPmySeQBBGayBUxQybc+LS+xwU9eq3C/4kAYziKLaS4EuH1jSVX zyPsLdy/gIK7ElQvhd8/wlrO3fpYhx4qW4yan/LZAwX2J28jWU9JRHEmhIRw5Fi4H4D3 yoZTBFLYXWbcIf3OBwx26H49CahVqx9vw2q4CWlzBA97RqbrtYUYCsmBoZjXVp6xCadz wR38GEJTEcJF8JLhQQrtrZppVJ1YZ3XEabqe3zKnCfIskUt27FsGQ2beDU/xN9OF9cIq XfSr5TauotBdhguVIzf7vSK+vKlKUh60P2kLW4SybVSzOqSNWRmwrXsGaAeMg+BUGwRq K0gA== X-Gm-Message-State: AOJu0YxIdAYifkhuDD0vLPAXn2Gm2cjw+h31e0REZw4Nve8cBwI8Sqse IpyYT/T+9uzj3aG1VKFrVcddt8WpZ+4= X-Google-Smtp-Source: AGHT+IE6Px+rskcE8fF1ma4K7uniMNxQOYnc/WQNzN21vkaAN7VAvGzxVkY6TIGb40FapCY/z9ihPw== X-Received: by 2002:a05:600c:2483:b0:3fa:934c:8356 with SMTP id 3-20020a05600c248300b003fa934c8356mr4727657wms.10.1694288323096; Sat, 09 Sep 2023 12:38:43 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 15/23] bsd-user: Implement mlock(2), munlock(2), mlockall(2), munlockall(2), minherit(2) Date: Sat, 9 Sep 2023 22:36:56 +0300 Message-ID: <20230909193704.1827-16-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::330; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288424762100011 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 37 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 20 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 5e885823a7..16c22593bf 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -99,4 +99,41 @@ static inline abi_long do_bsd_msync(abi_long addr, abi_l= ong len, abi_long flags) return get_errno(msync(g2h_untagged(addr), len, flags)); } =20 +/* mlock(2) */ +static inline abi_long do_bsd_mlock(abi_long arg1, abi_long arg2) +{ + if (!guest_range_valid_untagged(arg1, arg2)) { + return -TARGET_EINVAL; + } + return get_errno(mlock(g2h_untagged(arg1), arg2)); +} + +/* munlock(2) */ +static inline abi_long do_bsd_munlock(abi_long arg1, abi_long arg2) +{ + if (!guest_range_valid_untagged(arg1, arg2)) { + return -TARGET_EINVAL; + } + return get_errno(munlock(g2h_untagged(arg1), arg2)); +} + +/* mlockall(2) */ +static inline abi_long do_bsd_mlockall(abi_long arg1) +{ + return get_errno(mlockall(arg1)); +} + +/* munlockall(2) */ +static inline abi_long do_bsd_munlockall(void) +{ + return get_errno(munlockall()); +} + +/* minherit(2) */ +static inline abi_long do_bsd_minherit(abi_long addr, abi_long len, + abi_long inherit) +{ + return get_errno(minherit(g2h_untagged(addr), len, inherit)); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 859492dee7..6eaa705cd3 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -503,6 +503,26 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_msync(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_mlock: /* mlock(2) */ + ret =3D do_bsd_mlock(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_munlock: /* munlock(2) */ + ret =3D do_bsd_munlock(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_mlockall: /* mlockall(2) */ + ret =3D do_bsd_mlockall(arg1); + break; + + case TARGET_FREEBSD_NR_munlockall: /* munlockall(2) */ + ret =3D do_bsd_munlockall(); + break; + + case TARGET_FREEBSD_NR_minherit: /* minherit(2) */ + ret =3D do_bsd_minherit(arg1, arg2, arg3); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288405; cv=none; d=zohomail.com; s=zohoarc; b=AQaHo3xKPbsHFEqg1faq9Utxt+nPuZDJdiE0cANllg/OGgJ1giuId4oOJYOT+axGGZPwN9CGtggDLCN4LRv4Ishuh//BLzcqopFZ2HkGubadb+C6tD5D+botyGUKR+Zycr16GROcJOiwJXR7vKJyDcO7emXqmXHbx4e5iBxiUMo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288405; 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=wVHZ2gTKJUTTUFCrTx1jb9XTLg6fK+kTZHzI2+VVFKw=; b=N/JEhoOlQJBT6vs+6U0FxJbtKkP1WwWE3WLkVeoCC6MlQGAEZMoQMnjAKiJy3Pm0uyUDrjnyMi0/Dugq98g0I5SPjtTl0VLigGpxpOFsBjzBts0N0YIdrVlbtENTZBm0TANs0kKI2B8aQ14UUcd07UOP2QRzd7ZD/roDdXoM1fk= 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 1694288405502156.60496447815103; Sat, 9 Sep 2023 12:40:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n8-00060G-J6; Sat, 09 Sep 2023 15:38:50 -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 1qf3n6-0005zs-Di for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:48 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n4-0003F4-4F for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:48 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-403004a96a4so9302015e9.3 for ; Sat, 09 Sep 2023 12:38:45 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288324; x=1694893124; darn=nongnu.org; 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=wVHZ2gTKJUTTUFCrTx1jb9XTLg6fK+kTZHzI2+VVFKw=; b=Bg//YAXowLUbGREkRw73qTrvl3gPhkferhDKB+cELbPPCIkDzsFkUyUb8bCw2ablb0 wLH5YiW9CS3xWOapLYcCkrkq6d/AwbbcLwkpaeMBgeMzkngNQiOmU54+3ownYsZ/74Ka K9cesOEJZv2cdI+HQvGJjEVkZKef8Y2vym121Hhv0VjYRd29jYAmy7RN+aS1/2t87a0N bt/aWTRFjL4b0xvcXGWrXeHAl03TQYRrpvPi5CRtdOLoj8mn8sMaTIvyGBXoiiLm+OF3 C6owj1MBLvhgwsStnPYszp75t6i2Uh35bag6DCorGqaFQAEml9jZUgL8TyUB7AJPE5+e 2l4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288324; x=1694893124; 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=wVHZ2gTKJUTTUFCrTx1jb9XTLg6fK+kTZHzI2+VVFKw=; b=FgUuMtBUkIu0dCK0utPyzzD2rz4YKsAHZeX6vSoA/U/miUS8xFp/fEADy2zynEGIZ/ 5uC0S+8FPfgLXUU9ieIemZuzmZR1QDFLxtlyf/B10ABSb/AnIXS2VLxk5WaKMJwZdX3Z 2dWvppflEuqKUvOGVr3Fs+IRiLRwslCsvImXeBbg8MCLzDZLZSBKkobocUTmrCOW3xCL C/bYPhV+gC3NsRDGUAtJP21FNR5zXAmo5TlS0PzRLJAR7rjQmJAbeQmDbdybbkGwuxwZ pH1tUw/P7qrIsgRAU1yxdb0vApoKvvfReKoaj3PwPI6tBWdj4i3Jpc1YJXovdgbfsZ9P be4A== X-Gm-Message-State: AOJu0Yynve6M9LwnnsCg41kGn17Np1JOWIo70z1v2vDEHvtyQxPBPDrM kV14mBoNd5vzX6e/S1zRBXj6o67CSew= X-Google-Smtp-Source: AGHT+IFlWu+Q2QR13kbqrXs7wYLmy+p/vJY3kzbaPMArG8cL4ykMAioxQYY7hutVMyxHRkgOPiCLsQ== X-Received: by 2002:a1c:4b19:0:b0:3fc:3e1:7105 with SMTP id y25-20020a1c4b19000000b003fc03e17105mr5251956wma.24.1694288324117; Sat, 09 Sep 2023 12:38:44 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha Subject: [PATCH v3 16/23] bsd-user: Implment madvise(2) to match the linux-user implementation. Date: Sat, 9 Sep 2023 22:36:57 +0300 Message-ID: <20230909193704.1827-17-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::332; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288406311100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 53 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 +++ bsd-user/syscall_defs.h | 2 ++ 3 files changed, 59 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 16c22593bf..0e16051418 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -129,6 +129,59 @@ static inline abi_long do_bsd_munlockall(void) return get_errno(munlockall()); } =20 +/* madvise(2) */ +static inline abi_long do_bsd_madvise(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_ulong len; + int ret =3D 0; + abi_long start =3D arg1; + abi_long len_in =3D arg2; + abi_long advice =3D arg3; + + if (start & ~TARGET_PAGE_MASK) { + return -TARGET_EINVAL; + } + if (len_in =3D=3D 0) { + return 0; + } + len =3D TARGET_PAGE_ALIGN(len_in); + if (len =3D=3D 0 || !guest_range_valid_untagged(start, len)) { + return -TARGET_EINVAL; + } + + /* + * Most advice values are hints, so ignoring and returning success is = ok. + * + * However, some advice values such as MADV_DONTNEED, are not hints and + * need to be emulated. + * + * A straight passthrough for those may not be safe because qemu somet= imes + * turns private file-backed mappings into anonymous mappings. + * If all guest pages have PAGE_PASSTHROUGH set, mappings have the + * same semantics for the host as for the guest. + * + * MADV_DONTNEED is passed through, if possible. + * If passthrough isn't possible, we nevertheless (wrongly!) return + * success, which is broken but some userspace programs fail to work + * otherwise. Completely implementing such emulation is quite complica= ted + * though. + */ + mmap_lock(); + switch (advice) { + case MADV_DONTNEED: + if (page_check_range(start, len, PAGE_PASSTHROUGH)) { + ret =3D get_errno(madvise(g2h_untagged(start), len, advice)); + if ((advice =3D=3D MADV_DONTNEED) && (ret =3D=3D 0)) { + page_reset_target_data(start, start + len - 1); + } + } + } + mmap_unlock(); + + return ret; +} + /* minherit(2) */ static inline abi_long do_bsd_minherit(abi_long addr, abi_long len, abi_long inherit) diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 6eaa705cd3..f5d60cf902 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -519,6 +519,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_munlockall(); break; =20 + case TARGET_FREEBSD_NR_madvise: /* madvise(2) */ + ret =3D do_bsd_madvise(arg1, arg2, arg3); + break; + case TARGET_FREEBSD_NR_minherit: /* minherit(2) */ ret =3D do_bsd_minherit(arg1, arg2, arg3); break; diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index 074df7bdd6..76f4856009 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -95,6 +95,8 @@ struct bsd_shm_regions { /* * sys/mman.h */ +#define TARGET_MADV_DONTNEED 4 /* dont need these pages */ + #define TARGET_FREEBSD_MAP_RESERVED0080 0x0080 /* previously misimplement= ed */ /* MAP_INHERIT */ #define TARGET_FREEBSD_MAP_RESERVED0100 0x0100 /* previously unimplemente= d */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288377; cv=none; d=zohomail.com; s=zohoarc; b=jEwcLfkVEPulXhYldpHdZH0jHxUv+3q6HeZKdGagkfLEoRBE86WPb5N4YCtP/wEhxq0cY80b7gfqnKDRYo41/SkFig7GKGj1gbAwa06BxMKcbfiwTRznlri3V1qPw6onRkid9k/AlOJh0MOSUScOWPh7kIHyuKtrjze9BxkozlA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288377; 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=PVDg2xAqYdL1qO9Pj5OML28yXvjot1xjk5EVQ6V643o=; b=m36P7VQZ3SutPsggPaxVd8mdcm/wS1fAWa5EB22CmUx3xqrISdvPUzmXPpRBxkfJgcx+ImvmvUyLUVRWLEV5hgwJDkz2J7oSOnHU4bRvbr4F/jOEiWOdzopw9fqf5jtBJBpKbaKgQtlczccWK7CYzyBo90bjyB3dMscIAdlK6jY= 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 1694288377778415.12819852921086; Sat, 9 Sep 2023 12:39:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n9-00060U-Ec; Sat, 09 Sep 2023 15:38: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 1qf3n6-000601-Ta for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:49 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n4-0003FL-PM for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:48 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-401ec23be82so34937785e9.0 for ; Sat, 09 Sep 2023 12:38:46 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288325; x=1694893125; darn=nongnu.org; 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=PVDg2xAqYdL1qO9Pj5OML28yXvjot1xjk5EVQ6V643o=; b=ih44dzP04J01qv6p6XaD666TEz6fKJK0I7tylB50Uwq/1spoiS0Jngu+Xf77EoPK5T vOfSZ5YopxlSZCWxZYS5Rplx6GwStXNu6EzwtY/06oA7Y14VguZp3R780W6GCD2RLY7b 6c/GX5qfDUKbY4Tf1HlCK+YushulIPEVZO6BxaXzHYfgHPighQt+aTlAQ16tdQxTlTnE l5sKzmhRWzhK1Ntx6FjRxTt9ljP8/GhjY1bR2uknE8wp4BY2gFy1Q9XKrFUrsGuBNyDL B/XL7uPg/PIJHuDI4zerd8Vrz+gVmz2AKURABby0iS366w83eSZFCEq0IKSyrHii3ZCw o32Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288325; x=1694893125; 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=PVDg2xAqYdL1qO9Pj5OML28yXvjot1xjk5EVQ6V643o=; b=I5Omr2Fe61q+RWIVhfzpJgxaQsBkcqb4Z1d2IaGLG49elLSiKj7Sx1/jSt2JQJwggE OGAJhaXRwqVLOmtJiCumeGcRT30ns6gzIymEaARZb4RXRWdC8GAfB8VjhSa1nP5tzxV3 qP3wc59IFxi78kudmKzP5v+EW3p2TjlKNaMIs72xyvag+DcFpHl4YlSNh9XHxBULHytJ mrVAYXX09hR+IBsrlzmUGfXI877+kDH35D319RLHs1eWnSeo05GHjvmQptdDYQnCXTNo zHXCpAI+3RywJrN34/a+t5CWCMj/VOH3m6iXbgbtEmL6EuCvaq/Jxtbwjk+K9q6Y2oHi bkig== X-Gm-Message-State: AOJu0YynZPvSjrMgAQdG+PVrXKaSyZieJ0WAu/rKlUmeM42Y08Lz2da9 GOUBcXvHrAtJlSlPEpKhopvYfWh/p2Y= X-Google-Smtp-Source: AGHT+IHDwBlQ+qXFeBtrKYapxcyrBHDiywBSs4K44Opfm9cOrwJIeIGusu6HndHGYyz2O9EOf0vUZA== X-Received: by 2002:a05:600c:2301:b0:400:ce4f:f184 with SMTP id 1-20020a05600c230100b00400ce4ff184mr5189636wmo.41.1694288325239; Sat, 09 Sep 2023 12:38:45 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v3 17/23] bsd-user: Implement mincore(2) Date: Sat, 9 Sep 2023 22:36:58 +0300 Message-ID: <20230909193704.1827-18-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::335; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288378306100005 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 22 ++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 26 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 0e16051418..1dabbe36e6 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -189,4 +189,26 @@ static inline abi_long do_bsd_minherit(abi_long addr, = abi_long len, return get_errno(minherit(g2h_untagged(addr), len, inherit)); } =20 +/* mincore(2) */ +static inline abi_long do_bsd_mincore(abi_ulong target_addr, abi_ulong len, + abi_ulong target_vec) +{ + abi_long ret; + void *p; + abi_ulong vec_len =3D DIV_ROUND_UP(len,TARGET_PAGE_SIZE); + + if (!guest_range_valid_untagged(target_addr,len) || !page_check_range(= target_addr, len, PAGE_VALID)) { + return -TARGET_EFAULT; + } + + p =3D lock_user(VERIFY_WRITE, target_vec, vec_len, 0); + if (p =3D=3D NULL) { + return -TARGET_EFAULT; + } + ret =3D get_errno(mincore(g2h_untagged(target_addr), len, p)); + unlock_user(p, target_vec, 0); + + return ret; +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index f5d60cf902..8d1cf3b35c 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -527,6 +527,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_minherit(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_mincore: /* mincore(2) */ + ret =3D do_bsd_mincore(arg1, arg2, arg3); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288419; cv=none; d=zohomail.com; s=zohoarc; b=A6vn05NKI5pMqEk0HMWu3zREmvz083Dx9ZYH6zRDaLENduT9LEMcZXFbflWO/6gij3RtsYj/i+6fGyj71+jEmdFoicFdRMQiez9/Mcd/43GcmbsE4lCJaqFIPDgSBEapC/PSXYf25bnklVBTffCM4K42AeqokIqewYT6VaVi02Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288419; 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=1Y5YktBwcbxAJZtPbTx4kfRpV78Ai/r3dWCAljOp3c8=; b=CNGnRmhMXqlFosOx2IP4gEDXVCh4mjUw9yjKhEmHg31bYnnFpOLgpGliWTE2It/sT2XeqilEUiO7pi+bdOBdgJAocaImkIUJy/x+ajBao1zz5h/lwApUtDhO3UC7DKqD6Esb/mW5Q0I0iYPAPykTmyCnTl6Gp7nwbvkKRnMyqRw= 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 1694288419556646.025202048061; Sat, 9 Sep 2023 12:40:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3n9-00060M-DD; Sat, 09 Sep 2023 15:38: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 1qf3n8-000609-5Y for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:50 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n5-0003FS-U3 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:49 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4018af1038cso34427605e9.0 for ; Sat, 09 Sep 2023 12:38:47 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288326; x=1694893126; darn=nongnu.org; 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=1Y5YktBwcbxAJZtPbTx4kfRpV78Ai/r3dWCAljOp3c8=; b=J1qNRuQvji/flvmwcqi+093mTQO7qOsJNKTCKWTiHk68OB2dx3TStglY84YH7RiDxZ RGdQuBbsTz43YDGupYf1KBCHJP0+MRDWznllzInvpdW//PL0M6nFUo11byo+7LX+LrQ9 GGz7Qx1yH559lAiFgs1p5+YNvzwhQFLH6Nyxqg9SxqZfm8aunfVHpnCTPem6dP+7NOW6 qy+OYY17rJB65h1Xy/I3us0nTD+ETPlWDNmpyMsoPwSlOqfjolSr/h+7m11zdl75zFko 6QTP87bKZFFUimHcs5w0L5tzkhEXVsh1PV7vc5AhKuxPZpon6yCsba3jzjqhEpl5+PtV FBAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288326; x=1694893126; 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=1Y5YktBwcbxAJZtPbTx4kfRpV78Ai/r3dWCAljOp3c8=; b=iGLFp1ioolxx0Ew4/Kjlr8BjI7YHAIT/CjVAtTl2LeaEWBGquZHEy5sEzgs3nld/Zb ecixFUOuKLNwDZfga77XkVDIWuWyhO7L9h4fE037SyjTRcnFVieLN55YG8vyObXiwReD 28dFjCE+ZPCZorXp4ERx9rWyAGo/PewfgkVhjjVdD8uWJXA5tlhaDjVrSglplGVth3pv VSvGmkmjstq4dSK6wopUvmzTZwgMUKE3i9AvBA6qI2CiIH17i2wXWmc2c5A6t8uqgV8Y mz45/CeVNBn4o+47ZgW9yapAkfOdbnVavBSTIkKnQ5oPj6PiuHblM3L2TJpe+143fSjV LiZA== X-Gm-Message-State: AOJu0YzC/TshVfebcM+QlCXNX1/pjHNS2ZKcCgdxVULOyvlUwWBDijMl Gg9WlSJE8Q1z342XGY6OwTiB37Yz+t8= X-Google-Smtp-Source: AGHT+IHJUEh6zhxJQJ3mgeW6OG7v68EYSOZi/DOZOyOuhaAkCZ25KSnNwxvbH2eD2lih5W5u/vtmfA== X-Received: by 2002:a1c:4c0d:0:b0:402:906:1e87 with SMTP id z13-20020a1c4c0d000000b0040209061e87mr5287579wmf.31.1694288326280; Sat, 09 Sep 2023 12:38:46 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v3 18/23] bsd-user: Implement do_obreak function Date: Sat, 9 Sep 2023 22:36:59 +0300 Message-ID: <20230909193704.1827-19-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::330; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288420740100002 Content-Type: text/plain; charset="utf-8" From: Stacey Son Match linux-user, by manually applying the following commits, in order: d28b3c90cfad1a7e211ae2bce36ecb9071086129 linux-user: Make sure initial br= k(0) is page-aligned 15ad98536ad9410fb32ddf1ff09389b677643faa linux-user: Fix qemu brk() to no= t zero bytes on current page dfe49864afb06e7e452a4366051697bc4fcfc1a5 linux-user: Prohibit brk() to to= shrink below initial heap address eac78a4b0b7da4de2c0a297f4d528ca9cc6256a3 linux-user: Fix signed math over= flow in brk() syscall c6cc059eca18d9f6e4e26bb8b6d1135ddb35d81a linux-user: Do not call get_errn= o() in do_brk() e69e032d1a8ee8d754ca119009a3c2c997f8bb30 linux-user: Use MAP_FIXED_NOREPL= ACE for do_brk() cb9d5d1fda0bc2312fc0c779b4ea1d7bf826f31f linux-user: Do nothing if too sm= all brk is specified 2aea137a425a87b930a33590177b04368fd7cc12 linux-user: Do not align brk wit= h host page size Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 45 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 7 ++++++ 2 files changed, 52 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 1dabbe36e6..563f82996b 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -211,4 +211,49 @@ static inline abi_long do_bsd_mincore(abi_ulong target= _addr, abi_ulong len, return ret; } =20 +/* do_brk() must return target values and target errnos. */ +static inline abi_long do_obreak(abi_ulong brk_val) +{ + abi_long mapped_addr; + abi_ulong new_brk; + abi_ulong old_brk; + + /* brk pointers are always untagged */ + + /* do not allow to shrink below initial brk value */ + if (brk_val < initial_target_brk) { + return target_brk; + } + + new_brk =3D TARGET_PAGE_ALIGN(brk_val); + old_brk =3D TARGET_PAGE_ALIGN(target_brk); + + /* new and old target_brk might be on the same page */ + if (new_brk =3D=3D old_brk) { + target_brk =3D brk_val; + return target_brk; + } + + /* Release heap if necesary */ + if (new_brk < old_brk) { + target_munmap(new_brk, old_brk - new_brk); + + target_brk =3D brk_val; + return target_brk; + } + + mapped_addr =3D target_mmap(old_brk, new_brk - old_brk, + PROT_READ | PROT_WRITE, + MAP_FIXED | MAP_EXCL | MAP_ANON | MAP_PRIVAT= E, + -1, 0); + + if (mapped_addr =3D=3D old_brk) { + target_brk =3D brk_val; + return target_brk; + } + + /* For everything else, return the previous break. */ + return target_brk; +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 8d1cf3b35c..8dd29fddde 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -543,6 +543,13 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, break; #endif =20 + /* + * Misc + */ + case TARGET_FREEBSD_NR_break: + ret =3D do_obreak(arg1); + break; + /* * sys{ctl, arch, call} */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288374; cv=none; d=zohomail.com; s=zohoarc; b=cTjJKttcCFvWHkBkzyIq0Knp/juqfxRWOG2Lia7y+63exbidd5kr4RamURC0QbMMjsc5n3DDsBNoSbZgFJQG5Eaq06KDmapkKWGphmLnejIj5FJi+kNXRaKmHXWIudaZzekiruCLAIQJhWNRWt9KpVjMt/FK72hq0tAKIYEcbZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288374; 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=cX+7Sbgns+rSwompoLBGZfd8MuLrC9uQYC/4gYAWdEU=; b=jf+PXvx7N+XAzizjKnq6cVUzSggCk5+VV2K98BVBSxxjq3/qNOsb59uaWU7NbFOMwWwwde0cxgxFlEMLi1MxgeIoc9pbLRQm6iDX+g6dNCSvaq88VZBbR6MsmGE1LEsdzo3bNTQw2FhZiEWQJe5eCdqG/aJYWC/0AlUPn03WJj0= 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 169428837465273.48702752618567; Sat, 9 Sep 2023 12:39:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3nB-00061h-3T; Sat, 09 Sep 2023 15:38:53 -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 1qf3n9-00060L-57 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:51 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n7-0003Fp-1t for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:50 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-401b393df02so36663995e9.1 for ; Sat, 09 Sep 2023 12:38:48 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288327; x=1694893127; darn=nongnu.org; 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=cX+7Sbgns+rSwompoLBGZfd8MuLrC9uQYC/4gYAWdEU=; b=aLhzMTnhyq/D0x/8Eh/Kk8hZBHp8Afb98AioJ5nqj6EcHiNJ4yje6WmIZ9mDLC25Tz z7D+LC2nSPRWKoq9VjaaTJd8w6/RceVDsDFpIdh7hYhoEK+GgWbAgpzknIzhpe3JZd+L rpnj4iyV3aZI/qPhXO8fDizqHq8G+HUf3n2P7GwBuC6vqNwytRglpWmS29BhGmSVTUtz WI0VyP0lU6BmjCE/Gmi5WSVhbVN8OCtwX1h0F3oZfFWh0+DhfOGVw/30F5cHqb0J4t0J R4SsJ8gdF9B3yQoGySwfktDN570bOXSwlG/UkQhN7qAqJvUQrm8rp+/7ZDtmXNkttm3I tnNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288327; x=1694893127; 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=cX+7Sbgns+rSwompoLBGZfd8MuLrC9uQYC/4gYAWdEU=; b=SjzlUqrGf3hR86PYNE7iewi8+mEftmOYcvIHnWhwXDObTvsIstUNBPQ2ENPacEq07e 2VpVCwsDuU4Paug/ZGw8djS2ra5vGNyk92cpRzcTVqpQB/vh1lxIJG77zm0Xl1hC0khe 4ytd94kuBBjzBHekFfed8Opq5FnA8pEmLv5zK95/8OBkEZsXuaLXYT2T6UKq+AascfFr yX6M0H6/OimgPwQPbvnwJtklIvLcmZizAHfs7zyCAtTm9JJKYVOGBYbTzopd770MHbLw XtorL2VHgbPMFfv2l74yn+xtRctD1dEYCJDHVRcDbdjflp+nEBJrBcBUmijQyt4eclnJ GIKw== X-Gm-Message-State: AOJu0YzmdOiQnXYl62626gRpwN54XmXoRV6GH11PHEjIggdiitTQbXMN 3Iv4MWnXtoSk7+M3UNRqYUi7XSWyadQ= X-Google-Smtp-Source: AGHT+IHwNZ2hC7mSO/L0lsTDeyD39tZCfwGD7GYs7oH1qevJtMibSHcp9zRwQeNtF37Hh2pt0ylWqw== X-Received: by 2002:a7b:cbcf:0:b0:3fb:fa9f:5292 with SMTP id n15-20020a7bcbcf000000b003fbfa9f5292mr5006345wmi.25.1694288327369; Sat, 09 Sep 2023 12:38:47 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Kyle Evans , Karim Taha Subject: [PATCH v3 19/23] bsd-user: Implement shm_open(2) Date: Sat, 9 Sep 2023 22:37:00 +0300 Message-ID: <20230909193704.1827-20-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::32f; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288376529100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Co-authored-by: Kyle Evans Signed-off-by: Stacey Son Signed-off-by: Kyle Evans Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 25 +++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 29 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 563f82996b..a48f919ff2 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -256,4 +256,29 @@ static inline abi_long do_obreak(abi_ulong brk_val) return target_brk; } =20 +/* shm_open(2) */ +static inline abi_long do_bsd_shm_open(abi_ulong arg1, abi_long arg2, + abi_long arg3) +{ + int ret; + void *p; + + if (arg1 =3D=3D (uintptr_t)SHM_ANON) { + p =3D SHM_ANON; + } else { + p =3D lock_user_string(arg1); + if (p =3D=3D NULL) { + return -TARGET_EFAULT; + } + } + ret =3D get_errno(shm_open(p, target_to_host_bitmask(arg2, fcntl_flags= _tbl), + arg3)); + + if (p !=3D SHM_ANON) { + unlock_user(p, arg1, 0); + } + + return ret; +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 8dd29fddde..7404b0aa72 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -531,6 +531,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_mincore(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_freebsd12_shm_open: /* shm_open(2) */ + ret =3D do_bsd_shm_open(arg1, arg2, arg3); + break; + #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 1300048 case TARGET_FREEBSD_NR_shm_open2: /* shm_open2(2) */ ret =3D do_freebsd_shm_open2(arg1, arg2, arg3, arg4, arg5); --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288419; cv=none; d=zohomail.com; s=zohoarc; b=MKFydzH8AUEZqMMa6xsK756QfJeSZy7J3R+fSrcqqBIAH73G1b1o/5YnQBT/MHtfrQ2o3VQgJM+E+o4D6sgzOwkTrPToOpLddZfXOKJYQkc+9VwJ6p3ygt2bYlS3A+czfN+ZE/zHB6fj/sIE3FJ1nQFdmXeCCixQAF9MT5A2eqk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288419; 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=7gLIXJm83In4ehfDWmTTDmbWjCCrqaLS41dVOxq/Wi8=; b=O4i5LDcNXToVlGyW1amgKFbT0LEqXg6U9uO3mPhTSjVK43GHW8CZv73YgFzmOclFtZ9rGElChWvqmMVQDw0bP06gPUfnJefyPPxkI5E3rstRWau3Y8d4+vzix5qFw9Zc70NEMAi5m/QZ7RzbjfwflIH91XFHsVeWTY3AU+YYvRk= 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 1694288419934541.9953270617157; Sat, 9 Sep 2023 12:40:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3nC-00062J-Nu; Sat, 09 Sep 2023 15:38: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 1qf3nA-00061W-Gj for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:52 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n8-0003G9-B4 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:52 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-40078c4855fso33588685e9.3 for ; Sat, 09 Sep 2023 12:38:49 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288329; x=1694893129; darn=nongnu.org; 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=7gLIXJm83In4ehfDWmTTDmbWjCCrqaLS41dVOxq/Wi8=; b=bOffLRA2AcuQRX7+uyYVBL214IosooTYQKu0Ak1+Gv7WJvKj2PDvsdfa6DdOHZGUXc bVBlkGisRigBLHMwSpT35cZqmpaok0GXkPgE80qnUxN75z+ZBRMR5SBQEWJ/N6j6Tu+Y cA36vgZ5Rp0CVUBxw6fSaPVw7I6xJWNtzLRZiZlgd/nopoTqTSTnrcAInWSAmcYjkJqR 0WzyCqu2/7mNi8V/kT1g6WPA6ZAQXExD1gKLmntyJxPn1AWPexHNpAO2TQT4RzNb4yeN 7Z/c/gVgsKV53vUJwYm7f0Zr2b688pjMFu5OIob74Xebias/AnP9FzgbKcnlArbPCsyu oXYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288329; x=1694893129; 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=7gLIXJm83In4ehfDWmTTDmbWjCCrqaLS41dVOxq/Wi8=; b=soSoWuAK5SwFP6lluffGNaib5Y3XMrTEgWtOnPCuJcQ1FT9KOK1MCRviQaUCOWHvxm mJ9reGNfwb6Im5WNTRetq430qpGYFDPeSUKR/AbcZsuIbKji8Q8l1vv1NT4caGUtqrJ9 0pz1YZ5FsnolvjUIZRAKC5QLQWlv7w0mYgtM3yvH8dVnzTZ6QBAsvzcYXsKUZVU7WUHQ I9+O+0cT38umBhqIOvd9/zPvAAlW0H0uRCsPaJADFyIYfGn2jdNk3hebn/VYwUCTP48z onTar5W3c7eWWvurGw81lKWRJzQQ7pQn359kDemKTA3bEGnhC9TINvNgSwStIwjXbI31 JFzQ== X-Gm-Message-State: AOJu0Ywv4su8UPcNZmq2oTrZhu7Hhg1EZHT9PwVJxvgbJrg9f5xpuyfZ IPVHFb2nEzOoC4QvZaUatnLsUp80o4g= X-Google-Smtp-Source: AGHT+IHI0dHEOkX5RZbBd8kZ3Wvp2KyvtDwUtSANUYIGGb8fDZ8ddZaCVj5bZKjev7+IJswhLTi3RQ== X-Received: by 2002:a05:600c:5102:b0:402:f536:2d3e with SMTP id o2-20020a05600c510200b00402f5362d3emr5069595wms.14.1694288328665; Sat, 09 Sep 2023 12:38:48 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha , Richard Henderson Subject: [PATCH v3 20/23] bsd-user: Implement shm_unlink(2) and shmget(2) Date: Sat, 9 Sep 2023 22:37:01 +0300 Message-ID: <20230909193704.1827-21-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::334; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288420681100001 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 23 +++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index a48f919ff2..27d4e7f079 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -281,4 +281,27 @@ static inline abi_long do_bsd_shm_open(abi_ulong arg1,= abi_long arg2, return ret; } =20 +/* shm_unlink(2) */ +static inline abi_long do_bsd_shm_unlink(abi_ulong arg1) +{ + int ret; + void *p; + + p =3D lock_user_string(arg1); + if (p =3D=3D NULL) { + return -TARGET_EFAULT; + } + ret =3D get_errno(shm_unlink(p)); /* XXX path(p)? */ + unlock_user(p, arg1, 0); + + return ret; +} + +/* shmget(2) */ +static inline abi_long do_bsd_shmget(abi_long arg1, abi_ulong arg2, + abi_long arg3) +{ + return get_errno(shmget(arg1, arg2, arg3)); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 7404b0aa72..52cca2300f 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -547,6 +547,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, break; #endif =20 + case TARGET_FREEBSD_NR_shm_unlink: /* shm_unlink(2) */ + ret =3D do_bsd_shm_unlink(arg1); + break; + + case TARGET_FREEBSD_NR_shmget: /* shmget(2) */ + ret =3D do_bsd_shmget(arg1, arg2, arg3); + break; + /* * Misc */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288437; cv=none; d=zohomail.com; s=zohoarc; b=hzDUF/TlXyxf/h6fjoru7eYtOqXgOHT5dHdR9Fu7VNAK4XX6diTzrBA6cPFq7ljIpYz86TYAiB3X+V9ax9cvAvlsLYghjl9FYhZBNOO4doRSMKY7vVpEFXsFdHcnLjg5OduqSROzryUmU9TN9Tj9XSMR7Cfs2fNUfp7fu4KV26Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288437; 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=Cp3taIBurVzkEpdhqs0MIuww8hVBnsMUiwg0Wyyn+94=; b=T2lWDnX12MPdWKI6+6LKpqEZMOt8tbvKaepx4IyVEEgrRXae/pZ83W0tyhBreJskSc7ypUSad3YIDlQYD62A9SR2VnKl0WPCvcDEyse9uejIbdMxE0Qx42lrsPyPBea6Gcf9wNAJyGzNIJFnLsut4VXqo/yWQaiF+JCelvB6i0s= 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 1694288437723625.035287874002; Sat, 9 Sep 2023 12:40:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3nD-00062n-VF; Sat, 09 Sep 2023 15:38:55 -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 1qf3nB-00061v-Ph for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:53 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3n9-0003GP-Iu for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:53 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-401b0d97850so34745955e9.2 for ; Sat, 09 Sep 2023 12:38:51 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288330; x=1694893130; darn=nongnu.org; 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=Cp3taIBurVzkEpdhqs0MIuww8hVBnsMUiwg0Wyyn+94=; b=I9Z/kh6DVB/0KPUJ5nv7eYNOotefGDiN8fF6W+7/oEabYxMLuD8PYt8dN4GHfgGwpA Oz1oxSz4V4WedxkOo9Clc3jeAbWjHiVO3CN6rcOpTZGAqbnT9dhUKaJS0qREKQcWXTco /9mSJyKWur2BDlo4dY/P7fmRN/gUlZWwHR+h9HQLnVTh7UAUZLcsjKRfCPDXz6uks1Cc mIneQPX+PL5qolViPo+Gr4HYVo2TLaLgwGy3cIbv+OQWMu9FTwhQ8eKxqSJ/IDAK5GMS +7UEPO000M3xp9ju97kEkaCAgdPP07m0H5lKiOlxE30jSfr1jFj5348NhJ7SnqBi+hip 4xRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288330; x=1694893130; 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=Cp3taIBurVzkEpdhqs0MIuww8hVBnsMUiwg0Wyyn+94=; b=eG5CBhtI3CKDmnA7kmmvabeCr1d4Njz7PkEybwqhmF98+mMjyKMXeBQgZMQ0bH3lMO 9lrRsAwKcHCcybaLGvt9TrduDTveSKyZARdEeY2nEl+DwuHFzdlcOOo16O9IznvedVqT 6a0V8UGNjQbrsL5eHu/VYCplcg1o7/gQaU8R7d7ekYqe8f4RgeHY51Br5/gyOXqdjF+u O9FnnLe8KdgYY2DnZ/qCksThMNIQdrQ5gmpWQ/TzAuHYy5SzSjzK2sngvIsJ20sRFNEg iYYoEb4de6TQLW99AcLRdf7+pFz480aQ7bevdPmjSE8ILt4Ie33hvOwTxbj3MksmPI2L 8zLg== X-Gm-Message-State: AOJu0Yy8qJv5BDspwvnk0cOkKLG3ozmFJpUQ+LPj2uGEwqA3tbrVN8ma vRWDIl+Xl/IQWb022t0r4ZrwLDXjKyM= X-Google-Smtp-Source: AGHT+IFPiSrZWrvMIbzvVUs8O6ikhzcvLHG+YVDJCuIqCkb9jkf+UMh0n2osfBKNONGSKRz3BjJMKg== X-Received: by 2002:a1c:4b0a:0:b0:401:bd2e:49fc with SMTP id y10-20020a1c4b0a000000b00401bd2e49fcmr4871230wma.24.1694288329844; Sat, 09 Sep 2023 12:38:49 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v3 21/23] bsd-user: Implement shmctl(2) Date: Sat, 9 Sep 2023 22:37:02 +0300 Message-ID: <20230909193704.1827-22-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::336; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x336.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288439199100006 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha Reviewed-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 39 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 43 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 27d4e7f079..68f34b5d36 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -304,4 +304,43 @@ static inline abi_long do_bsd_shmget(abi_long arg1, ab= i_ulong arg2, return get_errno(shmget(arg1, arg2, arg3)); } =20 +/* shmctl(2) */ +static inline abi_long do_bsd_shmctl(abi_long shmid, abi_long cmd, + abi_ulong buff) +{ + struct shmid_ds dsarg; + abi_long ret =3D -TARGET_EINVAL; + + cmd &=3D 0xff; + + switch (cmd) { + case IPC_STAT: + if (target_to_host_shmid_ds(&dsarg, buff)) { + return -TARGET_EFAULT; + } + ret =3D get_errno(shmctl(shmid, cmd, &dsarg)); + if (host_to_target_shmid_ds(buff, &dsarg)) { + return -TARGET_EFAULT; + } + break; + + case IPC_SET: + if (target_to_host_shmid_ds(&dsarg, buff)) { + return -TARGET_EFAULT; + } + ret =3D get_errno(shmctl(shmid, cmd, &dsarg)); + break; + + case IPC_RMID: + ret =3D get_errno(shmctl(shmid, cmd, NULL)); + break; + + default: + ret =3D -TARGET_EINVAL; + break; + } + + return ret; +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 52cca2300f..35f94f51fc 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -555,6 +555,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_shmget(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_shmctl: /* shmctl(2) */ + ret =3D do_bsd_shmctl(arg1, arg2, arg3); + break; + /* * Misc */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288507; cv=none; d=zohomail.com; s=zohoarc; b=PXNGftglsq8pHcB7gtFoWnrJsowOzda8peqcD8h2fpYE8pvjLADI/GuN1qoARkRhm/7X1Z7W/YIi7FUT4ezejwvFpCU7KKZOiQ8XwnrFAxccMQlaPrSb3MyWAkiaLXKHkPEXosZQirKHdmuscYB73FBXs/8zdOKU8Sh2KUcZiZ4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288507; 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=+pHxixZTU2F4KP0CicWK9lX8+4X9piVzVmnI1BfMcAw=; b=m98eM/oIXjLG0TeP3bA6WtXO2fyCQ+0Wlp5wdvnLe/Pb3Ce+ZQbuPewUyU29QDp2xLQNx42v4R/zCLecfYbcanQMEF0G1jHuer7UthcQvMlA4+xLcfKBKFhNEj7NR0QnD6NAM0D2AiMgSLk9nCLglEwl9kgDh253rPoqwL5rgyY= 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 1694288507513119.92028927481954; Sat, 9 Sep 2023 12:41:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3nE-00062x-IA; Sat, 09 Sep 2023 15:38:56 -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 1qf3nD-00062L-7R for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:55 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3nA-0003Ga-UB for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:54 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-400a087b0bfso33190105e9.2 for ; Sat, 09 Sep 2023 12:38:52 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288331; x=1694893131; darn=nongnu.org; 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=+pHxixZTU2F4KP0CicWK9lX8+4X9piVzVmnI1BfMcAw=; b=XPa/xwPqEG3uSreDwIISvdVV7EKSjvSQH4YYp3oLy3XTTpPcEsEj09iv1lmE7pPp0z 5z9pdWgZMKfDWIjTyY8SfJNmz8TvJ3SqxTjVNGx6eghTHvwkFBqHurvwYg1YpXf2rrvT Zx5fSUShS25sgfp8hNLNqNGPx7RSvvXdc6f8Q5ZSIfQFra3Yyxmjzy31p+7r64yfWaV3 brJSExQSaPhMAqlZzkypO5TOrD3wnsogxfsOvC9l8UEJAAVU4Ih0nm0PhMQW4unzf2Bj AQ1iOf4cAp2+CE9cygZYlcVAJcP7C/j9a4b4cPgix7wvycN9oR+T9GjIrnThbK7hzOvE CayQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288331; x=1694893131; 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=+pHxixZTU2F4KP0CicWK9lX8+4X9piVzVmnI1BfMcAw=; b=vijMyFfTlJ9ZoZLf+5hkqsSqwQy10Y4q3Dd6aVXm9eqMjD8uSxxU59YWsHaX1fk44J KK0XJoHhAsMDZtJUNkiwrE0WvJ2cqyh6uybPIASIYARoz6EcOo6QcjrvFMkFwbg27iuh jW7yUwDmwIOSO5TRs0qhbNUZ5WyPlfIiTLWCchSHWo44yQkHafjAxTU0UYGPOdFTqrPt +nFoDMnW9w2xK7WU5QUdPMK1Oafv2HchGVZQ0T7zjwTKf/AljxJX0TCuodsns8Bn+asT C8AtBedyO6DivDPsjqtjSum9k1QDPDdxvgwsQJOREX9F4XVpAAP0qhzuzofbS2uHDbmJ 2ZSw== X-Gm-Message-State: AOJu0Yy2kOUv2B9dDGt9YVfoTnWUePdO3H7jJUd5FAyX2HSSC2ESkQJw rQjVBHSd1ACu65H1CqZPjfjeJyMiPpY= X-Google-Smtp-Source: AGHT+IGe56INP8h8UeEq2b2IRYnRM8fpzhP7Yzd2Q0yzC4XlxiWQxp4BGGpmH8eRJANub6+h+2BNYQ== X-Received: by 2002:a1c:7508:0:b0:401:be5a:989 with SMTP id o8-20020a1c7508000000b00401be5a0989mr4644105wmc.23.1694288330988; Sat, 09 Sep 2023 12:38:50 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Stacey Son , Karim Taha Subject: [PATCH v3 22/23] bsd-user: Implement shmat(2) and shmdt(2) Date: Sat, 9 Sep 2023 22:37:03 +0300 Message-ID: <20230909193704.1827-23-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::335; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288509572100002 Content-Type: text/plain; charset="utf-8" From: Stacey Son Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-mem.h | 76 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++ 2 files changed, 84 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 68f34b5d36..8e5f22da5b 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -343,4 +343,80 @@ static inline abi_long do_bsd_shmctl(abi_long shmid, a= bi_long cmd, return ret; } =20 +/* shmat(2) */ +static inline abi_long do_bsd_shmat(int shmid, abi_ulong shmaddr, int shmf= lg) +{ + abi_ulong raddr; + abi_long ret; + void *host_raddr; + struct shmid_ds shm_info; + int i; + + /* Find out the length of the shared memory segment. */ + ret =3D get_errno(shmctl(shmid, IPC_STAT, &shm_info)); + if (is_error(ret)) { + /* Can't get the length */ + return ret; + } + + if (!guest_range_valid_untagged(shmaddr, shm_info.shm_segsz)) { + return -TARGET_EINVAL; + } + + mmap_lock(); + + if (shmaddr) { + host_raddr =3D shmat(shmid, (void *)g2h_untagged(shmaddr), shmflg); + } else { + abi_ulong mmap_start; + + mmap_start =3D mmap_find_vma(0, shm_info.shm_segsz); + + if (mmap_start =3D=3D -1) { + errno =3D ENOMEM; + host_raddr =3D (void *)-1; + } else { + host_raddr =3D shmat(shmid, g2h_untagged(mmap_start), + shmflg | SHM_REMAP); + } + } + + if (host_raddr =3D=3D (void *)-1) { + mmap_unlock(); + return get_errno((long)host_raddr); + } + raddr =3D h2g((unsigned long)host_raddr); + + page_set_flags(raddr, raddr + shm_info.shm_segsz, + PAGE_VALID | PAGE_READ | ((shmflg & SHM_RDONLY) ? 0 : PAGE_WRITE)); + + for (i =3D 0; i < N_BSD_SHM_REGIONS; i++) { + if (bsd_shm_regions[i].start =3D=3D 0) { + bsd_shm_regions[i].start =3D raddr; + bsd_shm_regions[i].size =3D shm_info.shm_segsz; + break; + } + } + + mmap_unlock(); + return raddr; +} + +/* shmdt(2) */ +static inline abi_long do_bsd_shmdt(abi_ulong shmaddr) +{ + int i; + + for (i =3D 0; i < N_BSD_SHM_REGIONS; ++i) { + if (bsd_shm_regions[i].start =3D=3D shmaddr) { + bsd_shm_regions[i].start =3D 0; + page_set_flags(shmaddr, + shmaddr + bsd_shm_regions[i].size, 0); + break; + } + } + + return get_errno(shmdt(g2h_untagged(shmaddr))); +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 35f94f51fc..fe0968773e 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -559,6 +559,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_shmctl(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_shmat: /* shmat(2) */ + ret =3D do_bsd_shmat(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_shmdt: /* shmdt(2) */ + ret =3D do_bsd_shmdt(arg1); + break; + /* * Misc */ --=20 2.42.0 From nobody Wed May 15 16:15:22 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=1694288435; cv=none; d=zohomail.com; s=zohoarc; b=aOjtqiCthxk3BXWyjTl2XP+I9LvMq70V0QKawEjxZ8vIouNa22cGXU5AhFBlv9AQIjYk+CLHqev4ICFrOsjGFCz6iNPtnpEmDCoUmBsL3y0jVdU794OZ0y4rQcXHCS5QgM/ID1D/4kHExybqZqBxuA9+dzSMW56mYaDBZZufGvc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694288435; 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=OZEC1ZYlBLAP67Is80EF8jMl+TZRE+zpwkU48kNd//c=; b=iSz2m17F4Brz58dG4jdwvTmG8JMKkjeikpPhTOVplO7vE+Q8BZ/5r9+WJRMLRuVLN++3gfLxMQ46JE+j8vS3t0ycIBZcgCpnh2GDwD3iNmqA9Pz72FLcdyTzCFv1GckeU3Fh7YE2Va7O6G+guzQ6OJOhmRm/wU4/2jCYdzFHUKg= 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 1694288435600239.2263472137114; Sat, 9 Sep 2023 12:40:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf3nG-00063R-AJ; Sat, 09 Sep 2023 15:38: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 1qf3nD-00062h-PB for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:55 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf3nB-0003Gk-M7 for qemu-devel@nongnu.org; Sat, 09 Sep 2023 15:38:55 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-403061cdf2bso4049325e9.2 for ; Sat, 09 Sep 2023 12:38:53 -0700 (PDT) Received: from karim.my.domain ([197.39.250.27]) by smtp.gmail.com with ESMTPSA id h13-20020a05600c260d00b003fe4ca8decdsm8612812wma.31.2023.09.09.12.38.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Sep 2023 12:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694288332; x=1694893132; darn=nongnu.org; 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=OZEC1ZYlBLAP67Is80EF8jMl+TZRE+zpwkU48kNd//c=; b=NApqYBsMVF0FTv+uf+wl7zYbMRqySMWTkREF/xhkYNxoNCu2vwnXap0Ew8INHLWDKz Ry2whC5W3rP3cDwHzj+D3Hgwi7sw1xxEddFMtQaPbjT2Wx8UadOIDIbVvqCEix5/o64Q BduvtZrEqi72Si5z2IZISn00b17h2yuaScI4yH8EqD7zo7ZA1wz89H+isD6HIYwz3PQu dd/q+0attkEKaG6pnCqD/IfCvr27KJZw6cgjT0W5xIKW1rQkAEG2bpsZljjypN1wys4q GuejvKin8yjsIaj3Y2OYnhUINpGq9NIcIG+zmTcvL8wxxk2ycxPt2Mi57sBpnaZZOvZH 7c6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694288332; x=1694893132; 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=OZEC1ZYlBLAP67Is80EF8jMl+TZRE+zpwkU48kNd//c=; b=NDBYDbuKnCXH11rC94LD3ZAwHq5wjrRGi81vtX8Fxervtq2/vzEolUo4Vxne5w7xjj KLtjOUdL/G+ubgx6t4XiYk48KjzsOTrBGgsjsVyWh8itymHstcV25hb9aGfXbjcVUTlV H1z27feW9z+cqvKXGzB/KKLt+PbX8Sngqjs0tgk9DvkYclCXi0CJlK5nKoLPMYisVPRt +bQL+Su0/SnAIB9A3XRq6ML1X7m+iybv2eF3mTCM+LYahNqlzh6VHFZXuxzXS1vzL/50 0W0qVPIqvGF+4P3H7h6HkW7emwrCpkSKPvgVFjQRk8Qte1LI2jNy7SEIxSg9tD5vSEFr cwIw== X-Gm-Message-State: AOJu0Yy0G5r7icYfpEgzPDHgaiTuXY+yS8TP3wvkIXT2t4reOxtwl5i0 XN7RCD/G9A3qT8dLO1NmhUreVQT8CR4= X-Google-Smtp-Source: AGHT+IE7RTfunizxfLWKiax/VuH2O8W9q+p78lk01wPakKVIb7rQhbeBNviW+2iN8/0vfzR/rpH0ow== X-Received: by 2002:a05:600c:364c:b0:401:b705:ebea with SMTP id y12-20020a05600c364c00b00401b705ebeamr5379163wmq.12.1694288332117; Sat, 09 Sep 2023 12:38:52 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: imp@bsdimp.com, Karim Taha Subject: [PATCH v3 23/23] bsd-user: Add stubs for vadvise(), sbrk() and sstk() Date: Sat, 9 Sep 2023 22:37:04 +0300 Message-ID: <20230909193704.1827-24-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230909193704.1827-1-kariem.taha2.7@gmail.com> References: <20230909193704.1827-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::32f; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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 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: 1694288437125100003 Content-Type: text/plain; charset="utf-8" From: Warner Losh The above system calls are not supported by qemu. Signed-off-by: Warner Losh Signed-off-by: Karim Taha Reviewed-by: Richard Henderson --- bsd-user/bsd-mem.h | 18 ++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index 8e5f22da5b..847773fc8e 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -419,4 +419,22 @@ static inline abi_long do_bsd_shmdt(abi_ulong shmaddr) return get_errno(shmdt(g2h_untagged(shmaddr))); } =20 +static inline abi_long do_bsd_vadvise(void) +{ + /* See sys_ovadvise() in vm_unix.c */ + return -TARGET_EINVAL; +} + +static inline abi_long do_bsd_sbrk(void) +{ + /* see sys_sbrk() in vm_mmap.c */ + return -TARGET_EOPNOTSUPP; +} + +static inline abi_long do_bsd_sstk(void) +{ + /* see sys_sstk() in vm_mmap.c */ + return -TARGET_EOPNOTSUPP; +} + #endif /* BSD_USER_BSD_MEM_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index fe0968773e..9647249e90 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -567,6 +567,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_shmdt(arg1); break; =20 + case TARGET_FREEBSD_NR_freebsd11_vadvise: + ret =3D do_bsd_vadvise(); + break; + + case TARGET_FREEBSD_NR_sbrk: + ret =3D do_bsd_sbrk(); + break; + + case TARGET_FREEBSD_NR_sstk: + ret =3D do_bsd_sstk(); + break; + /* * Misc */ --=20 2.42.0