From nobody Mon Apr 29 01:36:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1609842615; cv=pass; d=zohomail.com; s=zohoarc; b=MWMbAjkd2rxFi+svNDWzivcfOACdrL64oH8HJcIui14cO17EMsGZXKn6vi1CUdc9qAKo2q49PS0GGx4LE+v3TCyLA4LeWyiwPfI6MHErXhsFSwVJjpqCXwcEwMF+HXU1XeAzeLdE0rh35kYC6W4hKfXtq30XgcgmAJEV+bEvJbA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609842615; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bn1x1xofG0i+QAYYSC/0bk22fkyzrXgwirO+IHzjkEE=; b=NmILWXF+6QNbnVXFac8m+ds1Ifk0j4T980Vi5QR9WKpAcvp2DfZCnSvLyvjCdGRjvh9nQk++rpl5G2jjKMM4H133VGK8gVgRBuYHkDhQgmcWxPB+qrA12UFrQgqDjSywrrAb5dF02Im9hjKsoc+qBLaU4gDHi6yUa095ttdBzPY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1609842615905530.6753825843739; Tue, 5 Jan 2021 02:30:15 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.61784.108836 (Exim 4.92) (envelope-from ) id 1kwjbC-000745-Q6; Tue, 05 Jan 2021 10:29:58 +0000 Received: by outflank-mailman (output) from mailman id 61784.108836; Tue, 05 Jan 2021 10:29:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kwjbC-00073x-Mr; Tue, 05 Jan 2021 10:29:58 +0000 Received: by outflank-mailman (input) for mailman id 61784; Tue, 05 Jan 2021 10:29:57 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kwjbB-00071R-BN for xen-devel@lists.xenproject.org; Tue, 05 Jan 2021 10:29:57 +0000 Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 86e1b714-0b99-41f0-be13-a78e65a220c6; Tue, 05 Jan 2021 10:29:54 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 86e1b714-0b99-41f0-be13-a78e65a220c6 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1609842594; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=ZJE3c1sH8M7f29FSP6zWyrqpO+hO9epJCo+tyAhCKVg=; b=eCoGbLV+s8QljVqpbscCOH3PPQjXNt6A1VMicPv4rfcYDgGy3e1PElzr QF+4Yjk4KvpnVYnC7Unpemi0M9iR88bMAcjiHWrOyKYtUD915S+jQZoLK 07Kzdcz5xGTcyJjzONZZL+nSD/9NFgmnfu2wZC5UDyhVu9IN+Qy+6U+i7 I=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: Ho8BAJ21+zox3nbzfUMXrKAjZ74+9VqpxwBkdXww9gAvD2J1TP2NhCNvpp5lFtwtllJIXy7Vca OCFkV2EPmLI0oMOIRp7EmEuLokihZHKJ7VsFlWE5RxigXCYplAuV0bPBAw2/GqyiEKpOtSyA/L QhUWDl3Dhm6361qZQmBgGfVnV43qXrWrRUBL8aqcwRSR/nqsrsltUoj02dJW7X+yO6rC9/8KHs UdX0JzCdzZcUkvHeZP5ed9oMWrVcc/RPWj+6PRge0vMMW7906GUFgBDUoYmDYRBphMJ1dw9wpI Wos= X-SBRS: 5.2 X-MesageID: 34631391 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.78,476,1599537600"; d="scan'208";a="34631391" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G0OSQuudgdjmCos59IfdGeCkYC8vBhspB+puOfRWlujDvapBBHPKiWTBrEmJtX/UDdV7Fbm3HcNAYPo7glp4DGPM0FX4tPg0I+GixCmcqSsoOcZihAX8H8gctxZZus0Lm9KghxaBEZY6K6YOWD5r1U6TBXkLM66HQ/PMFFThNGveV6oiVLYA8cfDEWahDtQv4SGwXHn/aARg/SQZSctUilyZ6EU1cOpVHJMC8GWQaXW70KjA1AO2UQR5TGFRwO8iUcrRhsVUoLdOjalrLFVi1WYuJnkLFc4J7RA9ZInKScV5iUsg10OWptCeUU6tAVLKQYLY+qi76k8L+Ip3URN1GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bn1x1xofG0i+QAYYSC/0bk22fkyzrXgwirO+IHzjkEE=; b=EanZ0ut6MqaQiNMj216Z/kGTfGswPAnZyONRrCwrcwId92tBB7grFehPrnriBsjL0Yd5UQO3xrYhjhCsGNrQcQ0RI6EOpx+jrSB/J6XUHNHpKbmiC37EMgdiUNnQVFfv2TarSf6QgnwznLUHFcKeenlaaHRl/vdqCtaUspen5MGWqybOGOfNPsKd3EzjX7imjr7Bgh20zxQQSfwxjD9UXXPQ8F1orawaN8N2sNY13P6cMMeDXES7yBwf7zz3Cnid1GR+I3QqB26NT75nhCi3ZJB+RQBxomq9QuWrGi2zbCPvsGfmFrl8ZI/E31E4mT57mzDCKw52OLpEo+fGgxZkgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bn1x1xofG0i+QAYYSC/0bk22fkyzrXgwirO+IHzjkEE=; b=I2pe1F/qdSNzBPb9mCvK9Aaky2uE4NMFBIgi/blU8MvnuO4RF5sOlBoWSOyHVN9GmREHFVUAxQIytOGLH0r9oetBYDFyZISJZcQK5RN7tUR/Vn/FS2/LUOgFS/FcA6+L8dMrOh/rkUGJ6PXoPecwwSFuQBQ2HgCLVVLn28JleTg= From: Roger Pau Monne To: CC: Roger Pau Monne , Ian Jackson , Wei Liu Subject: [PATCH 1/2] libs/foreignmemory: implement the missing functions on FreeBSD Date: Tue, 5 Jan 2021 11:25:45 +0100 Message-ID: <20210105102546.88462-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210105102546.88462-1-roger.pau@citrix.com> References: <20210105102546.88462-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PR3P192CA0007.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::12) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 05b41701-ad47-41ac-04e9-08d8b164d626 X-MS-TrafficTypeDiagnostic: DS7PR03MB5525: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gFKXX+AQztlw5qBZOpEnwh6AxLNFubHOINcsmPkX7+4NEZPY3jMPeunnimH3YSVzFqkuL8BAL0QrqTdi8ZN8Ms0l5TMxdaatRlE10+7kpMJLTkMlX57IAa5j1+nW0+OtP5aP4z+MZHaNHI2fseebn1c684iPXqEyoQEWBt3HcVfZ8j4czXzNBH8/REdG+h9kLOh1jUdX9LtF/jvVJzA9Fi3C/A1+O0KFpG+BMSvJZ1NQehJsmDxbqM8CyBdOpxtsIN7vTuDdhnDx3jWmrHchb8uvm4wSBg0463WTUVvA9AuhYZF7D1YC7jkvxlTLX1YYGMdbkZzBiPElJ+D5yhR4j5MK1srhk8ofEH0G/OGSfnq1s36R8BPR3nji90YKdq6A X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(366004)(396003)(39860400002)(136003)(66476007)(8676002)(16526019)(478600001)(6916009)(186003)(26005)(4326008)(2906002)(1076003)(6666004)(66946007)(5660300002)(66556008)(956004)(2616005)(36756003)(6496006)(8936002)(316002)(83380400001)(54906003)(6486002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?MXJwcUtseEVXUW44ODZ3UVdqbTJRTDgwY1ovN2lBQStLcXZDbTZROWFRKzRz?= =?utf-8?B?ZGVVbWd3OWo3OG9ydW44eTJoeTYrTXRnUXNuNjZTVDhhVlVvMHNFVUdMNzBt?= =?utf-8?B?NjUvU2hzY1Y4NStuQVFmcHYyRlBqVlFQOE5aMmNEekJabGJDRjJXcFlJK1Qv?= =?utf-8?B?MVkralhvYzhKdG1BUHZrbDI3bTJ1VzZ6WG1XN1B5YkpUTHoxZ1VjV2dQQzh5?= =?utf-8?B?ODRqZ3FhTFg3QzhIS3R6elBIazhuclZVRHlEMThnTmoxaDd3dkM2MDUyREFP?= =?utf-8?B?OW9wWGtMVVNjd2tQMUlnODNvTE5ZQXN3Y1MyeUZJZWRCalFaQXpPK1JuZFRW?= =?utf-8?B?YUcxYTdoZUlBOHZZZlVmSU5FQUVHUWk4NmdHSXRuaE9HSDFsWnNvT1dvMmJj?= =?utf-8?B?ZTRvOWN4MGhxeEFkUkN1TlRiWjUyYkFhalBpaU5HMWdUekZLMGZEWklGT0FD?= =?utf-8?B?SWcwNjlGQUl4a0l2Vi9IRWd4Z2h1ODdBZnFVTjVCbnQyL1kvTk1Ycy81L0VM?= =?utf-8?B?V29CejBIN3B3WUhPNG1HTitnbm12QWFxa2pnS0VGOVoyaXB4S1lKVmN3S09t?= =?utf-8?B?MkduemFXVjFGTjhHdlVxRUR6NFE1akVJRTFHWk45WkorQ2d2RUVCWXdFR1lV?= =?utf-8?B?Z3JxS0ZSeEpPMjgvOU5CYkxaTi94STM3M0FNdHhVMDRKU0NVbVA3WHQ2MFIz?= =?utf-8?B?WTdFc1Q2Uy80VWV5NjRzQXJGNlpTeWlhMlZ2YlNDU1hKbzBXcE5pZHFvSFVo?= =?utf-8?B?SWtZR2QyTWRPYk0xc00zOHZLRWFOazB4aWIvL2hzdFZKSEhZcjI1ZjFFRXlp?= =?utf-8?B?SnRoakVpbHZPczBCSEdLa2gvRE9aMFZNTHlYR0VoQ2ZRZDhVTHN0Vm0wcjl0?= =?utf-8?B?clJrb3c5eGFTcjl2QjFWUEhoV3RFZjhFMnY0Tk1LZEJrdnhMWWJ3MEUrSDQz?= =?utf-8?B?TEQyTkJFaWwxRlhoQ1IyZ0trYkcvRENYZTRzcW9CNHMzbXVOODVaeGtRcnN6?= =?utf-8?B?RnovS3JlM2ZrN2FJMkhrODNkQ1pEQlhzdFR6RjRpQ1ZHbndyMFQ3Z2gwaE5K?= =?utf-8?B?QURnWDVNcGxlUy9EOGJGR2JoQ0o5WEozRW1HMFpISGVUVTZxc0ZoZTdXeGJI?= =?utf-8?B?VUlZallzWURsc051TmVEQVdrM0FTblZDdmVVZmVwQTNUWmRrSDErUEM2QlJE?= =?utf-8?B?V2xYaXYycytKZWcwL1VJZWhMQU5IWE9DTmlWaWhMaEM0MkRtQUVLWU0zL3BL?= =?utf-8?B?a0NUYkVmdHEvL3ZRL0pVbWNmM0lEWUZMdXVqQ1pJSFhYcFpFditQWHRwM0do?= =?utf-8?Q?OHkFt4ccL2l7N3Vouep6S+tMhVJXhERhd2?= X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2021 10:29:51.9661 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-Network-Message-Id: 05b41701-ad47-41ac-04e9-08d8b164d626 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RRsPSLuBFX/DaNGvGjGsWs2fU4npddhMd1P2t/x9mbW10IQhF6rxo5nVnfvCqAEIMm0sbt11AEh5QBp/v66Uzg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5525 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) Implement restrict, map resource and unmap resource helpers on FreeBSD. Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Wei Liu --- Note the implementation is fairly similar to the Linux one, so could likely be merged with some ifdefary. Note sure it's worth it given that we already have a split file. --- tools/include/xen-sys/FreeBSD/privcmd.h | 14 +++++++ tools/libs/foreignmemory/freebsd.c | 51 +++++++++++++++++++++++++ tools/libs/foreignmemory/private.h | 2 +- 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/tools/include/xen-sys/FreeBSD/privcmd.h b/tools/include/xen-sy= s/FreeBSD/privcmd.h index cf1241f039..603aad67d5 100644 --- a/tools/include/xen-sys/FreeBSD/privcmd.h +++ b/tools/include/xen-sys/FreeBSD/privcmd.h @@ -56,9 +56,23 @@ typedef struct privcmd_mmap_entry { unsigned long npages; } privcmd_mmap_entry_t; =20 +struct ioctl_privcmd_mmapresource { + domid_t dom; /* target domain */ + unsigned int type; /* type of resource to map */ + unsigned int id; /* type-specific resource identifier */ + unsigned int idx; /* the index of the initial frame to be mapped */ + unsigned long num; /* number of frames of the resource to be mapped */ + unsigned long addr; /* physical address to map into */ +}; +typedef struct ioctl_privcmd_mmapresource privcmd_mmap_resource_t; + #define IOCTL_PRIVCMD_HYPERCALL \ _IOWR('E', 0, struct ioctl_privcmd_hypercall) #define IOCTL_PRIVCMD_MMAPBATCH \ _IOWR('E', 1, struct ioctl_privcmd_mmapbatch) +#define IOCTL_PRIVCMD_MMAP_RESOURCE \ + _IOW('E', 2, struct ioctl_privcmd_mmapresource) +#define IOCTL_PRIVCMD_RESTRICT \ + _IOW('E', 4, domid_t) =20 #endif /* !__XEN_PRIVCMD_H__ */ diff --git a/tools/libs/foreignmemory/freebsd.c b/tools/libs/foreignmemory/= freebsd.c index 6e6bc4b11f..3d403a7cd0 100644 --- a/tools/libs/foreignmemory/freebsd.c +++ b/tools/libs/foreignmemory/freebsd.c @@ -95,6 +95,57 @@ int osdep_xenforeignmemory_unmap(xenforeignmemory_handle= *fmem, return munmap(addr, num << PAGE_SHIFT); } =20 +int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem, + domid_t domid) +{ + return ioctl(fmem->fd, IOCTL_PRIVCMD_RESTRICT, &domid); +} + +int osdep_xenforeignmemory_unmap_resource(xenforeignmemory_handle *fmem, + xenforeignmemory_resource_handle *= fres) +{ + return fres ? munmap(fres->addr, fres->nr_frames << PAGE_SHIFT) : 0; +} + +int osdep_xenforeignmemory_map_resource(xenforeignmemory_handle *fmem, + xenforeignmemory_resource_handle *= fres) +{ + privcmd_mmap_resource_t mr =3D { + .dom =3D fres->domid, + .type =3D fres->type, + .id =3D fres->id, + .idx =3D fres->frame, + .num =3D fres->nr_frames, + }; + int rc; + + fres->addr =3D mmap(fres->addr, fres->nr_frames << PAGE_SHIFT, + fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0); + if ( fres->addr =3D=3D MAP_FAILED ) + return -1; + + mr.addr =3D (uintptr_t)fres->addr; + + rc =3D ioctl(fmem->fd, IOCTL_PRIVCMD_MMAP_RESOURCE, &mr); + if ( rc ) + { + int saved_errno; + + if ( errno !=3D ENOSYS ) + PERROR("mmap resource ioctl failed"); + else + errno =3D EOPNOTSUPP; + + saved_errno =3D errno; + osdep_xenforeignmemory_unmap_resource(fmem, fres); + errno =3D saved_errno; + + return -1; + } + + return 0; +} + /* * Local variables: * mode: C diff --git a/tools/libs/foreignmemory/private.h b/tools/libs/foreignmemory/= private.h index 8f1bf081ed..ebd45c4785 100644 --- a/tools/libs/foreignmemory/private.h +++ b/tools/libs/foreignmemory/private.h @@ -54,7 +54,7 @@ struct xenforeignmemory_resource_handle { int flags; }; =20 -#ifndef __linux__ +#if !defined(__linux__) && !defined(__FreeBSD__) static inline int osdep_xenforeignmemory_restrict(xenforeignmemory_handle = *fmem, domid_t domid) { --=20 2.29.2 From nobody Mon Apr 29 01:36:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1609842619; cv=pass; d=zohomail.com; s=zohoarc; b=cfRGxUIq5uGJtz0lucjJZ4XqLBcYjAEvfp1ojTbHuo6ygj8llZJIsfcA9zrz/CKF9Y55tCCZEglPE0cqNGGkGNQXaYBuTV6boZ5Gh49cqWteewO1+1K9qm1MAkxNm6F91HkPoZXazzSklsha4iPZAX31JDYQKwS5sM2DGhl1oeM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609842619; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PMEZP4C+IxP09H0PSYuAz/LURUqWwnKgCKWBqQ8xn4A=; b=k3ohOHBpmIwBbJhDqPIeqgfNfUzJ1j6Kpqi/XKDc1UcNqKn9R4cecMe25okpBKKNYs74xLaaxeJ+SiGuIYQSGhF6zrfuL5yfV8Sf8pOwXlU//j79TnZS7ATPNHVOfSl4nvzSRonMgoJWfJly/Cq2QmoqjX92Zj9/iRi9T6VSnhQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1609842619474264.2229920556714; Tue, 5 Jan 2021 02:30:19 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.61786.108848 (Exim 4.92) (envelope-from ) id 1kwjbI-0007XL-5e; Tue, 05 Jan 2021 10:30:04 +0000 Received: by outflank-mailman (output) from mailman id 61786.108848; Tue, 05 Jan 2021 10:30:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kwjbI-0007Ww-12; Tue, 05 Jan 2021 10:30:04 +0000 Received: by outflank-mailman (input) for mailman id 61786; Tue, 05 Jan 2021 10:30:02 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kwjbG-0007Ju-PQ for xen-devel@lists.xenproject.org; Tue, 05 Jan 2021 10:30:02 +0000 Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 2ade8597-f800-487b-91a5-7200571fcae2; Tue, 05 Jan 2021 10:30:00 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 2ade8597-f800-487b-91a5-7200571fcae2 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1609842600; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=FJu63OG18aHAckstuSp2KOaCMT2Ay5JhUaC8eG9KkS8=; b=XW50Lsl39Ud9kbV8Qvsttoy5EFSRSqA2+tm0jvSbv4rl9OM39/AbKHWP wNYvIoiHvDH6fuxeyP1jd6OlmOg/YMIb8S3Q5jYjbkHb9cXHN0PgJpAsm cA2r9GzGJQqAL2umt+gaMOiC4Z1mfgKI5+KAvLaRj0vMe3fjK1VkdbBKm U=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: jwD+1rUDWwkebDl13cSUoLm8PsZ3KrklF6hzdC1Y8IF7CT3R04n8uOHbA2K3JahrtMVDxD4Oax YVwZ0t5px5TW/aRJ152jdQv2xkga6lYV2IZNJLEFTOf9nrWGxCr4Uij/OcWOgUA+fXn6SGkWf0 SgeaQOTww4lpqZgUPM/beNdtTxvpdsVd42XaCTMMsOaYxj7XLbgkEeipazWzXNyGwrT4zNnhlL HXO6Lrg6A7dLxmkjPjb5RXdWWpDPoTSRfQqAXZyCUqb+JB/OUDBWxJ1RPQocFpapakVXfNX2mR MhY= X-SBRS: 5.2 X-MesageID: 34403725 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.78,476,1599537600"; d="scan'208";a="34403725" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hcJQqBoAyzsOM7l4Cqf26BsVyC+Tmljr5NLBbq4AAV7p3rCXu9mD+Wzx2B8b+p9G6+sa6712J8yTY2L5b9oJewKu7608Tv2lOcetl2LuuLX8C733CRNUNy5ZbbQlvmQEG6FTqNTw2OAjth/QmDUtnz9Ag8ktzc3npUg/31HkJRa1Tsyfm4U5kG/RiPV/K4vJglUYcltickgzGBmzjL/sRsR+rLtYV+svldi84vogncIFJD4JOIGGVXyR3Mfi/ouRCwIcaSd5YTyC8ifpp+PtzbAoPBjrjIiWyXt7QfygiMowbuPOkoh4XtZt6mIQkSwyZdM1XdCGG8bGZGGPUFXbDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PMEZP4C+IxP09H0PSYuAz/LURUqWwnKgCKWBqQ8xn4A=; b=jjJDZoVRrFpxECt3bjufCCAmbkvqcCkG+B04rNQ7OvWK79sOP1q7Pd9AfMGhg9pAZY4tHJrSMRyCJSeMxWUg9aYUckcEDuEHCx3d37spb8qm31ViiOhTuMzeFH1GugYX6Q1p/L+QPf1wMSVDOUWsPjK14gIjvGHlTAJYi7MtJ01UGmSAxdnTwWz+QaK4yJ5cGKcju+niNHW6ZEyg9UEKqRbO1ItTZUKnAU3t72PG2qOAO1LbVutXK4a+6hnRaWp3AqKXEUXhPVd+cOLMuCnzeUqVxOGQu4MTpSQYnMTcxAf6OBYHxe7pWjso7vBx2MJeeaocv2gZjFRyxH6fguFyzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PMEZP4C+IxP09H0PSYuAz/LURUqWwnKgCKWBqQ8xn4A=; b=LXkl5rsAzK7nc7E8MP+rkkHfCn2h3TR7ZyNIqVsJ80BQ2E7HufesnV3I2u98Wv/Ja2HeW/F9ySkt77u79J1fbrwo2S6CYL10ok84MWc0ZA4UYYmrhzBwvCOeh7Dk1IIuaN3fLMDDp3ZsynywhTBgaT+Q6x4yLxllbPvoOCgd3rw= From: Roger Pau Monne To: CC: Roger Pau Monne , Ian Jackson , Wei Liu Subject: [PATCH 2/2] libs/devicemodel: add dm_op support for FreeBSD Date: Tue, 5 Jan 2021 11:25:46 +0100 Message-ID: <20210105102546.88462-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210105102546.88462-1-roger.pau@citrix.com> References: <20210105102546.88462-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PR0P264CA0169.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::13) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57bd063c-7532-40f1-52e8-08d8b164d916 X-MS-TrafficTypeDiagnostic: DS7PR03MB5525: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /V3poC5ZGw/Z1ZTgMoxr5VnHbDBiDokF2A4q1DSf/JxkC1isrUPtsHMNVx3e2UXvvq27x2lrU08oXZTQ4WxmHvKZ10LsXNfy2TwhLriIG9nNBDttjqPg+aWutfmwco82QCYgT+xV4Tj75uLlJdipRIKmG+tZLkWu9a9Zb34ZEZWbPr5/DlhY8SXx7At8+z6dZqMAVSYqQRYNgvn08/nvGqM09xpfuIgqK4mLrQ/G7hm9ft38owdErHUwdD9KobGCGk39Iy5AADIJDdks/nMDxjehu1A9tLOL/TEKpRqUc7dfhhRiJdnRWaFjf3px2Xp0+HjkU2DR7ylVSjWxyj0TBEslgpkFXedaRIp3OUOMPPFHg3ZProe8zXmCHJXjOKi2Tb/wfgeQ7r4QkJoiekc6fQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(366004)(396003)(39860400002)(136003)(66476007)(8676002)(16526019)(478600001)(6916009)(186003)(26005)(4326008)(2906002)(1076003)(6666004)(66946007)(5660300002)(66556008)(956004)(2616005)(36756003)(6496006)(8936002)(316002)(83380400001)(54906003)(6486002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?QndmdWR6Kyt1L1JyV3pYbnp2NWZTbFk1ck5IL1V5L0ZHS0c4K2s5eCs1aGxY?= =?utf-8?B?blFxeTExREdIV3EvWkJCSzJpRzd3WkxUUnVCeUw5eEI0R2U5ZEM3anhVMTZ5?= =?utf-8?B?dU5GbVh6ZVNYT3RWbDFPdTZGTVlpZHd4UmoyQWJ2NzhBbVRXaWhYYnprSith?= =?utf-8?B?ZDhCODNNZkd3Tk1KZ3ZtSGFKYXBseHJjVEVwK1VPaThKU3dBcllFVGc3S09P?= =?utf-8?B?YXBjU1NMZDlWY0VKVGFxd2NpV0w1eTlMWklUZ1lMVG1NeUwrNldmQ2JiREEw?= =?utf-8?B?T3FOcSsrZGhBMlBnWW1mSG5YV3dUNXRPd3cySURkM1Npdm9IQ2NGajRpNXpw?= =?utf-8?B?ZVVQanY1SSs0VkJoeWFDQTFNMGdEQ3hSNy9iUWtyVG16VjdJMmExQ0pDcUI5?= =?utf-8?B?S21aRjJkQzZ1bFg3WG5lMW11cHF5c0EyTmwwZUlhb2dFQnpEWk56QlplOUFi?= =?utf-8?B?L0JZQjlzUS9YSC82SkF1TkZncHBNNkppWDBPTC9Bb25pb1RwZ21SMjRMVlJt?= =?utf-8?B?bi9vU2tZNU5zRG9XYWhtQ2ZaVHlMUmpFU3ROTUhwZUNKTWtWQVR2Q3R4YUh1?= =?utf-8?B?OHFnM0EvOFNlRVdCTXlmVXRsZ25KNTBhWWp4ZWNySXVBM2VZVFhPU0dqMDA1?= =?utf-8?B?ZldaMHdtb2ZwOVFJVHoxem5FS3daZWdEeVpIL0NvL0FQUWxUaS9RTzg5bWhl?= =?utf-8?B?cGd3WDBuQ2RycFR5TTRwemE2MXdzUWEyOTFsQTFMdlNFaTZqeHMrVVROd2N1?= =?utf-8?B?SFl4VDhIYnNLQnpkU1llMHpjbEJLOUtPcjNyQUErYnREcmRCVlh4aDNReHZm?= =?utf-8?B?Y1VnSXdUTnFTVkN5QnRRekF2Z2dXWXc0bnRNdmhVUnpsVHRiVE5ERDRTc3Zr?= =?utf-8?B?cHpEb1FVZGdXR2lJdGJxaTIraWJqTk5iSUhvci9VV3k2Qy8zdW9TWitrRlhU?= =?utf-8?B?bjZVUXU1d0R6azRjdGlHU2ZLc3FyZlY5ckJMVldwc0ZNTFg4OFlMRE1xS3NE?= =?utf-8?B?dzJRMnRGL3BVSFhBalFtVHhnYWc4aFRCQXd0bVdYdEtGT3VRQi9sVzJPT28z?= =?utf-8?B?dFc0eFVkVmZ3L3crZnRVb09WUXNGY1lOTW1HSUg3dlpyOWpMblN3b2N6M1Q0?= =?utf-8?B?VW9FU3Y3WFRkdldWQTdkemI3VDJVS2ZZa3gwK2lBcm83bi9TZzFvcklJaDZ3?= =?utf-8?B?dFpUQVpldGI0NWIwMktwUS9FenJacEtjWlhlTmpIQTYwa3BXVXBVTWFZREJx?= =?utf-8?B?czhQM3BNVnB4VSthYndLN3ZoRlZXMldxeUErL2doWWFVaDgrWFBXOXVVWHpG?= =?utf-8?Q?0JJr9O79eC9hH/EWoLjp4XB3N4UPUQlJJI?= X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2021 10:29:56.9561 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-Network-Message-Id: 57bd063c-7532-40f1-52e8-08d8b164d916 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 90wSnJ74Rg4yiVv/Zry9Rx8bsLoN0GvT8b2cfw5iZESIvX4dT5z2IQfxWZ93hEHXYhVayidn3oWAHeksj4leGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5525 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) The FreeBSD ioctls have the same fields has the Linux ones, so the same file can be shared between both OSes. No functional change for OSes different than FreeBSD. Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Wei Liu --- tools/include/xen-sys/FreeBSD/privcmd.h | 15 +++++++++++++++ tools/libs/devicemodel/Makefile | 4 ++-- tools/libs/devicemodel/{linux.c =3D> common.c} | 0 3 files changed, 17 insertions(+), 2 deletions(-) rename tools/libs/devicemodel/{linux.c =3D> common.c} (100%) diff --git a/tools/include/xen-sys/FreeBSD/privcmd.h b/tools/include/xen-sy= s/FreeBSD/privcmd.h index 603aad67d5..649ad443c7 100644 --- a/tools/include/xen-sys/FreeBSD/privcmd.h +++ b/tools/include/xen-sys/FreeBSD/privcmd.h @@ -66,12 +66,27 @@ struct ioctl_privcmd_mmapresource { }; typedef struct ioctl_privcmd_mmapresource privcmd_mmap_resource_t; =20 +struct privcmd_dmop_buf { + void *uptr; /* pointer to memory (in calling process) */ + size_t size; /* size of the buffer */ +}; +typedef struct privcmd_dmop_buf privcmd_dm_op_buf_t; + +struct ioctl_privcmd_dmop { + domid_t dom; /* target domain */ + unsigned int num; /* num of buffers */ + const struct privcmd_dmop_buf *ubufs; /* array of buffers */ +}; +typedef struct ioctl_privcmd_dmop privcmd_dm_op_t; + #define IOCTL_PRIVCMD_HYPERCALL \ _IOWR('E', 0, struct ioctl_privcmd_hypercall) #define IOCTL_PRIVCMD_MMAPBATCH \ _IOWR('E', 1, struct ioctl_privcmd_mmapbatch) #define IOCTL_PRIVCMD_MMAP_RESOURCE \ _IOW('E', 2, struct ioctl_privcmd_mmapresource) +#define IOCTL_PRIVCMD_DM_OP \ + _IOW('E', 3, struct ioctl_privcmd_dmop) #define IOCTL_PRIVCMD_RESTRICT \ _IOW('E', 4, domid_t) =20 diff --git a/tools/libs/devicemodel/Makefile b/tools/libs/devicemodel/Makef= ile index b67fc0fac1..500de7adc5 100644 --- a/tools/libs/devicemodel/Makefile +++ b/tools/libs/devicemodel/Makefile @@ -5,8 +5,8 @@ MAJOR =3D 1 MINOR =3D 3 =20 SRCS-y +=3D core.c -SRCS-$(CONFIG_Linux) +=3D linux.c -SRCS-$(CONFIG_FreeBSD) +=3D compat.c +SRCS-$(CONFIG_Linux) +=3D common.c +SRCS-$(CONFIG_FreeBSD) +=3D common.c SRCS-$(CONFIG_SunOS) +=3D compat.c SRCS-$(CONFIG_NetBSD) +=3D compat.c SRCS-$(CONFIG_MiniOS) +=3D compat.c diff --git a/tools/libs/devicemodel/linux.c b/tools/libs/devicemodel/common= .c similarity index 100% rename from tools/libs/devicemodel/linux.c rename to tools/libs/devicemodel/common.c --=20 2.29.2