From nobody Tue May 14 22:54:37 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=1695666713; cv=none; d=zohomail.com; s=zohoarc; b=DV2xgToRiagDH5ZMKBvA4iXYwBw3mxefMweJGEyhBupqE5vrgiZqvs3q6VB3EDV0v15an1HY6EEdQ6a/EEyZtB2a+NRDbBctbTSBoMkAPueOQX/d101OXFGyJrOFlwBer0zoIeoX4s9TtjJWh+VxJ2FDVlO4Djon7yfuLyRAW84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666713; 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=B7uKJtjQDxrpcslNDuL3FuFOFPTPw3U7VbY8diH7n9M=; b=WbW/Kc2j7cm96M2KBElX4ZI1Wl/5Zxcp0oUQnobI81mQIOrF35+JiTdHfrVvbEvekNQQBMlM6E8thzfD08hN0Vooa16Ulz9WXBOasxzP5rsazb+ZGa1Rv8xei6bu1YZ57YxUg3OLex5Aw800YRwwairLXZ1VBSaxKcQVwCkSwEw= 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 1695666713476255.490567089087; Mon, 25 Sep 2023 11:31:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK3-00088X-Ss; Mon, 25 Sep 2023 14:28:43 -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 1qkqJy-0007uK-IK for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:38 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqJv-0007iz-Kg for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:37 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4053c6f0d55so67631535e9.0 for ; Mon, 25 Sep 2023 11:28:35 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666514; x=1696271314; 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=B7uKJtjQDxrpcslNDuL3FuFOFPTPw3U7VbY8diH7n9M=; b=iFUOzVbRIbFMn44zX1fNr4oMZfzxpbZZhtfG74dkIDrtfjiZVD/tGG4cV0k4h6QqMb rksR4LcpW2LlWccCPWGOK5TwHk5jQOgnrcOkvQhAZ2ls+xx5saUljbUgvqD1D5IBrp+M duNqQMCjSoB2rSBynoTcORArAA+hFEsIIFU6JPotrAwGeN/gwdzfwUrRtwcl2lvbLoIK mX6tYz4wiHpoxT48O7ZSYzDCOoyD2QwpGkHC1yHtsLik/sdT60HeoZ+WFC7nggWpisyO XRZdRHACNIrlj84Q63S3unHPsFWJwE0bBxeB3RMl4TyzqOaXPij68/oQsQ1iyH+l4aJy iwkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666514; x=1696271314; 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=B7uKJtjQDxrpcslNDuL3FuFOFPTPw3U7VbY8diH7n9M=; b=CBYGEs1qR15ffzMRyelNvCz83JQhEOAKQ9MH9/zfsGpAtB3cvWzj7vtPHBWnhZ4Gum f1qYYPUj6UfAE3/j/hhOsOuboZxloXeUqAGPExkUI4jUtXSS4m1EwRq5bEpXTbn6kjrl G6wxgIk3EIDE4kJJWlyZtPcIH5QTx76xBN4y6ZSDKTxvuxsl1w7MZ0eu5GM8dx4nx+tO aNA4l3azq5HxeYLq6dvAGHi0mwdJTvIYDH4DXVDl6AITJCoOzLqo/0J136A/hxJbvt1S 1kFfE2AsW1I/xUJ79gPynDXtmjTqQpJE9n4SBgfS0LoXV0nUZ+PF6XPQ0i/D1RSB12ER qetQ== X-Gm-Message-State: AOJu0YwhnGpk63V97oEFn6ha0N9pvaWkJBXOsUGCx9UugPLRFvNMVZZ3 0WjgCOGRE5km5/cdt2N4B4D/TB3HNEs= X-Google-Smtp-Source: AGHT+IHjyfi7mOXQXrmmy1PrutILlLosPprDGhqW9+KFZAnnb0/J49lbahChbH7vhSNb7h0IqamGSA== X-Received: by 2002:adf:d087:0:b0:317:6fff:c32b with SMTP id y7-20020adfd087000000b003176fffc32bmr5885459wrh.53.1695666513850; Mon, 25 Sep 2023 11:28:33 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 01/23] bsd-user: Implement struct target_ipc_perm Date: Mon, 25 Sep 2023 21:26:47 +0300 Message-ID: <20230925182709.4834-2-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::329; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x329.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: 1695666714676100001 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 9c90616baa..4deb4fed35 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 Tue May 14 22:54:37 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=1695666838; cv=none; d=zohomail.com; s=zohoarc; b=WZELy3KFjzqQCYR0GVjgniwWQV4VpfaJTIiL4rvmq61qDsi8aep3aM47DAvaMZeBToDCo7iWZkbM1i8hL1zbbrX1+/A7JvPFQoGlWLU8hrcwVsPwq+gcugI5digsAyguQQzOlAuUXjjaM/tJF6Hkn1J8hwkOl4pY0kFkb9P3Wd8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666838; 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=gRkHnja7nexQbKWQ5sBDhgIEYNSvl8qtBM9POpCGcAI=; b=ldzvZ1l2+LSwl3dkO8OMYVy0anOv66h1gN9ScrsdpTVkMwiWyluGZVn9WbuoYKfgIWCWpm0BUGLashnxedN7HkAGGGVs33gH/qbDNCFbvz7ZtbIPESZChSQCh1vNwl7nynmho8luEwLGoag/eXa9cM391CQQ0yi0SvGQY/YIG38= 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 169566683887041.47278720330519; Mon, 25 Sep 2023 11:33:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK3-00084Y-B8; Mon, 25 Sep 2023 14:28:43 -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 1qkqJz-0007x4-5V for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:39 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqJx-0007j9-H3 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:38 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3226b8de467so5744410f8f.3 for ; Mon, 25 Sep 2023 11:28:36 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666515; x=1696271315; 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=gRkHnja7nexQbKWQ5sBDhgIEYNSvl8qtBM9POpCGcAI=; b=Q6Qovr9S4nhEWYwNRVgBzOHWCc7DIBX9Pv/xJwDYRCG1uE+msXcI3cSDi2XQuvuepa ACWDdeBsOGg02XBLbGTPw1AW0r+dYUE86AN1m0PpVtUUOxelmIkgblN12k5kDFOBFS3o bYKeWQMcm1Xwm2RKuuK0jx31JLjQbk1O7V3O5W+egwyV0p+Ht6JHR+/yH5UXeYR+u1eh tPZIZiilUP/v1XUyUvVHDVUbzyLSp0x1eER+DiGaNgRL7AOUiwWH6A6u+OEVPhzP52BK xFFdwF0wHzRhasLRKlDF4Pfvt3wfs6SYcu/1oo5sX0pvM+PSWNRXnitansVMA8aeP6/U j8KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666515; x=1696271315; 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=gRkHnja7nexQbKWQ5sBDhgIEYNSvl8qtBM9POpCGcAI=; b=CYmNWxCtffqnOifWmufJRfUQY9E/ZYd7RrV2XAYctBGw5v+uULD9FoSdyTufttIaJZ kNdCBfNXe7wGopm+DVsoDdftxXSLjv5VaWQpC8fjagEy5tY/OgYNR4C47DCy/3IF6lk0 o6M6JaeYd4p0cTshFSeMI7hXrKfXhazMcfUfFH81D3i2Z8yCKPhAsl7w5FXLDZzFyHTa 5rKssvKIsifCy+qLid7kYbUoP5YbRJvRMxfra4DubPMTuWX+Uj340kfbYP2K6/nKmvGU 965O9clezppMPv3aAGPe/u9IchWGXSqTRDunG1Q5/aB7xEn1x4OXiI5J6mFlSwGZi+OJ C02w== X-Gm-Message-State: AOJu0YwVK7KaeFrFAu2b5TxIKIsk0aw6rjwZlvIoP1syvvsilwgduUCa qTmmCzIepz2GoKXkbk0UNG4uYew/TgY= X-Google-Smtp-Source: AGHT+IH5yUau2s6NVt8t3XffovWW54G/Os2vJc+COdqH1WOoJAYnq06ZYCPqBMoAlcwYVAUXDnA/KA== X-Received: by 2002:a5d:6044:0:b0:31a:d7ce:927a with SMTP id j4-20020a5d6044000000b0031ad7ce927amr6360386wrt.3.1695666515078; Mon, 25 Sep 2023 11:28:35 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 02/23] bsd-user: Implement struct target_shmid_ds Date: Mon, 25 Sep 2023 21:26:48 +0300 Message-ID: <20230925182709.4834-3-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::42a; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42a.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: 1695666840626100014 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 4deb4fed35..f4a5ae2a12 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 Tue May 14 22:54:37 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=1695666830; cv=none; d=zohomail.com; s=zohoarc; b=mooew8FRa2fw+gDZsbot+JsPqZWMPeISLFK8lcEmtLLya28luvQ7S3u+VzYOXvefu8VWqSqMqUQ07gAoLNQqngI/UAmHgl+9OIQEmW4LIP3s85T9CKQCzbrAdZa1TRnoYnEZ2+u1aeqFh+0E3MTAqiM3BylnMHDNUHkR1A9qtUo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666830; 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=kVq1uGHM9oV6angmlbXbZLjFliHdEcoHMR8Uy2q0vLA=; b=I1AYdKzCPSVff2KQ4cJSLF7GSBjs7YJrWz48k4FdlfOJfuzxojIH3p6+O5OxfR5o6397R5tuLpvBjGg3xfwS5mN9gmFJCkxIIBAUE37nR25aLfPWXHZbssWyRGJ4uFhXNbJiXoh/+iGmr2dNa6v5hmI7zZTKsT+jLf9kBqbayTo= 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 1695666830338868.0409399293284; Mon, 25 Sep 2023 11:33:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK2-00085a-Pk; Mon, 25 Sep 2023 14:28:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkqK0-0007zv-1o for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:40 -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 1qkqJy-0007jE-86 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:39 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-405505b07dfso29567905e9.0 for ; Mon, 25 Sep 2023 11:28:37 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666516; x=1696271316; 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=kVq1uGHM9oV6angmlbXbZLjFliHdEcoHMR8Uy2q0vLA=; b=ZY5uWpV8F/RElbx2KCBqDdB2Or5CyGCpW5LllpD34aF1aUFsIwtqHSywixGNDZazBK nuCvEPKYKZCe8pDDlCkpYvQILvdSKJz8G2e+pRdu6pMlpZiwnpJfJYz4zzwD4OUTYC4j yIGwfeDMbmDef6r9CQANLJ/0bFr+/l42I1/pjIQCmIDQh6O3H0Dxiv6rhIDf4KcGV3EZ KkQ8lnMSVjlaT1S03iq0ua6r1g24qGZcpkil+JlLIxuqThM+JZZGB5c+9xV7YYV9TQXw /chMIisqtfcJ06l5ZVd4vVnf95mjoWcBgQp3UUSub3EEmzSm5vgFx1HVRGuYQ/u0r6ch 5yIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666516; x=1696271316; 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=kVq1uGHM9oV6angmlbXbZLjFliHdEcoHMR8Uy2q0vLA=; b=ifvzb1/0mE+6ldQVy3Z+Ck75BnXbXGVc9a5KrHhRyktLzljko9tMEwBfMIYJDNew9f WthrecoDi5eHz3Ox8Q3h3DR3YgsmD+F3o0d2EWlp3MG4ZJZiEsVr0LZ1yQVWnK6DSHwi Hr427QlkWSDEN3iE9s9OpJqqapLjdJ7yJT4hxkwxPNvgeNMZYwl2YdFSs5DR8ci4lQTM 9ZEt1NmdWb7gyC+2cMuLpdFOc0obsXMmMidDZFC5J5TzTBhJe61sO4OJBYWQfCZ/0K+R IagJOlr5Lj+GqKpvV7jGg596KwUiqFCOMrhCWfGIC6PFJWyb1QmHrOsU3ZooxhVrc4jx j6Cg== X-Gm-Message-State: AOJu0YzKsW/PH+TLBJcFgR1K0BlzqLOL/9myJTzRwpW1MELuDskpz7Kq MbIb2mnO+wzr48oVRq99noAvuMrwddA= X-Google-Smtp-Source: AGHT+IFTsePQ4fIi27R3SK/LCPCBtO9NG6H2qF21lCov2D2ymkArF5u2tKpYYgtnsResuXJfUPB3Fg== X-Received: by 2002:a5d:4fc5:0:b0:31f:ebb5:cd51 with SMTP id h5-20020a5d4fc5000000b0031febb5cd51mr303443wrw.33.1695666516333; Mon, 25 Sep 2023 11:28:36 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 03/23] bsd-user: Declarations for ipc_perm and shmid_ds conversion functions Date: Mon, 25 Sep 2023 21:26:49 +0300 Message-ID: <20230925182709.4834-4-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695666831579100003 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 Tue May 14 22:54:37 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=1695667032; cv=none; d=zohomail.com; s=zohoarc; b=PDvr6gxVj5ebTxBSUcgjDbplset9Zdooeh8azNEGA3Ks7b9nD/Pjgvbx9C3qRCeUS+YvIi8+6gC7eW81g+K3vA40z/x7dX8YNundGSJqOlVM2Ya3Nop7uvsOiyLKbLli3llIvEb6KTbfBt6zRsdYGCCGXQUVOIrdM+hOdni/hP8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667032; 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=KK7hmPDkvNZ7gao1BckcXOde8JB8Py+cCsJYB29LOaU=; b=GcJcccm22xwWqI0RSCx9FgO13xHMcNxuQgWcKv4pjEuOnKWTqfCsjDW/fvXSZFdWOtjZ7211Tr423lddT2GJ/iQ98z3SIDdMoeGAj46aFBSZhpY5qEWQkHNaRFtGhvGgtKr3B1ygmcBWyv7OZQS+m2+B3c/v73cH4XYIGKRdCes= 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 1695667032712886.5664900980289; Mon, 25 Sep 2023 11:37:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK5-0008Be-1J; Mon, 25 Sep 2023 14:28: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 1qkqK1-00083I-41 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:41 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqJz-0007jg-9F for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:40 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-32333fb6beeso190955f8f.0 for ; Mon, 25 Sep 2023 11:28:38 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666517; x=1696271317; 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=KK7hmPDkvNZ7gao1BckcXOde8JB8Py+cCsJYB29LOaU=; b=PSDxwb4jT9NMsckT0ZK3pyVsX67SS3SHPsdrdMaHNFOL+MpSFeTOQMXCrBU1vPnnRD /YoGX2KfqADCpMuoghdalhSFmrRXyx9gnyny2iy55lxykec0BfQOtNs+T7k1TMX+XYN7 6yg10xStmvYPDzUhhd/mfr+vO8JBQN+UdNg9Ki4KFomjUhU7MRj9lpBJdPEmlwGE60HZ /11/tVtoGWztEsFA7SWFNZcNdMSINrTK6uDyadxrTMVAFZtEzrRIlPNDVC5UV9ydhuRU +ZbqxBF7xb7aOTND4xN4q2++6TMs/hgbL9XYYSOHPvEWhgsDu1jEv/veJXHPLzr3sdSj cngA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666517; x=1696271317; 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=KK7hmPDkvNZ7gao1BckcXOde8JB8Py+cCsJYB29LOaU=; b=gnbN0FIXX4UsqQ1SLrmaqEKtZ+q5UbFiz4oS1JoFGeQmNU7mmTjBazLvOO33nV8tiq wRWj/kXCBkttEevywLL33OvDFZTkxYBQIXnimWR5q68TOLqH48Kj1IU6fnq9HSXsxJe8 gAmRNtfTwGv69iphrMuRfCpZj7+9KkFZ+kgYZKI7bmlEit3JAIzFWA9flW5SZ7aupYWi RuPigKvml9NKW5kgnx9o2Cn7wJhNaBcmfGyF2IboNXL/W9EOiqjG2MhARhWyP6YSETQq IzKbWJ6myni+GvaXcvcMUivn658W60yO2rInQPMsjvQP51dh0CMkNQNOIBM7ZbjFMKJh /I5A== X-Gm-Message-State: AOJu0YwdBq0LVWcB5SP4nO75HL4sF58W+DMewTXpMOPn4KHaPlKeaaO0 9ZhDpWF6rGSlb2RdAE9Zt+tPN0R5pTw= X-Google-Smtp-Source: AGHT+IFbDofjrmn3rFBLqtAgw5JQjVY9Ozfb9YHPgoy7t2+mCv8vUuF83aYDXXpMmGWJrLUGavqYnw== X-Received: by 2002:a5d:6b51:0:b0:31f:f99c:600a with SMTP id x17-20020a5d6b51000000b0031ff99c600amr6210303wrw.46.1695666517540; Mon, 25 Sep 2023 11:28:37 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 04/23] bsd-user: Introduce freebsd/os-misc.h to the source tree Date: Mon, 25 Sep 2023 21:26:50 +0300 Message-ID: <20230925182709.4834-5-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::436; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x436.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: 1695667033836100001 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 Tue May 14 22:54:37 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=1695666744; cv=none; d=zohomail.com; s=zohoarc; b=aaEXJauoVgk8XKSSbGcCf+KsmlB43vglk895VwZvhwwHI/mQMFHga6zjodR0meLN3qGxaRDgbuffVHqKNgfmL/IFYZKLP/gM+dsIQKntNVm8JIjQf5lX3oER8XTBRa5QDr3YI7K6YKNJPr8s3TlPsmSI+ihUtb+FxWVycb/GvLc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666744; 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=A4cB5XU1wHkue/WY2K/nTLg+N/2Q1Zd6Xjuos7I4bgs=; b=GmOHB6hWTo2GWUiCsBVmnIB87qGMsU1E5wHyVA+weTNxpQbSQAmlzKwzyzPbPnRYyAJeNv7UK6qA302DStahcnrnkUdTGUVWIUXMmt4VxDTfA28AkuaCCfsCyyYoqTkI8Vcl4gOn8rKfftd533OXY/MwDaNgiWBPg0NhoDOF4m4= 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 SMTP id 1695666744305477.8026954896644; Mon, 25 Sep 2023 11:32:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKG-0000AX-GH; Mon, 25 Sep 2023 14:28: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 1qkqK7-0008FV-4H for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:47 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK5-0007mR-8N for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:46 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3231df68584so3244989f8f.1 for ; Mon, 25 Sep 2023 11:28:44 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666523; x=1696271323; 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=A4cB5XU1wHkue/WY2K/nTLg+N/2Q1Zd6Xjuos7I4bgs=; b=Kg0gKN3MCseuytlzYJ6OukZGzSoRK1p4NMtvJZ+m/CgfCZ0g/MqKYIoRQUSpS1EwqP LYp4Vrr9hrLkkRn464EMDO4CwxJme49IfLz/BWt+mrzPzk67EwM8vUatznlRn/VkRVJ4 2pdD+/zQeUSH7suEkbAmdiNWqGI3GGJocIJAnp5+2+OLePxhSU1sTPfCh0IJUED7eZgn z7pNmtmv8jUzSJdAzQuUk0DUFtk9TpiFYh4vcQFrB0ZzcXNKpF/O/GhGH2V8aoAt0i6U ib6CVSkn1zXdWke39zPZjUkwYkTgd3mixfeOE4DIzaKgWCLB5wh7rBNKA+BSkjNMMwx4 i4sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666523; x=1696271323; 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=A4cB5XU1wHkue/WY2K/nTLg+N/2Q1Zd6Xjuos7I4bgs=; b=MK3ZClyK5JBoA7Uutr/AblQnrbjBdTuSqVkc1lYBaeef2u6gFFdjKRnY1Clxk2JZIO Qg62Perc3OFhmSR3NoPk6KRydKeNUptfln1xyEkUKjcF4wLB39LQKmZOOISGbnyTMN5s oDklTy8cI8F94DCeIJVegA6Rz+kHuIYM16MS+qeXgIvprjj6qPkG3QSD1Yxl4GO4MRQZ T5JPwTOUKRP9UOZdyi4yuedDO94N7pGZutvpFXRjHmMgOMoms1Vuku7CLs4CIAR7L+XD ayumRxpbikIe6A9Jzda+HDDbdIbsI2deyEORLMC5O4TKkkoK9iNfF2FJJ1X0Xcw9FFJM zYtA== X-Gm-Message-State: AOJu0YyMxGAtj/3Ke0S48a7qZ3F0lx95blFAtX/13hnHO2/YoG3RF4ne 5k9vYtqb4W9uWuqVMlih9Pzvs9Rax+Y= X-Google-Smtp-Source: AGHT+IFR0J2J48ckw5mLScDV5RAE8GymDNdnWSsGrSi+2mpKNDpekA9HxHhcQuwqXIexAOobOG4G2A== X-Received: by 2002:a5d:42ce:0:b0:319:867e:97d7 with SMTP id t14-20020a5d42ce000000b00319867e97d7mr6800750wrr.52.1695666518778; Mon, 25 Sep 2023 11:28:38 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Karim Taha , Kyle Evans Subject: [PATCH v6 05/23] bsd-user: Implement shm_open2(2) system call Date: Mon, 25 Sep 2023 21:26:51 +0300 Message-ID: <20230925182709.4834-6-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -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: 1695666745030100001 Content-Type: text/plain; charset="utf-8" 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 | 10 +++++++++ 2 files changed, 52 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 fa60df529e..74146d8c72 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -33,11 +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-stat.h" +#include "os-misc.h" =20 /* I/O */ safe_syscall3(int, open, const char *, path, int, flags, mode_t, mode); @@ -592,6 +594,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_freebsd_fcntl(arg1, arg2, arg3); 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 =20 /* * sys{ctl, arch, call} --=20 2.42.0 From nobody Tue May 14 22:54:37 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=1695667046; cv=none; d=zohomail.com; s=zohoarc; b=KUTU/apkwtvaCZ2pqUYfoXa07ZZREZxbP5YjQY/keCctlyJPnVL+0C/WOC07NEYabaJ9bpnW6mYavG8ATBM+H8JiH70T75kojhxi2GqBmxT6nrlCOaFvAqXK656eelQNOXUSNppCT/R3vQnhrdD6fEOH91wJVHprF/8zTqbbjUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667046; 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=QZEj0PmQKtrSTSS1pylbPvyIf7jZoRzyI7RzMk4h4sk=; b=WYSn4UHYm6fPuj08RAFWk4u8B/A6KqM+Q4s1x0rTZZ/1U7UDPy+lgEzVxQy2VQ3wRnA8b5Vn879PEdh/zyEJ8xfJXMGJiENEkvlcQXmtELBNdz035RPA6R/DDILx4E1kprIrvHkOwXCJ9zMrcT2hzWskbmTXVwHlRji7PV075pY= 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 1695667046496491.60873759455217; Mon, 25 Sep 2023 11:37:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK6-0008Dr-PB; Mon, 25 Sep 2023 14:28: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 1qkqK4-0008Ag-Bg for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:44 -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 1qkqK2-0007kU-Lx for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:44 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-405361bb93bso68153745e9.3 for ; Mon, 25 Sep 2023 11:28:41 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666520; x=1696271320; 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=QZEj0PmQKtrSTSS1pylbPvyIf7jZoRzyI7RzMk4h4sk=; b=fDmdRcu6GMugS/LFj8dqJWuJq/TOd6XqoVJmmsqdU73Q2B4QF1tbwBj1wmnMGbI3bx pK6maNddnSfx/JEZ3KAIgmEJcz6HZ+tT+TSRPLNJDFWcaWIbZR8A/az37AbUVBWiauV+ v02RwdiRm+BIGL7+CAYAfQt51cA6rEx/Ysr6Eh2d5id8qtiNlubXcKlMEJAMWoBFyqXa PM0OFHydE2uU9CO46q1+A8i1h808zjBq/UHdXpE1sJQblGhAj44ZW2o35cObl5imVq1M tHoIXXiiG6otmQCmvLM4nB3Y/13xTXUiz3SoDA9tyzFow2flK5CJKos9EboE5zeKN96K T4GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666520; x=1696271320; 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=QZEj0PmQKtrSTSS1pylbPvyIf7jZoRzyI7RzMk4h4sk=; b=G8W6dXXt9DSXsPOtv8STlhbkjZTcyaG76+0ylUfmp6S+DbNhb/ykZZ95lbnqibEFPh DGrUvGA+vHMBXnjLcIEQDw26AnRJkRtKywKGjQKEECKAnYzkDW49nCZgPXg0Vvtdgzhh epy46BIec7NnuU4mkF1XE7yjGkQSypkn2Vutrh2H/kgHwZ9/29Qjje2+CwPM6MFyHpY0 250ocvLtZhf/NUBH8aaR6+c9vhA9HQpQsJNtNJmJl5QYMLvl5PksoLTn3Zq+VtOaDC7/ 60jbeIQQxrA8Y1ea0+1LTPfczWPElH8GPs0B0JexTZwnVBP6rJh//nMHCC6jfr/HiNIV B+rg== X-Gm-Message-State: AOJu0YzAjlB35u8APxTk2nASjwX2CDZqDCINa2q9k6s/t1ZANFpkc7Y5 /TTzmld1BgeEkiz4duhwq7RuFf7I4ts= X-Google-Smtp-Source: AGHT+IEirFy1icC30NRTO7tr1ci4hnXyq96P+DgNHKYq9eBjVivG+4djzB+Kr3LhqYWC/mU+w2sy7Q== X-Received: by 2002:a7b:c3d9:0:b0:401:bf56:8ba6 with SMTP id t25-20020a7bc3d9000000b00401bf568ba6mr6323240wmj.28.1695666519993; Mon, 25 Sep 2023 11:28:39 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Kyle Evans , Karim Taha Subject: [PATCH v6 06/23] bsd-user: Implement shm_rename(2) system call Date: Mon, 25 Sep 2023 21:26:52 +0300 Message-ID: <20230925182709.4834-7-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695667048323100003 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 74146d8c72..ae92a2314c 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -603,6 +603,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 Tue May 14 22:54:37 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=1695666619; cv=none; d=zohomail.com; s=zohoarc; b=EcOpuxgx1NT2GqJh7+UirPp+NFXu+1FbI8tv5V2ovUtGa9kJFOOVip9Cle4ut7yJbsQ7mprX45DGhXsQdRQHNSz5qOfNbWqdFxYvSiCQTaSp8ZTZrPpF8UEXzH8JBfDBoHgbANquuazsYFg6S5ACl9Hqw/AGgkZdL52NEgjL4fg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666619; 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=tWanWC67jhmn9FXRwvcRc23eY0xLvKm6663P3+ePW3g=; b=nFqH34o0v6kJ0Dryh/5+ssY5vV6eLYZgQtn+7KTiVN71MNK77ZEM5oFd9073c/ButVU6dZSOxDyB8QdePDrzmFloIJJMEMIEkxuGxUO8IWN6jYEOQ2qh2c1MWUvG0dr3qr9a1rbnT98SwtTcqiMCUQrt2SaWwAcjR7HAK6rsrQQ= 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 1695666619607718.157599608616; Mon, 25 Sep 2023 11:30:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK8-0008Hy-8z; Mon, 25 Sep 2023 14:28: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 1qkqK5-0008Cr-O0 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:45 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK3-0007kh-0x for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:45 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-32320381a07so2993216f8f.0 for ; Mon, 25 Sep 2023 11:28:42 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666521; x=1696271321; 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=tWanWC67jhmn9FXRwvcRc23eY0xLvKm6663P3+ePW3g=; b=JgCCS0oR3cOwKwu/Jh+7z0S3jZ6diEkpJuAmgrAPZrgjnIVfI3A5PWTPXEPWr1fKsg of3l6YiHGAvr+ulScpUr499JkVSTL8VUgrdfTn87rYe8d/POOBhVcnAcTX1DGUJ2O9Li 7GNPk54kQPgN/2kPI/xTZa+ZE18PZEoLJtMgEp7hLOekFD/rn5diMbPIXb2zmuHEjb8k WPMGyA3wnxa6EvLcGS5mi2TLhuOSQZeMcL2jMBg+8bpg80JUqmoI81/j2Wc5Ln7Ax0OS KMhJ0kAflP5tQ1wXo5h7I0UxhRdyetYtZjVeI88ixrHdguPzaq6x2ZyZ77hm9h3Lbtft 00jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666521; x=1696271321; 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=tWanWC67jhmn9FXRwvcRc23eY0xLvKm6663P3+ePW3g=; b=SpfquESzi40LNbyrHrORPTBLV4uabt9NTomp5jkKGu+w4/Sxh6TbnSOD7If1Q70G3M +u4G+e2PlpFnK/wzSkxxqlw1f1kM7dHzYJqYskphaj/80QmcYsIiCtAFqooenJGqY4yR TJELJXCFrc1lP/orWGjZvlDVdDAaeZe6iV5SrOZL0BZqn0G2ni1F/LyG89PhIQ5qziWy Lo7/wjNtOBwge1RDfyjk13qm29h6Ocv8faHRHDANrtwVmQ9BhfE+5RJxt4T7uXP4MMEq +HjcYj0wZD3g5Lf7uCbsXd1TL3uUISSufvK0BAgZR9ynOG4gpzKnaWq3srDnCkKcP31l C77g== X-Gm-Message-State: AOJu0Yxxk8Q4o0jw7JCikJSrFpqeHB5O4/Dyuye9yx/GHy6CCG9Zdf7n OuJDhFB0o02DiH3ax70JPLJoCNdXpfY= X-Google-Smtp-Source: AGHT+IGcM9cb8jNiwOQ4luwwaG+iC8P/Dcg0MmjKZ10uTQvKgw71c3hDC1NkXuqysqSsn0Vhvjm3bQ== X-Received: by 2002:a5d:414d:0:b0:31f:eb8d:481f with SMTP id c13-20020a5d414d000000b0031feb8d481fmr6316407wrq.29.1695666521246; Mon, 25 Sep 2023 11:28:41 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Karim Taha Subject: [PATCH v6 07/23] bsd-user: Add bsd-mem.c to meson.build Date: Mon, 25 Sep 2023 21:26:53 +0300 Message-ID: <20230925182709.4834-8-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::42a; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42a.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: 1695666620592100001 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 Tue May 14 22:54:37 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=1695666573; cv=none; d=zohomail.com; s=zohoarc; b=gK75xbEOuiePBRGnD3jQh/PdwPX+i+0xGAuUtryr6aAd0clYThxs4hGhG0nwWNxWvgptMO8d3JKaBgTbjm568lyU2VSj2nzxvDA2dlCthzaHlG0nIdSZLZx9qSdh459MPUOs76affkVzICRzulZLXxHBaTmYKRWf1ZWLjUVkZ9s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666573; 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=Zuun86h4+Ki7eEXQiRwiN35p7fie3LoCiJTVqacEJnk=; b=eYtxCXZvfd26CU6B2+FI30aGSCKbH5iejDuvkrjQmN/4rwmTm5uocMSPkxWqPx3hCnV9tT/JOXR4+XwZDSY7P2YRy3BflJyAfeeOHC3u4Jvcb8g468D9MjqpS6NcqLdLzOmiGTD80KnIFWdozOwgfw8BHIgUjl2EOHfHX8NgQDQ= 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 1695666573039134.15944882938186; Mon, 25 Sep 2023 11:29:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqK9-0008N8-RL; Mon, 25 Sep 2023 14:28:49 -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 1qkqK6-0008DW-7f for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:46 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK4-0007ko-8k for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:45 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-32333fb6beeso191066f8f.0 for ; Mon, 25 Sep 2023 11:28:43 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666522; x=1696271322; 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=Zuun86h4+Ki7eEXQiRwiN35p7fie3LoCiJTVqacEJnk=; b=UCOP7AKBMYMp4ktGtuQ5DK1lVJ3G20xwGGP86TavUsJpTyP+X5xwZ2krtnB77Ej7E8 2fKAbS55Gqb9QO090bRptNMgmOLKUlf3ETAiRN6Sn2sNQ9ov0T2RfZjPoDA0nLLQwY4/ 0TaFFxUnl10Bk8ZtL/XyddFsOK9hHcvaGOZEVOQUzlTPh/jG2+Tqa5p7KqPF3AHwsuvd xk6aqbOEiUubwVgW72csig1L2D8aDn/p1XjEGLBxJCSxTNCaPJpmK9AV2H2eL9oHIpti CbOPiaZ/Hs1DwqL5XxZ8Zk8sw8dqZEd0aIV3MjcCeSW7oDs/hm7qjG/aMxjnuRkl5fBk Wkdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666522; x=1696271322; 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=Zuun86h4+Ki7eEXQiRwiN35p7fie3LoCiJTVqacEJnk=; b=TmxhR8xFVMVfRLpu7oO6Hwa6IBsocdTMzNMoNPP9R9bnt0S1yDH5EDzi5XwcUbAnip W08gXguKP8ArbmwwkwbB5KTnam87q/dvaHO1vlwvlc/oNskQ8mIuA+TvUDyDVjbRGEqa sZGLrG88tiyYqYrI/6pP6SpNg9pO4aF5A1CW2Wi7KDq7oMx2Pw7KZeus4D3fz3EoJs5r s3/5+BvqqmDW2OFRHTSPxnv0t0l2scYvb4xPeDACHKudCQcFFUSZ56G+qsq0gVp1vump ZDYgo2Pwp1XfCIybd07ULYAEygY6unuOQiWIeafzmCdp8f6YLTdI154/W8vYzd24nsXG 9zdA== X-Gm-Message-State: AOJu0YxyZE6xQajve6Zd0EMeL/xfhQqnMq39B3UPf0frNbjK0amn1sP1 UstH7Suf2N1N9B5Orp2d8QQJGuzKGpA= X-Google-Smtp-Source: AGHT+IHS5m6gT3nIscK1qyodPO1eiiiDcMwBe81UW0YK09rOiWqiaRkFrJACi6H+HEzMCULCncM4fg== X-Received: by 2002:a5d:52c9:0:b0:314:3e77:f210 with SMTP id r9-20020a5d52c9000000b003143e77f210mr6082787wrv.59.1695666522472; Mon, 25 Sep 2023 11:28:42 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , =?UTF-8?q?Mika=C3=ABl=20Urankar?= , Karim Taha Subject: [PATCH v6 08/23] bsd-user: Implement target_set_brk function in bsd-mem.c instead of os-syscall.c Date: Mon, 25 Sep 2023 21:26:54 +0300 Message-ID: <20230925182709.4834-9-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::42d; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42d.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: 1695666574471100003 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 ae92a2314c..4c99760a21 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -60,10 +60,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 Tue May 14 22:54:37 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=1695667072; cv=none; d=zohomail.com; s=zohoarc; b=X7ovrZcWPY0Fcgpc6tTgjGjU/CpA6iUXsobRbvLB2b6cZixwuSJao9U38E+LBASnLVISk17e5QOM9BXRV4pPo1ssxY3CyGYKay+mwwkI3gjf4Z/k1+0d1WHAf4G7sXXLUjhIbjK7FLUmkM5NAkpfOrjLZ8oc0T8LhHnJkVGkWSY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667072; 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=6kOFVD7x0CWlInCOpBq7W9+nfPWQu2AwCNVWCQ27xk4=; b=fwqm9josHpbW4K/OeCBOR0n24bOZPYRQ+Wt9pyBm+kijOAvpvBCs4frcATTnRTGbkYDNf7+C/r6/Jdqb8vkQBMsbjl7CYCl3aN2IUxjUQxdH4yF8yNqFQVjtoIrIoz/ldaxMOhmsQMd1sT+xIZibeG8FQmNGpuNZJ36EQkEJcxw= 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 1695667072264497.9176601628824; Mon, 25 Sep 2023 11:37:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKA-0008PF-FU; Mon, 25 Sep 2023 14:28: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 1qkqK7-0008Gj-ME for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:47 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK5-0007my-RJ for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:47 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3231df68584so3244995f8f.1 for ; Mon, 25 Sep 2023 11:28:45 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666524; x=1696271324; 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=6kOFVD7x0CWlInCOpBq7W9+nfPWQu2AwCNVWCQ27xk4=; b=koXJJ+L0QVqolx11GBZeb9W6QCFbFl0rpZOg5VAkug02p0am7cb/OZmxvwt+40yDjT gQUgMTPhfyCtzohNCONoooDg+tbPvabhSmV0APuksrm7dOZ8VXRmxn7pXxFlAX07ZeKp +JNyM3d0aN/68xvsEGf6NvGMP6bY12zS88l8VMq1EmOJo1cZczQTf6a6mmN8bGzLjks2 TevRgpXzDR0OTEIfIknvaUuDw56vhH+BtinWPsmq9wRqJ57aCHvqTWMRGmuSkoJt5RjS s0YLDyMJm/n6E88t69PWoyo1uTQgB6W/BweOB2LFr+wpwYIB2NawIWXmRSWVVW/YNQCj /2dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666524; x=1696271324; 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=6kOFVD7x0CWlInCOpBq7W9+nfPWQu2AwCNVWCQ27xk4=; b=EqNp1pzen+JpTR+WO2p3ysMBz48i7oq/S6ftNo1Ae6PhFZufpdrYA4N4z+g/xKgyXu yZo/AdxByWL9J5lbmRh+0CZLnmF9XRCoYXzXyj2SPZXOxgXLdK3Rt1Ca245aN9W3NpT3 ozQEFjzcy9CdW3KU15CFjD9mvAUsfyhqm7MWzx5Gy5817uKDpUWWT+hwlljgxBdzfiEV g1xD4LM6QQRfNw3H1Y/Kt7GaPl9kuwenUzn3VD3Tk9Sj2lZYEjcmR32jc+xadl6WJXXg 3yn0Lpw+xnOg6FUgJ61889UYzZfddLcw6/S85nkdWmnEquRiH3t8aiQKMZEl7OW0yOwi 1/ng== X-Gm-Message-State: AOJu0YzjMtQ6vU9I7i6iLFnhMb9zeNrfwVwS/W+hkeI/Pe27fLIerpL3 RzShjr+dypfhNDCcuww+KSBOANOdwe0= X-Google-Smtp-Source: AGHT+IF45hvB6I+03aukcjIygyddafw4yWMGQp+Vd1vissT6yRY8wfVhbqP0jg04ObT5GKDGRigBfg== X-Received: by 2002:a05:6000:a19:b0:323:1d8a:3d87 with SMTP id co25-20020a0560000a1900b003231d8a3d87mr6378052wrb.4.1695666523668; Mon, 25 Sep 2023 11:28:43 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 09/23] bsd-user: Implement ipc_perm conversion between host and target. Date: Mon, 25 Sep 2023 21:26:55 +0300 Message-ID: <20230925182709.4834-10-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -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: 1695667072749100001 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 Tue May 14 22:54:37 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=1695667059; cv=none; d=zohomail.com; s=zohoarc; b=QWvr65QvuJt5iWHlf0hT9LgzyTIUa96v1IqE/Sok9VU6xruz7SRvFl2yPMBw7XeHIDT8rT0/yh0CLTvvV68YTl/F8btEfCN+icvEGQV8FUe2Q1y0uKqZtbWeb8r/rSoOfcRK/c/fVjXRVxv7rbmj9GkLOTveqatfS5l5u35da9k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667059; 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=xTuAkybq2jfJV9OdRT1tDzyr/5NPWRVF8sB4olFps3M=; b=WT0DREldgF1pxs/QBMldfqyY2LPCNXKw0tY3hLcoaQ9Mi2FmQ1pWQ1WSFx92xWdnoq5vWg8QrC18K+R+Hm9xDXaUGeCYtd3/D2UdB/3MPdVoSWrLTJ7Uazber2I5NnUlkh/Y5zUxDeQEmtJAmr2bOcK+Ts0r9RJ9JlaPZj70RS8= 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 1695667059472611.7916251128843; Mon, 25 Sep 2023 11:37:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKA-0008PQ-9W; Mon, 25 Sep 2023 14:28: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 1qkqK8-0008L5-Mj for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:48 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK6-0007nF-T7 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:48 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3231df68584so3245042f8f.1 for ; Mon, 25 Sep 2023 11:28:46 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666525; x=1696271325; 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=xTuAkybq2jfJV9OdRT1tDzyr/5NPWRVF8sB4olFps3M=; b=E0HPPmMWBSd1C9D2I5yb+Upmu3NEFp9mGkqhdk9+pOM//XxdXr3fDWSlZTZ/awce4e Wx1RQ8x7h2mEN4KgSAhAivo3qAbESnBcE2nPC14ZPxDGXTBdmso/pYCa9phuck0+Wt5M AauQPDbXse+miXekxKsqtMyBIiYpF/UYB9FUT3zTlGUX7BcWiKNth9Rr7SXU5zgJS+gB x9RvRxHoT1f7SiNJToZPAZTH1mYpEBFJGUcUfnsJpDmxZSlknJ5cGxPdB1Y4lQHqHzuC DnQAMv7jf/+agr9dZrhYoMfJ/cfRLfc1R7jsJZIFslbiBI8fSJb3OMsDWmewyM7frs9x gy0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666525; x=1696271325; 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=xTuAkybq2jfJV9OdRT1tDzyr/5NPWRVF8sB4olFps3M=; b=HDvELEgzk+xLP3MMLDEVbTMnAh5Ao2bLj1vKAvVIznzmmV02PPDdjEIZhQmvfoPwwE 22ivXr0tNuzK+J3XHy029tTHqowOFF/X+KM8ubxV1G8mW11sCg3Gn4PXztnfjZwDjL2H SZ2TzXHoTEQ1BOGXgt1fduY/BK/Pgh/0PDacu3huPi/6xZVOrhf0FwzVQGy7N4H1cuJf 8m5t+ccmzibhOhLjwI6fhZuZKYJWT1Mu6Jg8t3EA3kLhoxfNpRZB3PZ9FPnZBDO+Bu3I t90EjxzlaX1xdFl7VXhHE7htVQHN/tx4Nc6VLGZGwX9qxk/L8JgwqZ0buS2HhKE2TBIC ccnw== X-Gm-Message-State: AOJu0YwLKCBB2udJKJ57+wxetPXRXY0NPDINfHkoMMsRl8eazDXuv6Yx my2qbRKjm9hjD78gSVypBG2XDzC5xr8= X-Google-Smtp-Source: AGHT+IHivWivVSH8HfaUJ4yStCzwwkqNHF5jPLxMuVDAzjLgNKO65GMhxUmwRqr19PfNpuMsvaNPgQ== X-Received: by 2002:a5d:6101:0:b0:31f:e761:d47c with SMTP id v1-20020a5d6101000000b0031fe761d47cmr7052108wrt.32.1695666524915; Mon, 25 Sep 2023 11:28:44 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 10/23] bsd-user: Implement shmid_ds conversion between host and target. Date: Mon, 25 Sep 2023 21:26:56 +0300 Message-ID: <20230925182709.4834-11-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::433; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x433.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: 1695667061495100003 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 | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/bsd-user/bsd-mem.c b/bsd-user/bsd-mem.c index 46cda8eb5c..2ab1334b70 100644 --- a/bsd-user/bsd-mem.c +++ b/bsd-user/bsd-mem.c @@ -43,6 +43,30 @@ 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 +79,26 @@ 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 Tue May 14 22:54:37 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=1695666715; cv=none; d=zohomail.com; s=zohoarc; b=nbYTw+gtYksv6CEfLJDS8wn/gfd7UVFQnDN0KEpVb6O8/zt0YhPj1xI7z6MHHb8G47MErWSwU5jhKowSiBxR8pkNwDz5c0rc5M2BoGIiUFDAyjiF8mmKKP9hOGIbSOX1SXRbRm5RheySNOLvPLMoStc6h1MV31WttzID0Cn70Hw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666715; 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=K19uu8/17P76Q44mQCDZAyL1sOi2UHp67TYKWHLTGQs=; b=W3rYI0j+Ie8TH/1CxLgOc10oKuBS1pu8s8U8xr8Hf+GBhsX0PWUZTEQSgnNpC89kMyBr4Ha6+WD0xJ/rLuew0WzEZZ4hJkudmYEMoWZgT6dhS3TB+cZMtLn3NyLl6MK95S2tBzmmxyAXfBa/4WB1QLtmZ8/xrF7sPmiIFw/Uqqs= 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 1695666715629670.8108006286715; Mon, 25 Sep 2023 11:31:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKI-0000JP-6w; Mon, 25 Sep 2023 14:28: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 1qkqKA-0008Pz-4c for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:50 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK7-0007oH-Vp for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:49 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-31f7638be6eso6818940f8f.3 for ; Mon, 25 Sep 2023 11:28:47 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666526; x=1696271326; 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=K19uu8/17P76Q44mQCDZAyL1sOi2UHp67TYKWHLTGQs=; b=LvAMN74pwHPT81kE921/wYL+RcecqW6mTyANL3lCVdFyuyKLeTXe4EPkarAWYY1nrB wBBpYDRjd+RTeg6hhlb/NLGHLs4T5XaTMr5f1EKpsqCUebXp1YbJUGGPa05PPIK9VEG2 jSDUGdvPg/ccJXUqHFOE05AbMDBCy29dSIiGo+TIIYWQuFAtMX3V9ztj1RppsjRbldKM IXq2moBMFCH0U/VW/PJbuF/q3q8plyeRorsRUARTtdZupY8JON4WICbUs8EWNO9CJQoT /qcgHvl3okHxyIELFsg7lJicWwZ0sulfPV8rhugIn4rX1qq80vgCumRaIm5RvzXuQAYz bing== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666526; x=1696271326; 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=K19uu8/17P76Q44mQCDZAyL1sOi2UHp67TYKWHLTGQs=; b=UVR+vpxAUf/eDCJxFZcd68D9m0kPlNJJ0AILLWelRn9cT7ZVDVBwv+IrfuCyFpi5B1 fSpNE3iXHoZBuuuocf3dC2rxYLUlsVs/iW5oxVFRnPSJGsp6YsGLm6mOkrJhhqJMXyVd a3B6LluruuKm2vBvp1D2ILHNPzCrimF095hG7i07yl4fXwqhi2CntCNxtPcvfAsg+WCF DhY/5L5GsR3u7Z4+5Cf4HOBZoDO2IgwNRBsXauKCuhR3PIN2GtYJVSpAKFmyqgzTOWW0 vvJffzcB0e/naKWtU8dlkSRE4z5/qrrlEGgIWQcLQ+yz6JKQa7eZIG/o6bxSwiZNxjNd sVRA== X-Gm-Message-State: AOJu0YyI75U10+u9MnUE8iO4ashWPxtCYoyz+lSQNMA/pZOR3NhBoPyX 6E4rQeB2F5kZc2xTZX7eAqcINZzglzM= X-Google-Smtp-Source: AGHT+IEOez4bIg8FU728XRr8y9D0Ss5NT+njMs3bSsBm7Qf08/gbQxv9IrrhLg+ZsNEiCzSdGnjKxQ== X-Received: by 2002:a5d:6b51:0:b0:31f:f99c:600a with SMTP id x17-20020a5d6b51000000b0031ff99c600amr6210560wrw.46.1695666526159; Mon, 25 Sep 2023 11:28:46 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 11/23] bsd-user: Introduce bsd-mem.h to the source tree Date: Mon, 25 Sep 2023 21:26:57 +0300 Message-ID: <20230925182709.4834-12-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::430; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x430.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: 1695666717314100015 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 4c99760a21..42cd52a406 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 Tue May 14 22:54:37 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=1695666630; cv=none; d=zohomail.com; s=zohoarc; b=hyJQhev/oeOOhuCL6v/OkcExLAWPHfJ54FgqNv3dQU0OA/Fk+y7L13ZxWEOXlWpGdzLghRQOBD91aIIMMzmhm48YR9tQXjom9Ng9vv3ZCtrDD9CyucPbtoheMaO4plIgVe+9YOjBoB7TMtgB3rXqAcY+wiSbac8Ady1llbBcRII= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666630; 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=kz+23oIf5l7ES1zwv+zlawDrL/8dIy3f1vjxlJaYUac=; b=iyGGFTUT9yVFA5z7XqOJcjGC1BcRTZhzQbCasE6+5sz3THNveArz7MRhqF3hQm5WpgVVaMXnbpTqWuHTdFEwHwR/HKKKT1yImEljP1EL1m4PnGSCaA5K9ffOtOA1dh3OykSsOBre15WhCfrlXNoVW+VzqGdbwYyTJBz3omHY6Rg= 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 1695666630034808.2548947991348; Mon, 25 Sep 2023 11:30:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKC-00005F-PR; Mon, 25 Sep 2023 14:28:52 -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 1qkqKA-0008SW-U0 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:50 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqK9-0007oV-5f for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:50 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-31dd10c2b8bso6658147f8f.3 for ; Mon, 25 Sep 2023 11:28:48 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666527; x=1696271327; 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=kz+23oIf5l7ES1zwv+zlawDrL/8dIy3f1vjxlJaYUac=; b=nGwdaUZSK0tUXo07Iuk7ATXlN15cFosxN54fTvPFypzsaIASXdl5sd1+Tlm4iEnpr0 v9xvV7qo+QHada6TQM7NwkZRy91ge0VNsbhTqSkvVE/0Z/D38eBa3vBuKjgjRQkGPe89 iQ6ghi2uXsIuh1n8IFHbNzJ3vLGbKst47g5BmdKp+YXIqs4qjItxflFUe+VochBMTCs0 ME6rxc98u+s/hjmIz6xQa5ICGGCtebI7o3PXrOD/5ky5rIKCMq0Nyhz7xT7VbK95X9BP BYyNquTs1tpbERjLQa1l07dI4DGYYeH0ikQFlPkxTRZvsqjv0TDOd8zaZJ5c4OeL7APj dhtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666527; x=1696271327; 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=kz+23oIf5l7ES1zwv+zlawDrL/8dIy3f1vjxlJaYUac=; b=QL/J0ulSOzV9idXKG/B3lG95PlTMgCc3yDXkDwWh4x0uONLNMn4xKl9Ffwh/bsiF6i qIBFxhb0VkcCi4DSB0wlnc1sZwgfH9kE2I0dc4fPKCQnUhnn1ZugouWK9VIpaQM9SXkR PAEbNDBpMEqwmoYnMI2WMHx2ktoNfKoyf76me8jxc0s6Ao+dsG3o+XgexPKfn17kQi7+ DiUbWGotkmAdzq+35sGR9pYLd+x7Xyr5HSenxm1OdgolbSVAIRsa+srZoCHC+oKJiNXI RLVdE8C2zeiMNavZwyCp/6scR63gRoY5tm5C4iM4q0uVBRb170Y54feI5DvyAtY13RIJ vobw== X-Gm-Message-State: AOJu0YzVYN+C9F7nfZVQ/K1Ce66NRwcce2Iacgmgg1rdh9GgOP8UA7xF xcwC8ggNHuyEPsvAnJx3tbtu7m6ktmI= X-Google-Smtp-Source: AGHT+IEiNAHsJSsEL0lzWtEV0jlSMoGRwIuXTjt9x8cRvat/Lna+cbvRMZ3cAaoYbQERa3ovYzhSqw== X-Received: by 2002:adf:fcd2:0:b0:320:fc:97bc with SMTP id f18-20020adffcd2000000b0032000fc97bcmr6299753wrs.1.1695666527376; Mon, 25 Sep 2023 11:28:47 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 12/23] bsd-user: Implement mmap(2) and munmap(2) Date: Mon, 25 Sep 2023 21:26:58 +0300 Message-ID: <20230925182709.4834-13-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -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: 1695666631042100001 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 42cd52a406..893881c179 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -594,6 +594,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 Tue May 14 22:54:37 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=1695666911; cv=none; d=zohomail.com; s=zohoarc; b=jB3bjlpBnYce4N0taposWBhinSidu/NoPsP9rKvYifVcU9W+5AiIQjnopiF/J1Dh1GE2+GhPpVwkf375MLxbGqo5+bqrYfSrvSa89XVWCfhyyRMC7OE9AK9A7EMaJXMnf567Qb3NGsvrEbdhEpOcAAoJmRU+dobLzbdtreBNQRg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666911; 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=QZeOll8BQ09ocoWniNo5vad8KtAP6sMIVNw1ThVgqlQ=; b=TRs4Ks+LC8O/dSWHLH9NwlM41h4F4XJLfUHllpTVgEvzoWQwKRPKxlZ+ZLG/2BeUGJNU7ERg8UvAthGihvwyevH8Pxq9twGpkcwiD9HP2Cy+6ECjFjJRgqrOYH8atRtRBNZCzAcNg2Cn9E43HNesl4HzeiRgwtJTYpObjV7ZeL8= 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 1695666911958574.0481003771094; Mon, 25 Sep 2023 11:35:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKL-0000Rv-Hu; Mon, 25 Sep 2023 14:29:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkqKC-00006V-O1 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:52 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKA-0007og-Nk for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:52 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-32329d935d4so2228771f8f.2 for ; Mon, 25 Sep 2023 11:28:50 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666529; x=1696271329; 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=QZeOll8BQ09ocoWniNo5vad8KtAP6sMIVNw1ThVgqlQ=; b=efZRDnTDJFR1qR0GyUO/Qas6XVSkZyyoTXOrVK6f5iqla7avHGZtqG4ojKYOKdWTXH y25BvyO6FkvBDustozxUalR+jHvKz7Qt7rdXra63yU67D0v1HazOMHcxSNJyioVrL0MO sbSJJIsVHSSjK2G/kwOyt2Em82u1Uq3Cogj4bwR1trEvdxWLG4g1wi9fE68ou5zFpiq5 6JNbiZ4S8Gan7lFvgQUp0auuaT/jocLolKnRoc3CXDOoEKJvnHma7JgqT5wapoYDbAtx fkkD1YHvh3Df2UA56FScH7tGdLS0JTjktFRa5x1mjCzaREFhAQ4S0Th4pi+CSZLfY01M bM+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666529; x=1696271329; 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=QZeOll8BQ09ocoWniNo5vad8KtAP6sMIVNw1ThVgqlQ=; b=W2s+OLoqBNpOaYLaH/OrphuR/UX74PHOgH9HenSG+y4GggBiH+Lf/aY6cVID6XlCTm RiCuoIwFIKd8eyLV3Y+D6lOEvOnoiBGfY7zBFsxJQIlllWfbxloPof4Un4AuYy3/44xl gRiDklamsj9fJLXnFvShqwnMoly9Rnslrt8HV8dY6extFbIuyUe1V/BUjnL2ns1VE05C nPpUMBeYASqb7GkuGf0iUcflYSWi6IpHhokO6BNSGCbyiKIKLc8X4sgmDYtczjPfl8io OehMaYU2Ufq959ZjBrfWvb1l1ZczaZ4ZytlUVkHt69RcsY2v9fziP6XvI9U1gF6A77t9 S1Fg== X-Gm-Message-State: AOJu0Yx0DAySKqYSO6cthLiFjZf4v6iMNXy9qQq/Ksy30gPNpWq0JDKW xPKZ77sqJ22UJzIydDYbhTextJry534= X-Google-Smtp-Source: AGHT+IE6kLrCyB5Kuu3h7QHMhy9/CeQhuC1ke2xP6mw8LE7N+nbmjLImRJPpoNZM/a8RuMpyxcBBBA== X-Received: by 2002:a5d:4e91:0:b0:31a:d6cb:7f9d with SMTP id e17-20020a5d4e91000000b0031ad6cb7f9dmr6875262wru.24.1695666528718; Mon, 25 Sep 2023 11:28:48 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 13/23] bsd-user: Implement mprotect(2) Date: Mon, 25 Sep 2023 21:26:59 +0300 Message-ID: <20230925182709.4834-14-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -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: 1695666913873100001 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 893881c179..74c0624637 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -603,6 +603,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 Tue May 14 22:54:37 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=1695666829; cv=none; d=zohomail.com; s=zohoarc; b=JnFJMUfdbEFpPKMIK4xmv2FcEd5Z2YqyfMvxnwyWQSlTVuETkAE6EciMwoPMpYO0QiIPhdpfG6xCTcWnfTuSXdFzHKQVfgdY6a3rpMoH4um35Hl7Fe9LosoxOc1eRDWCd5qqZYUsB4dml/M8jmysN2Elu+4HUDam7d1aXoR/l5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666829; 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=gIuhrcV4QbDTEzQ4pUfV3QzwLu3vit3RoCqbf+B/PKA=; b=RS32+MY39oYK2odIlMsrFSdcJ5MlP1ylAzkurH2LtwLwpiyqo/k6eofIMIpxh8joMR9q2Uxmp33Kqx0RQxbDFClwwNw/GkDozy6PNqIC8TNIa3Bb7qxfDiXIauC/6qnVHJI0mxPZC0SNNxpo9h7IdPrOQ5JDAxcdB3IF1sUQ8W0= 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 1695666829407112.96220557862137; Mon, 25 Sep 2023 11:33:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKI-0000Kw-Du; Mon, 25 Sep 2023 14:28: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 1qkqKE-00009V-56 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:54 -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 1qkqKC-0007pF-27 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:53 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-40535597f01so70428525e9.3 for ; Mon, 25 Sep 2023 11:28:51 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666530; x=1696271330; 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=gIuhrcV4QbDTEzQ4pUfV3QzwLu3vit3RoCqbf+B/PKA=; b=igUYdh7RgGKorxW0nYGxNOIUe8q/GQ1GVbdBdeD+i8x2CVB+WNyV9rdot0gTwd3uaC sEBbJ5CzfQi52qZQ/3XiJHdN+XdCrL2aRTCvQ94QFVq4MK/m6AkOuF7Qh/JI86ah6ZD0 +0OuICTAOPcyv0jJkZLVyouq6xOukxvJKWBSCfg4o2lLLD76VYnAAtywVgBh0f+x5U/w eE8OFKYVa/UGOXmqgJzlP1O73L0Pw+u+fVzDIlvA0E+cRxyaUsE4g3G5pcm2XZ1A7KJP PDwBI4/+3W8kXm1EKXSm4269S+7zw5YII9S629VbHyz4i/hZOo9fayGJHsVZHLQgZi9A SILw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666530; x=1696271330; 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=gIuhrcV4QbDTEzQ4pUfV3QzwLu3vit3RoCqbf+B/PKA=; b=HMIPJKi8vyVeGmseTJd/HHc4H7gG74w/FCxx46Q1y/NJE4yaExm6WaXeP3lEUDlJ8Z pXq67ykc33yQcsYClUQm1n6U9PqaotxU7FCWuzcsv+4n6wR7fAcFg3c+hPkVWu+AclGt AdG4QThdiwE2E2q3Xy7rfvXjgXkw9QIACyPaGbVf1jSo8dkyukcVPoK+DFQ19iSH7zc7 HuGUvswwWrDIZTaQOvVle4pfdeZo428ko99evYf4oMYGUy0HTO9S65X0P5QKha6H7BgH 9RO5KD7Dp9uOces33s1lTTUFg07gkB4afR2CAyI3Fu99Ek4kuMsabTlaXaIuEkve3lL6 EX7A== X-Gm-Message-State: AOJu0Yx6JBAxRK7jYF1lwGEwCZ4Mcnn3V5Ona2iEUgyullVhf8g5t52s klvCfcpEgzYfK0fIp+MLTFhlhzYLMR8= X-Google-Smtp-Source: AGHT+IFfJiUFqkjiIC22TEwmaeUg76dHh98k174I9w47YPucMh0DpQxgj5hirG12AvUwjYxsddWG7g== X-Received: by 2002:a5d:4a8b:0:b0:320:8d6:74f5 with SMTP id o11-20020a5d4a8b000000b0032008d674f5mr6297503wrq.28.1695666530022; Mon, 25 Sep 2023 11:28:50 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Kyle Evans , Karim Taha Subject: [PATCH v6 14/23] bsd-user: Implement msync(2) Date: Mon, 25 Sep 2023 21:27:00 +0300 Message-ID: <20230925182709.4834-15-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695666830806100001 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 74c0624637..5aebb18805 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -607,6 +607,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 Tue May 14 22:54:37 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=1695666697; cv=none; d=zohomail.com; s=zohoarc; b=ErIxbao+w1KaLLfJT4Igs8XSy2QT4xEtSNnub8LEqV+g4IJsXqKS5XIDnV7OHPNPfUOBVDOBkdjupMGUACLulBLB8E8I2TetFLOhC3AtY5ZKXrS92RFGorjJmqeTeoJdKhLXmlzbcnBQDefZfsm9eUk2uvffXzOI1s53Bg2zr4c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666697; 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=1y3QJ3NO1OpevaAaEL6gS3rKqXE25lyRwf0WEycZtJA=; b=jbEpFZdZ0wzegABzqISEcrfbiKCpMQemiu8j1AokCh2A47w1Z7DvpdCn4EBkd8iEwjDEj2cH1R6TUlbqf1KUqwuxzLZkbrOcRGj0AX6v9obxnI2sHrSg//bcieYHATegcCPrQvls74gURG36tu1Q44+cNIhmtZrxbxKtPXo+xi8= 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 1695666697794592.9752731949208; Mon, 25 Sep 2023 11:31:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKM-0000U2-Dq; Mon, 25 Sep 2023 14:29:02 -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 1qkqKF-0000Am-3y for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:55 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKD-0007pw-92 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:54 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-317c3ac7339so6846724f8f.0 for ; Mon, 25 Sep 2023 11:28:52 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666531; x=1696271331; 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=1y3QJ3NO1OpevaAaEL6gS3rKqXE25lyRwf0WEycZtJA=; b=k+BB9sDiPQcdPRHJYaBUbx9FD6FUTbSGHLI3hnMjcojfcMsxnuDAaRzYroXyD5d9lK 9tUatAVamKCg0IqSILQbY6HsyGeBPdpbGCDakFOBvROPivVcNoOAndlUUJuA+ER2wl2t SVws5Ov5C+sFi6VYdQj1VtJ7jpKv88TYLNNSnkHLSeMCgxfPB35CBOioipJkrus31nS9 amp+L0YX5svCqT7SuwufMWm9/M7RFx7Xx54nrg/l4kQk1lz4NzAQrB1hS2ViTwgPVM+D 1bxE81jgRlQlGqB0ukVNYLMYz2tgo5XAXx5/Cz0a8PxDRpbWhMNhtfWuN6PSvZPdPjuK l9OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666531; x=1696271331; 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=1y3QJ3NO1OpevaAaEL6gS3rKqXE25lyRwf0WEycZtJA=; b=ICkdaNJ1wMUtyKJu4BNUsfekoPYajE4BmakVI4ybvhsGT4SMKyUrfXpyX8dpPRgeIx wfg4twWhEUjd/NmRX12L0wAIxCHW9OvFRWmERPcNro0a4vYM/2OZ9/jHYenqjWuJGCKy Mlo0aMexOThwWencnH2axTZpkiiwT1KUDSJWfg2g4PZ0n6D7yizahypJx5yRxtto7vdi GyvWPQFFYlwGrL6xqvp5q7GjgNhi5BkCQXIVm17GBmKKvRLKIzugTY4TNtydkLfiyhlS 2rMQ6aFR+o0vRdS6i1Lb9KHIO359IHibumL/3beIM4h1QnduH6mMaNr4i7w3JU9Be1TT lmhA== X-Gm-Message-State: AOJu0YwXkTomjlt5s7kdWpWgyXVNOI02me3j1T2wkEM7v79hUjkfkRu2 Lf+5VsmcIcw+AbpfutK91FOU0jJvyFk= X-Google-Smtp-Source: AGHT+IHFqZue869k7pgkCQ3FhCcmijp+r3RLuCJ5KWFWV6p7753WbaNht+15d3PAKjbSEESZNjXm7w== X-Received: by 2002:a05:6000:1148:b0:319:6caa:ada2 with SMTP id d8-20020a056000114800b003196caaada2mr6809319wrx.47.1695666531371; Mon, 25 Sep 2023 11:28:51 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 15/23] bsd-user: Implement mlock(2), munlock(2), mlockall(2), munlockall(2), minherit(2) Date: Mon, 25 Sep 2023 21:27:01 +0300 Message-ID: <20230925182709.4834-16-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -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: 1695666698303100001 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 5aebb18805..553578708b 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -611,6 +611,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 Tue May 14 22:54:37 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=1695666553; cv=none; d=zohomail.com; s=zohoarc; b=Z8qU8dTRGjW6oGf+9KLMXoCafPy7rt4syxLEYKCqJfH2iFXJlum/OJ+1507K1xxi3HE6tgD+Jl4Xm0EXv7y4Fs0B0OxaiDWv0igKphHs7oJ776y4xUx8513Uyq+lHAv695Qt+66uX0Y94w0EvKDYYPRWx5DtTO0Oz8al6CLOe24= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666553; 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=FYIaVv5fzpG/4IW8/3zE5TeazHpFYJhJio5PGpCXaJY=; b=n7RkUl7s4hma43iZnr/akdRFqjr6UY/0xAoPy9lkF4td+YpoFAnPSD4IJld1xLUNJ5w4BpXHbG6t7OeUwRUcEAgyZsmkEMG/mZZdjBki440MMT5HU5mCAlMWXqGko3djI97Xdqzv/B+0FXIa1rm7eLJAL880n+oylieNTnJCRX0= 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 1695666553539526.7745646641866; Mon, 25 Sep 2023 11:29:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKS-0000VZ-32; Mon, 25 Sep 2023 14:29:09 -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 1qkqKH-0000Hz-IF for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:57 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKE-0007qL-Fy for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:57 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4053d53a1bfso59036895e9.1 for ; Mon, 25 Sep 2023 11:28:54 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666533; x=1696271333; 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=FYIaVv5fzpG/4IW8/3zE5TeazHpFYJhJio5PGpCXaJY=; b=L4F+QMofrjyu7wIRm2cZ64fuPBWaN8NF6SYxqk3rACzKJpTVf8+NfkHukfnVhfSuFV 7FqYSrJYsj6E2N28exGhLORW5+nXYNYNrvjfJKXtjPGJqW+CJk6v2e84pCOSvi5U7/hI Q57WxUDeCP0g5d59Io1zxVrKmUoq4U3Gb/Lvi5/0+dZbGJECoZfyy8yvgJsPT133D8YE mYxy6iohohooOtc9ZMDmMlQwOWrkZ+4FHiOmTPzHxA1sgA1ebkXESLUV8Qq6oxPBA0fP nFKHgNWcNgBt/TZXSK5o35CYBKQggx1Jtr4lSxiKK6/5pbK5OjlkGravpp7rbxB4Qhs1 7dVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666533; x=1696271333; 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=FYIaVv5fzpG/4IW8/3zE5TeazHpFYJhJio5PGpCXaJY=; b=Jl0JbPW3suXxSgcfI5DpFxTcgqHED0gG+j4E4jL97L8kBYGmgb5Owsvaly2dKB0Ito 6boJ707unB5rqM9mO276YhQwPpD2jGczPniH8smkewhvCGAi1guYmf+wXKTcGsjxSsHi h3Qct1I7CTtaF5FsfZdoTqFRi305Tq4Gg02oPR6jJiiAk2zy30v9vUmBuipKKKiukm/p Rhw54DQKYTS7HK8dpW//yDdGy6U8OtytJaiJQq8RVPuSCNVy9Zo2am1j3DYHOc8aovBE VAbEqBRTjDF2Lps1KXZXfhldfyC7Tz6OZq9Wlpmi23s/mQeAp5gzO2SRAIOa6VYO4vZX 8Nog== X-Gm-Message-State: AOJu0YwlAyylVz9zA8nRwIM0z0pcy8W3L+HzQYm/1x5FETtUQqX5HExk sO2Y4ixzqXWYKKJodejVBPIKRDG1DfM= X-Google-Smtp-Source: AGHT+IF1TNzVfGN1GYl5LPOYfdRkudAu40mE/Ejp70tJQGOJkidOprOga5zVQXsv5MeWmGohJYSpVw== X-Received: by 2002:a05:600c:3b89:b0:405:9666:5242 with SMTP id n9-20020a05600c3b8900b0040596665242mr1269196wms.31.1695666532509; Mon, 25 Sep 2023 11:28:52 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Karim Taha Subject: [PATCH v6 16/23] bsd-user: Implment madvise(2) to match the linux-user implementation. Date: Mon, 25 Sep 2023 21:27:02 +0300 Message-ID: <20230925182709.4834-17-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -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: 1695666553765100001 Content-Type: text/plain; charset="utf-8" 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..b00ab3aed8 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 (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 553578708b..600d048120 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -627,6 +627,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 f4a5ae2a12..929b155b10 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 Tue May 14 22:54:37 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=1695666870; cv=none; d=zohomail.com; s=zohoarc; b=O3kWeZtakL7Quz/eWE08aNdmS+YG05QlFH7fgCDD6PLA7ALsEj+OyF1Uc3zIJdAcGHbDsCMZArKecjJqk4d8d2XI1hI7VAQf0QxSzMQsujPGhogkyMiVTOWMqOB4ub0bL9lt1CDq0UMCPvAj4F63XpK2/zriSjS3u0SCMLkv3kY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666870; 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=/iih9dJ+hepR7tg2MJ1JLAU9zFKmgRDnfWByt62B4ZM=; b=PJwumdyF93kLCqZ91a0w56x4fKSBPhtNouCQqnFeXJ7PNfVh0n/vw1Y7pBI0CMLOmwZ0TIp8ddqV9ykK1HMm3eF7N3S5ZRKvmKvnOB9K016GSrrLXp1TSRlRDVhd2f1KYj6QT5eenovT3H+yEleX9/o3e8tX2vurjDjjUhZ0vUo= 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 1695666870454397.8580092711537; Mon, 25 Sep 2023 11:34:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKr-00023Y-FR; Mon, 25 Sep 2023 14:29: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 1qkqKI-0000LM-Go for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:58 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKF-0007qa-FG for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:28:58 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-405361bb94eso71193895e9.0 for ; Mon, 25 Sep 2023 11:28:55 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666534; x=1696271334; 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=/iih9dJ+hepR7tg2MJ1JLAU9zFKmgRDnfWByt62B4ZM=; b=igPvqPHD3tRjW828ye+AYHufd/yDGzORw9to5uF/d1iAjdzu2HnuhoJkhBsj9912zc oOdyQxRXbxERXEMAoLAY4qJBJhRCqMvEC5L01GmHDkvk+VZym9rGsTlXjB7xaUzM3qtH ZMwP6PAhabYBOJ9d1EP3FnPx6cZSIdyfCmotHbUvtqLr3GyBYcs56P8B2fUfUVsAv8x5 +ptkR/HjETpcZhAMHWzr+h6q69CBwJU7kg7bgk7O8csmeoIAhzbKAaR3PVrnx0uV6rK1 saUuJ9V4NdX7zDRSY/ortj5OfX6E1WWbfgtXbAY6a+lLk0FU5jsuEFaE/kTyNhqh3d2s gxEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666534; x=1696271334; 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=/iih9dJ+hepR7tg2MJ1JLAU9zFKmgRDnfWByt62B4ZM=; b=pceqb6c8606us71a5guX3nmrBFQ838+f0i4XngUS01B0gaV+HYcczpDnKt7B1wWt0c zBOJa7PP6A1G8aVqK924FwIHO6XFpbFqxLHrRaKUVLhyaV9xrFA7uCnNcwaiBt2yKHLq 77EDKiRwj/qrMGf7dCVudDt9lofGQXG272eHcrGrtyaotmpj+xKA0OAKxphTaYtZxkab WPqVwTPGtzyx6XXwHC64tXihu3A85PtD+DkwM4DHR8sM6IUPzsFZq/C+iOQcXZDCXw9P Ye5tyzHPJ9TKeKYcNFMDvZyVkwFamtVr7alOqCkDrIIZr1ISiY59yiAU/+p6AoVkjmaD OzqQ== X-Gm-Message-State: AOJu0YxOkMTGNuJYCQs9VqBRfzi+lyfih4wCqI5O89nKS00cJXHCE7Cp wHjvks+NC9LX7F7vXHmtzjeFI8NuzwA= X-Google-Smtp-Source: AGHT+IGFEjgs2cxPzE/iyoRHKsPJgc7iuBtatBFAUPDymP4jLOgP54SWwCWF7aXpeAs3Xkg4Cu3Z7A== X-Received: by 2002:a5d:6101:0:b0:31f:e761:d47c with SMTP id v1-20020a5d6101000000b0031fe761d47cmr7052375wrt.32.1695666533663; Mon, 25 Sep 2023 11:28:53 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 17/23] bsd-user: Implement mincore(2) Date: Mon, 25 Sep 2023 21:27:03 +0300 Message-ID: <20230925182709.4834-18-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::329; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x329.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: 1695666871552100003 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 | 23 +++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 27 insertions(+) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index b00ab3aed8..0c8d96d9a4 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -189,4 +189,27 @@ 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, vec_len); + + 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 600d048120..8ba5fcc6ca 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -635,6 +635,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 Tue May 14 22:54:37 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=1695666905; cv=none; d=zohomail.com; s=zohoarc; b=eLtxcd5K9ZdHq2Pq/QrRzck3H+wp0ErFduEbBmymnuKmyqe8jSFqDE/fMK5Y8NAGH31sto20nOXLz/7f/9crP8xzXoy0Ijl933R5WF1xWCmTihaLZ0N19av8vgRZLU2qqIk0dlRJneZJNDRXLw5zF9EvKdkPyhi5R3UmrAAzIjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666905; 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=Im10dMwtttdz40+pDpdw7Pjq0vbvB2AOAUIvjrDwia8=; b=LYawREsQeBzUR0o5Q0VDUdktDxT6TrKXMRbQIg4TXoevdwYBMh1at7aY787wPK5Ub+k/aG/N8LiBLo+Qb+XsVyw3khuFglHA8BriLH+sBnX8nMPRhluwSoSL4UI4Nlh7D+a/mOScNL1sWymWZ/GFtcp625n6H25kUh9Hyo4p8Lo= 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 169566690572696.2485729105091; Mon, 25 Sep 2023 11:35:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKi-0001YV-Vw; Mon, 25 Sep 2023 14:29:25 -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 1qkqKK-0000QM-R9 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:00 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKJ-0007qr-05 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:00 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4053d53a1bfso59037625e9.1 for ; Mon, 25 Sep 2023 11:28:58 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666535; x=1696271335; 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=Im10dMwtttdz40+pDpdw7Pjq0vbvB2AOAUIvjrDwia8=; b=T7z+xWJIdI2f9hIPn09oBNwsbvxhfevHL3HPvE4kDubzoNDHJcDnokCYa/sVLZMbSC LndbxBC3d9qzBSXMmUjfGI4CH637a/CWyrT6LxASVlndrk2JMG1EI4FVqsJHyKANlkAB NSIMNGmyDqiIzSF8ZRHglkEW1VCxkS2wcErMDtrMMQQa00WxaZTUfYREa0C29aDHVZNA T6gpGnhhBu5e8pTlbO4ZVjpCNbbey5YPC6fBMN18i/5rPkTbukOBx/iiaD8S7jU11Vgf NOYWazW2HLRz4uBGU+6UY5z6WAx5L8q4kLOqgoflYKs4rr90MfNVbufiEnOQ73EfrkEH 7bJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666535; x=1696271335; 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=Im10dMwtttdz40+pDpdw7Pjq0vbvB2AOAUIvjrDwia8=; b=koHFD5SH1FqNaB/cDXz9wptaqQ09hxvyosj1rImBm3krkqXcTodzK9U+cwII87BrXf TIUwMM9BEoI4GDYWx/NealUiQM9Axbt/65xQinbWzOSzL69A/uowXl4YV1WJrSoMVmbt NQq0yEFnU+1o5Dgm1H+O3lU2+mtr3QD/kGkNoODAROGYQb+IaSZFb9gYSlk42+ywzJEc y6ecByli0x8evEduWuCKdwlXuYNAtf41SDO/LNZWFpblPc02l2EkKQYW9bHyKtZIfmEC B5QAdqaUrJwlDsR1gJbdXGrYXOcffDSvPM/w2fhPRVe0pu46LPBzJkGdrbm9fvhr4mxb laNw== X-Gm-Message-State: AOJu0Yyqi9azw9egILklr3AMqwcyrAhaMvXQ8AISAJc9wn971qzuEzmD j0kgFiCColeyoPf4FXTZUpv/ix/qjbE= X-Google-Smtp-Source: AGHT+IF0OYcydPY5dh98yTLRqzN0PFy4QXamAH5yPaU0F4+NHoTixeRVCYfvxqnISat5jLLjTA4zKQ== X-Received: by 2002:a05:6000:1c7:b0:320:261:b87f with SMTP id t7-20020a05600001c700b003200261b87fmr7498392wrx.62.1695666535166; Mon, 25 Sep 2023 11:28:55 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 18/23] bsd-user: Implement do_obreak function Date: Mon, 25 Sep 2023 21:27:04 +0300 Message-ID: <20230925182709.4834-19-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -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: 1695666907487100003 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 0c8d96d9a4..b296c5c6f0 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -212,4 +212,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 8ba5fcc6ca..5cd60fc272 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -651,6 +651,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 Tue May 14 22:54:37 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=1695666832; cv=none; d=zohomail.com; s=zohoarc; b=BjxYzUHvZTFopb2KA0SLIWGOitBI48T6TdRAbpoeLikqnT6rezcfTMhXObxJxAd0/oVF0VRgF/bcpb8Sfsvc3u4XbXGnRE1u8jYFjAEKThStDROwHwqoDB3fgpW/X2oSSJ8aqTs//trZa5LBHiG8HhaBhJvGxU369puRqHLffvI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666832; 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=Qn9zg45BrccDib3QRpTj6K0GvYzGUuL7OgrnPd2bB1A=; b=i6TubaskpzoJtbTw/PbKgsyS41nyNnom9875teJl3pymtXR0a5/Cigj+VHPL+5n5t6F64bB0958iLwGBScj+3hX3E2u81PyhTaC9bnrvpiLwpd+XeQLjmI81fqWk8rRZFXZvQgbZSfsanlRvmsk6NQmplLbj0dADrCxaX4qEumA= 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 169566683219467.87474740466166; Mon, 25 Sep 2023 11:33:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKj-0001gI-1E; Mon, 25 Sep 2023 14:29:25 -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 1qkqKM-0000Uc-3S for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:02 -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 1qkqKJ-0007r0-FD for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:01 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4053db20d03so58471365e9.2 for ; Mon, 25 Sep 2023 11:28:57 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666536; x=1696271336; 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=Qn9zg45BrccDib3QRpTj6K0GvYzGUuL7OgrnPd2bB1A=; b=eluRtK6UHkoLtgydycJ03v5sxglgmEQRz/MoowtjUhzoTUp0mxYexMaXXq8JmEsw7O cZJUn7NP8Ld4Mto1LDl/XUtc0RoAMLJXD2gLfNQLU8GqhLVX1pVZ5Us1Ebwu7TY6ymV9 mqUtGXbnC1ZXDMyspYlFrX9WbC/5hcJCaPr9PywpXpz6nhIZ5YfJ6F6diMYqFiSPgXS0 wQXFs+IyuYgR7nRNeneThwtO/8ZIGfbyz+wrh0bsFyeDvuiIL9kKNNKRmfdVlfNPDx7u 9i3EWOVATqS2FJkXkxTrxY8GQZadsU+msJw6En3Tt1C6XJSu5ke+fZhY6A0Tmi+c0AP5 aIhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666536; x=1696271336; 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=Qn9zg45BrccDib3QRpTj6K0GvYzGUuL7OgrnPd2bB1A=; b=vIY+HxCXVH4c9wjpMqnu1GdYeNUBFRDw8M9gDAatECLG28nIVR+Her9auPSw1duWIg P2E887V4F3tW/qaSbBoqq26g4XRpbqj8AELN5nc3tNo0viaUGkD5gFoXzmI6Ygn/Xe4w w1f9zysI86/FttFPQ2TrRf6OYA9r3ThKCMgW1Sft8HxCfHntT8SA0iS6+wEmNzyPlY+6 5hZtrESlIWJPrwWA5ShA2BWOScLgwLm4YErydCkOkSwjPwvWk82YFVIHvTSKvgr0FOEH xdjylNVfA8SHBgUPJ2K1h5xhqyjY7OLgDeGMYyl4sLVhxeEiHJ380dfL/8PSGepdiOTV K5xw== X-Gm-Message-State: AOJu0YwzNaCJGmzOnYg8KLR9+Zlo1T9Q1C9BUOOboXSQriMunEE/QKeB /KA7E7+gE/bbAGfucwy+uf3AV5DWoUI= X-Google-Smtp-Source: AGHT+IGUulO3PUf26FpUbyneumBxownmKwy45XWDIeNzjpG6c4FIK0k8K7e5nRubf7vHSRn/TNYeIg== X-Received: by 2002:adf:f485:0:b0:31d:c3d2:4300 with SMTP id l5-20020adff485000000b0031dc3d24300mr6663011wro.71.1695666536378; Mon, 25 Sep 2023 11:28:56 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Kyle Evans , Karim Taha Subject: [PATCH v6 19/23] bsd-user: Implement shm_open(2) Date: Mon, 25 Sep 2023 21:27:05 +0300 Message-ID: <20230925182709.4834-20-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695666833495100009 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 b296c5c6f0..f8dc943c23 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -257,4 +257,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 5cd60fc272..effa6dac54 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -639,6 +639,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 Tue May 14 22:54:37 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=1695666843; cv=none; d=zohomail.com; s=zohoarc; b=ITu+gAaocTv1hw6GnIHBW0LxMN8rLUsh8TONhxWihB6wHDmyjvH/O79ftrGgrm/ahKBHzK2SuFJwyMFyTZeiwXQTWMVknCv43tY2txZYehrn1ES6nuX2G5H280pT8EophjRoW356mvv6kL4gMbLJ4HCRfmRBZEA+WVKA0ydT1KU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666843; 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=6EwEtIsp5qS7pkISguftTlvIQuUZ+Ff4kRu6nEkFX1U=; b=SFN+crLfsNKQP6KMdN8WlswvNEFsV/vLa5CTDNg9TLOdtFoCI3yOruTCDa0Ma8g85n47GVraQ+iy9TAv0NE4s8YhCj7PqwltYaObUhY1XSSlbAylA286r0eHle0pbyapqAB1k03PpUBY4zdn+Mqs2cfjZo1UvoIXuSSjnxeodVM= 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 1695666843335655.2045900660441; Mon, 25 Sep 2023 11:34:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKs-000288-W2; Mon, 25 Sep 2023 14:29:35 -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 1qkqKM-0000VW-GT for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:02 -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 1qkqKK-0007rF-ML for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:02 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-40572aeb6d0so35526075e9.1 for ; Mon, 25 Sep 2023 11:29:00 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666538; x=1696271338; 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=6EwEtIsp5qS7pkISguftTlvIQuUZ+Ff4kRu6nEkFX1U=; b=EvmmN1pqjL4DLZh0uClVXjtOjGy1einsBjGaU2c+MYLzw6N/NxscvZUYpWsGdLTVbV 25jOG35CsfrgUV8x0wGtzuWeHH9Xug88GBpzCqJnc6g+QV3YeZ82YuJDAvDEYv5Bk0ok dPEwM9Kfa44HO08qHY5hGIsZ2cNaLkBRFdswcYblG6psUimuDS/GQIq3XR30N3isgSbm o+sbwrN24XcfPecOyUCGXJ9sUPkzXvSmwdsc2hD894tTlQ00qMsm+qlnLjEjuBC8OpgV WA840PpQqOiDc5FgyNqZj6dtUtcwu2VMtY5tludHwDYzc7ctOJm0EeoPQzyprIJVbdnD 9VWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666538; x=1696271338; 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=6EwEtIsp5qS7pkISguftTlvIQuUZ+Ff4kRu6nEkFX1U=; b=Fib6GEDmBHGnojwow1D40u0AFlk46ja4Nb0QHzeFjcgkvFes3X+bKOvPJHp39/lpwa vU2w62DHrHku5Vb9HatZElNl15w9JDTQ8YoA42YP1Ppg/ZkkNdiU7e2UMs4f5BXtdq3X gA56HPU3quNWR9bilrgPYGUzawiipgNX3kDrqJXwX5MgfXtxgdhWxK0V7QagDXb8YskR +kOAiJFCorOE0hd+dqpItXugHgx2N32rZUnljWedmmDLEf1Dtkhno/uaKjexo40SGMNw UjpMAwTtvN3R80ED0XoA2xYTpPnGgK68n2hWSBz4UEhoXtdM9rPLHD3BDbUOfEkkW8Bm C26g== X-Gm-Message-State: AOJu0YyLXP1UfL8j76VHrSsuHJHZzqDI5kIeot0PpiQ8jxP0vtMut5RV vFW0RFWWfcxtEt6D35vCScBOmlxmDIM= X-Google-Smtp-Source: AGHT+IE0cw2casVeLYNIu5MjZpYdJeRArNzEnUm4G7evb968YPVp/M9Z9VpwfYN1trJKabKq3c7GIw== X-Received: by 2002:a05:600c:d4:b0:405:3a3d:6f42 with SMTP id u20-20020a05600c00d400b004053a3d6f42mr6226040wmm.39.1695666537701; Mon, 25 Sep 2023 11:28:57 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 20/23] bsd-user: Implement shm_unlink(2) and shmget(2) Date: Mon, 25 Sep 2023 21:27:06 +0300 Message-ID: <20230925182709.4834-21-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695666844058100027 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 f8dc943c23..c362cc07a3 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -282,4 +282,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 effa6dac54..f0ccd787e5 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -655,6 +655,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 Tue May 14 22:54:37 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=1695667026; cv=none; d=zohomail.com; s=zohoarc; b=ZnI4Ch1VYiQADidi4hUeUxtrhrEpjhHfJyvXG4P/h/6fVisZdbcGQus1JejtKeIAxifm0+to3UY8ywvTh+oYZx+hTJLB7FJTW5F7fw+jtDzca4sn39bVgDlL34a9fJPEIudcPwIxBdqg8tT8quGQZOahpe0ixWUvrVtEERm1AHY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667026; 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=OlFBXfrUelyZD113NpgkyEi3DkcrK5mWFFpJAPBaArs=; b=O4sCdO495GHSMFZIofUx+d88YfIMug4YDeJv3duzgaEp6nBr8fqDVxEoyV4iAkgBIISGj3SrqhWCEdAPyjSZemmCFOAXPs4Cm6tJ0gvrOG2lw/vMpGCCDxau/qOwQHxazxFfIaiaVCTg7cWcRjiH42Qd8obHEPIfVgaKqkRW4Bs= 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 1695667026964575.0206665693141; Mon, 25 Sep 2023 11:37:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKp-0001vh-Gw; Mon, 25 Sep 2023 14:29: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 1qkqKM-0000Ve-J4 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:06 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKK-0007rL-Mm for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:02 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-32179d3c167so6069488f8f.1 for ; Mon, 25 Sep 2023 11:29:00 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666539; x=1696271339; 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=OlFBXfrUelyZD113NpgkyEi3DkcrK5mWFFpJAPBaArs=; b=fl54vCKeifTHrJddr30yWPdphbuoBH7siJhgCYzEvWXXEMn3+dT/VkwXKFczWUYfik UQQoAxTXy9ZUbOpafZCC4IMs/LkiSwOsgCH5IbfT1IdsOy4QlGFQNSCxFqNQdsgxwwC7 NrFAjWyJoimNHRGGp2aUgfcUtPDuTA7mkmL+U5FpkT6DhjSRnOEXPtXDrb9g0Yo2hxho cmxm/GUqPNbLbmqsLHa0OG/nQXfQ0LeHCQGZvDslcABFgYVheeTLTiJzZpmL1vm1YXyP VUw/qhyjfhIOlXJBhVh03M6VfP+QV3AES4G/oK0TZrVwESqAOxo9qlL0uAfPvwchGJ7t 0T/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666539; x=1696271339; 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=OlFBXfrUelyZD113NpgkyEi3DkcrK5mWFFpJAPBaArs=; b=nWzvMPXajwHCHfR7nPICXQ73bFd1w98HGWeKANfACIo0aeWuL9g5bMej7syQnHBPLi x4igeGIQuE8+rQdX7XXQOJrkxbGIOC7GSlMqS8P24dgSMEIz2Y01zaF7pd3PeJvdJqLL Q8YmJj4NQ70Ku9M0n72I1hET2i1i6z0zOP7EIelpIFUNeMjhptmlbfi1dYBV/gYz50Vl QJB3k8VWGxr8eJp510IKy6xtM1R8gvhW35HZARA8GGb/uVyavqwxPoC0M5YHP978bZyW 7oRZEU+oHELgdJ4KBBYlcNWMiOCnnkn1vAUqA83T8Zvl3uQh+ghSWGhuKRLHulH0JKyN JkVg== X-Gm-Message-State: AOJu0YzxrYUUgytQMka8ih86Yx7zhnKoWwibneV9xogQtlxpemfMAJ6k uFgfphNZSKim0eidHgA5J71/XGEF7pw= X-Google-Smtp-Source: AGHT+IHLw8wRzELDxA3JFOshkstWvRG8m5NOqqzSit33sFLynbF2whI2R2o6bSGjvgXN1BnzKiww2g== X-Received: by 2002:adf:ed12:0:b0:31f:f65f:74ac with SMTP id a18-20020adfed12000000b0031ff65f74acmr6908736wro.70.1695666538950; Mon, 25 Sep 2023 11:28:58 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 21/23] bsd-user: Implement shmctl(2) Date: Mon, 25 Sep 2023 21:27:07 +0300 Message-ID: <20230925182709.4834-22-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-1-kariem.taha2.7@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -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: 1695667027884100001 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 | 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 c362cc07a3..b82f3eaa25 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -305,4 +305,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 f0ccd787e5..664b8de104 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -663,6 +663,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 Tue May 14 22:54:37 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=1695667008; cv=none; d=zohomail.com; s=zohoarc; b=ftT2PhzXcfV8yFYMJKOxZkfE1Vs+7uyxKxGnbFneJC2kNKRzzm94bOYo1N7FuLNSVYJORREX/SPAeifnsAzXwfrx8KriVHokaYmWHPQZpceBvQAAurBNmiS2Vj12YbUT2BQpFQWdFukrQ5/8iH/KBb1/WDy9C0AUd1huoho7el4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695667008; 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=X+b+Iq4r0rMiqNqK4/5l0105lvJqo4v/7LZGFaqF0v8=; b=aOvvOoG1e9J7jxppTQ/974qQR5UiDgrQtZDOrMhXkv/A0zoB5zA2kZ+hx53jYSmHfUJHFQD5EAVq3ViFTF25wXyUtrg4Q/LomJZ+LXTZ+q6ev12Nc3y/jvhQBmtt61keyvesYnZ4a19tUQKl42ZHepIKaYngjWnapa5n3Fsy44g= 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 1695667008021760.0773720594067; Mon, 25 Sep 2023 11:36:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKp-0001vg-Ls; Mon, 25 Sep 2023 14:29: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 1qkqKO-0000Yn-4O for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:09 -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 1qkqKM-0007rc-7R for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:03 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4054f790190so55646365e9.2 for ; Mon, 25 Sep 2023 11:29:01 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.28.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666540; x=1696271340; 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=X+b+Iq4r0rMiqNqK4/5l0105lvJqo4v/7LZGFaqF0v8=; b=mZSTTX0s9jm8RRIyc2KR6b3WwaqTJM9wDXj3V9XGEcKdhEhmwj+gtRha8KdAVh6z/h xIM51JNEgoCnsJDb2vOmf3xmi6kmoaRlxQrmiJlqyvQ4fcMqQZMrXS2Q4ab9/O4dDTPl ANu0nCKxJ9CIcOadVkZ+xSuryZ8LA7KGVshJezDdXkCWAdl2ScZuHraqm3QyWdZ/c2X4 5tl4OS6ycN39d0t9cBmRCuCpV4C3Ev/5/0M8muU3phOJD2ktPO6mN00i7Lf9o8jFAptD 9EOCmXBe4to1Wkr0XukNUtD564GuT9faFsRPgW00O+2YYcCTB/9mXec0QkPQtuhJ6/mG nTYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666540; x=1696271340; 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=X+b+Iq4r0rMiqNqK4/5l0105lvJqo4v/7LZGFaqF0v8=; b=b50DW4agXyhAPIPwOpC7XKYm0wXp3zgk7rkfj6hfLApTo+ILa2LpguBLcKVlTv1KQi GoxFfyaR96niEG6rKCmhalOJFxoF/ehvpT5E9YmasD2/95jZGbg341rLj5wfN294qRqE B7AImNIp3BR8EMiSADFQ28j2uCnnmuNKQ7F74BKbADVNgtMMs3dKeDAwFNW5GDAK7PdY NFMyoxl3rnfEn8LCPv+o0gbTpvH7LE7vsi0w7IrQ9+fxpX/goAg9qwopd7wwk1v4Zynr +hAsUdAHbiY05BkpenLHgQXfSISjn7Xfz3wd/dKgDgRKhg6NJe7OCRL9knL542mT/Kxv G7Sw== X-Gm-Message-State: AOJu0YxwYMKnAjOUGIvFVaT2UdA6m2WK8BRtVO9C6cTnFu6SWa6Pf3xx 1JVIQpUB4YvVg0glnkSO6LDA3cVpoFw= X-Google-Smtp-Source: AGHT+IHALENbPHAYxE01EAOkDihWg+iR71uDQMAh1E108B4jfC4xM7a1lAF3aDm49xO5oRYSypB1CA== X-Received: by 2002:a5d:4c85:0:b0:321:5d87:5f7c with SMTP id z5-20020a5d4c85000000b003215d875f7cmr7005807wrs.30.1695666540199; Mon, 25 Sep 2023 11:29:00 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Stacey Son , Karim Taha Subject: [PATCH v6 22/23] bsd-user: Implement shmat(2) and shmdt(2) Date: Mon, 25 Sep 2023 21:27:08 +0300 Message-ID: <20230925182709.4834-23-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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: 1695667009664100003 Content-Type: text/plain; charset="utf-8" From: Stacey Son Use `WITH_MMAP_LOCK_GUARD` instead of mmap_lock() and mmap_unlock(), to match linux-user implementation, according to the following commits: 69fa2708a216df715ba5102a0f98468b540a464e linux-user: Use WITH_MMAP_LOCK_GUA= RD in target_{shmat,shmdt} ceda5688b650646248f269a992c06b11148c5759 linux-user: Fix shmdt Signed-off-by: Stacey Son Signed-off-by: Karim Taha --- bsd-user/bsd-mem.h | 87 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++ bsd-user/mmap.c | 2 +- bsd-user/qemu.h | 1 + 4 files changed, 97 insertions(+), 1 deletion(-) diff --git a/bsd-user/bsd-mem.h b/bsd-user/bsd-mem.h index b82f3eaa25..c512a4e375 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -344,4 +344,91 @@ 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; + struct shmid_ds shm_info; + + /* 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; + } + + WITH_MMAP_LOCK_GUARD() { + void *host_raddr; + + if (shmaddr) { + host_raddr =3D shmat(shmid, (void *)g2h_untagged(shmaddr), shm= flg); + } else { + abi_ulong mmap_start; + + mmap_start =3D mmap_find_vma(0, shm_info.shm_segsz); + + if (mmap_start =3D=3D -1) { + return -TARGET_ENOMEM; + } + host_raddr =3D shmat(shmid, g2h_untagged(mmap_start), + shmflg | SHM_REMAP); + } + + if (host_raddr =3D=3D (void *)-1) { + return get_errno(-1); + } + raddr =3D h2g(host_raddr); + + page_set_flags(raddr, raddr + shm_info.shm_segsz - 1, + PAGE_VALID | PAGE_RESET | PAGE_READ | + (shmflg & SHM_RDONLY ? 0 : PAGE_WRITE)); + + for (int 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; + } + } + } + + return raddr; +} + +/* shmdt(2) */ +static inline abi_long do_bsd_shmdt(abi_ulong shmaddr) +{ + abi_long ret; + + WITH_MMAP_LOCK_GUARD() { + int i; + + for (i =3D 0; i < N_BSD_SHM_REGIONS; ++i) { + if (bsd_shm_regions[i].start =3D=3D shmaddr) { + break; + } + } + + if (i =3D=3D N_BSD_SHM_REGIONS) { + return -TARGET_EINVAL; + } + + ret =3D get_errno(shmdt(g2h_untagged(shmaddr))); + if (ret =3D=3D 0) { + abi_ulong size =3D bsd_shm_regions[i].size; + + bsd_shm_regions[i].start =3D 0; + page_set_flags(shmaddr, shmaddr + size - 1, 0); + mmap_reserve(shmaddr, size); + } + } + + 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 664b8de104..6b32d4df68 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -667,6 +667,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 */ diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c index 8e148a2ea3..3ef11b2807 100644 --- a/bsd-user/mmap.c +++ b/bsd-user/mmap.c @@ -636,7 +636,7 @@ fail: return -1; } =20 -static void mmap_reserve(abi_ulong start, abi_ulong size) +void mmap_reserve(abi_ulong start, abi_ulong size) { abi_ulong real_start; abi_ulong real_end; diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h index d9507137cc..d67dd76827 100644 --- a/bsd-user/qemu.h +++ b/bsd-user/qemu.h @@ -232,6 +232,7 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong ol= d_size, int target_msync(abi_ulong start, abi_ulong len, int flags); extern abi_ulong mmap_next_start; abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size); +void mmap_reserve(abi_ulong start, abi_ulong size); void TSA_NO_TSA mmap_fork_start(void); void TSA_NO_TSA mmap_fork_end(int child); =20 --=20 2.42.0 From nobody Tue May 14 22:54:37 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=1695666864; cv=none; d=zohomail.com; s=zohoarc; b=d537cFGT6EFIc1HMIqnNktiZkYIRFkR/mn66v46gaVsz8l0VxbBtq9O9cveggukkpTEzQC7r3zCF88NPracp4lKfvax19xbV2lA9a9AP2Pk8vF4ilQbSTsD7pJB8B/NvgcDfb79ldzB9EIFCwMmkSBxKxxBWEOAsympDDLsruxE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695666864; 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=X4SdHGLTzFQ8VoHFc5maZ2DOZP9CSCnNto04LyR/4Aw=; b=F1fH9E68NdVM3Tdxl4HvSp+P4Kk1fC6FBhvChJPeMC2+mmmkogVy5DUNMDexda9y62PYk28u7Y4E1iALAKWWQBtmh5RLqsESqD28u4ULhGNyE/OZG+eT6O2Z9HkVYQP8I5A/6jF1vS9m3bQyjH/XloDNaDOU7sDH20X9qsYMiJQ= 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 1695666864537829.2015082207596; Mon, 25 Sep 2023 11:34:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkqKy-0002E4-7h; Mon, 25 Sep 2023 14:29: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 1qkqKP-0000qC-D5 for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:09 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkqKN-0007rs-Mp for qemu-devel@nongnu.org; Mon, 25 Sep 2023 14:29:05 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4054f790190so55646755e9.2 for ; Mon, 25 Sep 2023 11:29:02 -0700 (PDT) Received: from karim.my.domain ([197.39.209.18]) by smtp.gmail.com with ESMTPSA id u21-20020adfa195000000b00323293bd023sm3412320wru.6.2023.09.25.11.29.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 11:29:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695666541; x=1696271341; 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=X4SdHGLTzFQ8VoHFc5maZ2DOZP9CSCnNto04LyR/4Aw=; b=nYXfGEmKSgBoOLJwgEPWJ4SXkrg2w0MyOYRTog953AUclMXoXA9OEbl7TUPf51BNou uKy9v3BHbGI3sjRpWjbjRWgP3r3h8lPI8hI4Fmh7PKa7ypzkDb3Iz+p6ixQ9MT8MwYdY 0Sbs8IAh0Ye+cJKqbJVuCy39Mhhvxbv5nVYhHMKUYPk7MITEmDNUy6op9EF94OeOs04M YtCbSexI0Y5H03pfMh0fCr1Na+oqlCtJTPjAqceaj2U/HajKcfjxJp0djtbtimDVGFof CK63Eh1oDV+a6/PzMZjGNK+4A29pvBZX6Y4fxQVsUGnC5dzTv7j9TwiqLzEnrjtKyi3l rYxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695666541; x=1696271341; 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=X4SdHGLTzFQ8VoHFc5maZ2DOZP9CSCnNto04LyR/4Aw=; b=te5GT4qR0nki7rKxIwiX06+5rDrJbNmzHIwWl1TAtm05UatLNuIKACuYnxUU1uAUwU 1PpctjbApdaWyQdh08YR/5NxvCMCrTpVShOuPuCXsFoSVREkC8io8H0V9mzI/XpRJHcF Of+C6F+d+GwW8iOc8XmqyVEsYpPFLF550rBVuooKtR3X4MCG15I1Z90x5OrV2lUduTLW f5DvAb1B501QQCtaLImNR7Xin+uq3zVWSPglBfJvcDiTjt0NKnC5laMPnKIu39NOmqLl VFQZV8bHGamvC5PgmC7tFSPtmeQmwJE+jun+EHSiIkrsmJgPqgolbeMLS7lioOKdGBMc LP8A== X-Gm-Message-State: AOJu0YxpKWPzSX0zkxmFGw7R/91EL7LpDFccz8qMlL40VZ2181F0AI6o KGAuTRQ0yAXJYohsuGunj+oQ4EmCMc4= X-Google-Smtp-Source: AGHT+IEpRJiB1xLyDtQCm6IXVRaBtXsUvLOkv4EzFS2R8rXB03INLeJ+HL1pRXICYVOyxc94U/qYUQ== X-Received: by 2002:a05:600c:141:b0:3fe:2b8c:9f0b with SMTP id w1-20020a05600c014100b003fe2b8c9f0bmr6507047wmm.23.1695666541294; Mon, 25 Sep 2023 11:29:01 -0700 (PDT) From: Karim Taha To: qemu-devel@nongnu.org Cc: Warner Losh , Richard Henderson , Karim Taha Subject: [PATCH v6 23/23] bsd-user: Add stubs for vadvise(), sbrk() and sstk() Date: Mon, 25 Sep 2023 21:27:09 +0300 Message-ID: <20230925182709.4834-24-kariem.taha2.7@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230925182709.4834-1-kariem.taha2.7@gmail.com> References: <20230925182709.4834-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::32e; envelope-from=kariem.taha2.7@gmail.com; helo=mail-wm1-x32e.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: 1695666865357100001 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 c512a4e375..c3e72e3b86 100644 --- a/bsd-user/bsd-mem.h +++ b/bsd-user/bsd-mem.h @@ -431,4 +431,22 @@ static inline abi_long do_bsd_shmdt(abi_ulong shmaddr) return ret; } =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 6b32d4df68..ce2a6bc29e 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -675,6 +675,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