Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp2959887rdh; Wed, 27 Sep 2023 20:05:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGajVnJXXoN0xVR1dnUqpAgI4TeeWq0aMz3vD681RtWLGSX7CtS7HihPFgQUdEkCCoG+Mo2 X-Received: by 2002:a17:90a:e002:b0:262:f06d:c0fc with SMTP id u2-20020a17090ae00200b00262f06dc0fcmr25422pjy.7.1695870317963; Wed, 27 Sep 2023 20:05:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1695870317; cv=pass; d=google.com; s=arc-20160816; b=viJIDBaYuhcAmUmLGvShIxt8Xmd4NMbhf6My5dJzPjC5knQKbBNBZzFabHVaSZ4FyG WhIATc7axVNJiX84l4J68N7eOrWx+wCA2WNzB8xqCwcE5l5ov85D9WgkT2l9E5xJArlU QYdgmL82GHzvwJX6aWBHgs+UDEeHG4V5+IHsNINtEDQEnxYZmedQeHwhWJTLE0S5OtTe oBvIaSnycMvDFCveAuwpflODDmW11uYrnVBQVB+N2Y0pTwEadGcRKeiRp+80j5UQ9o/I aWpOqFUeUwzV7SfxdPDezC06Lv8PpJiOtXZeP0KKDLLgnx/3dh+BMRI3rVlmMKPCF60M nNCw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=0aK28ax+ZXowixrapZriDFI3M1A1DKVT6AqPWpW7sKo=; fh=W36jaRNisqqiY55midO2DveAvJe+u5FoOOaz+kNhIC8=; b=FeYxOiG2xuJmt/IHIiWMDRarEV+ZCFkVf7WrQrUWIv0DlviErsZqogBgPnmKFo0nHG qJUpFE/H7NW36DVtdFdMGzsva1bOrZvy/pRwexKZFnhfv56i3T0F2DadD/W83mvbYb1F kBvgr0cN+rt53NVP2qMC6zxjq3dcJn0C5e4/0ApTzLXDf0w9oVsVBN4T80okugr/RIbl cldBFMcKJeesErOcV6KMWNb8Y0YcANxWTUots7Akn3ZARl7+hCg0fyWk0kFgkpXUWhk2 uy7cLJAjpNTx6FWs+aapxmx6c76vIDP1ej6ciIx2LMdS1KoD1eH1WaC00pVcy8+amEFy 0pyA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=W960fF2W; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id y13-20020a17090aa40d00b002534f4ce2b6si7357582pjp.125.2023.09.27.20.05.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 20:05:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=W960fF2W; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 58F528220D66; Wed, 27 Sep 2023 18:55:02 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229770AbjI1Byo (ORCPT + 99 others); Wed, 27 Sep 2023 21:54:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229437AbjI1Byn (ORCPT ); Wed, 27 Sep 2023 21:54:43 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00B4AAC; Wed, 27 Sep 2023 18:54:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695866082; x=1727402082; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=VJc/QysescemoKOW+DykoXe9W/F3IUNeJe2VXQW9jbM=; b=W960fF2Wzdg+/nXLuz87te7ULM2xlSM0F1NyEPZ3wDCpYKENtmmHP9Jy 01TrAVKJ3zvbBjePjoc4AOGrfWSPyXUqREpJlpUSGY2VYVF/gKzUBDUJi Uj3jwQFi7WUEF4KhKdVSfWOU+ivysLuHudzYSCHfwK0JEFx8s/5u9HwHK tUHGf33Kz41MIfNtkqEJ4Q1kJku6v8xq6ScIHe/su/s2NjIwfTsBUYkbc T863seIwDPJd56LWpBVeLVqyDUPna/f73iwVJZdGuJKvxwQ7PDXTcXzI0 anLQzyaP3uLsQRgxw8VmLy7TfI3wz213oTx1BQUtDaAYEz15eWBrP+ZEL g==; X-IronPort-AV: E=McAfee;i="6600,9927,10846"; a="384766265" X-IronPort-AV: E=Sophos;i="6.03,182,1694761200"; d="scan'208";a="384766265" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Sep 2023 18:54:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10846"; a="752797537" X-IronPort-AV: E=Sophos;i="6.03,182,1694761200"; d="scan'208";a="752797537" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga007.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 27 Sep 2023 18:54:41 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 27 Sep 2023 18:54:40 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 27 Sep 2023 18:54:40 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Wed, 27 Sep 2023 18:54:40 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Wed, 27 Sep 2023 18:54:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LYHTBf0HOveVlmiKy2pFbSIcYfh5YW3FGJ9hhWWHhajb1VkIQo/VlaWS9tQKPHwNds74vs8b3xZfA2d1FQWhsDDMQ+EjfK4R9CxTCz0uYuTjsncPZHGd1OsTfse8NJpOhzr1riYPgg25jaQTa5wEXdRNyCeivWwSvnHC4C0MmwBUAoYk2bhQnDNd41lbGXKiHUzmPTgU5u3qLIu1lV0dw2noBX2ysH6f8JgDWV/b6wyCiPn6VrJhvaxiaFk4GhlbAISuz1U6NXBbx+WzMMEQa9FNZx1QJW+ShdamKjLl/WxrRcX0Thj2ZwvRFFYYECx1ZfeX7KsxAG0h6fYsaGfKvg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0aK28ax+ZXowixrapZriDFI3M1A1DKVT6AqPWpW7sKo=; b=HQa//sF2kn8sDOmgofmXoPoR7QnelzkTopJY8ElTkQOIe2LGq4VEUgxPOnjoWIEv45lJ0I/F311O6MriZOMZvfi5RYdq8nnzjJ4OyIaDFGWP3wOz2UWHRm1n6TEbjMwDk9apGCQwM0sCalKWBwBrN6OeklZi3X+cyU3RHnD5YqGx8pUiU41eVB3gKMZ9wbqF6jD6IZXAnNUCNXtpKreMzJ2S9LOoKeFJ9GJitrNCLGIZyKjXBEeESVN9TOWZlgTYuU4CEyAcdtdszgqQbMF0VWTWi3jTu7Un5wFAY4L3fV2MXhPlVboD4Pnm6PsV5ExUvY9pYK5s9w2VORQshn2+bQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18) by BN9PR11MB5467.namprd11.prod.outlook.com (2603:10b6:408:100::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.21; Thu, 28 Sep 2023 01:54:36 +0000 Received: from BN9PR11MB5276.namprd11.prod.outlook.com ([fe80::1bfc:7af0:dc68:839d]) by BN9PR11MB5276.namprd11.prod.outlook.com ([fe80::1bfc:7af0:dc68:839d%4]) with mapi id 15.20.6813.017; Thu, 28 Sep 2023 01:54:36 +0000 From: "Tian, Kevin" To: Jason Gunthorpe , Baolu Lu CC: "Liu, Yi L" , "joro@8bytes.org" , "alex.williamson@redhat.com" , "robin.murphy@arm.com" , "cohuck@redhat.com" , "eric.auger@redhat.com" , "nicolinc@nvidia.com" , "kvm@vger.kernel.org" , "mjrosato@linux.ibm.com" , "chao.p.peng@linux.intel.com" , "yi.y.sun@linux.intel.com" , "peterx@redhat.com" , "jasowang@redhat.com" , "shameerali.kolothum.thodi@huawei.com" , "lulu@redhat.com" , "suravee.suthikulpanit@amd.com" , "iommu@lists.linux.dev" , "linux-kernel@vger.kernel.org" , "linux-kselftest@vger.kernel.org" , "Duan, Zhenzhong" , "Martins, Joao" Subject: RE: [RFC 3/8] iommufd: Support attach/replace hwpt per pasid Thread-Topic: [RFC 3/8] iommufd: Support attach/replace hwpt per pasid Thread-Index: AQHZ8Fuji0mclsZAxEygwByYUuBlHLAt+cCAgADYgwCAAKoZwA== Date: Thu, 28 Sep 2023 01:54:36 +0000 Message-ID: References: <20230926092651.17041-1-yi.l.liu@intel.com> <20230926092651.17041-4-yi.l.liu@intel.com> <20230927154424.GC339126@nvidia.com> In-Reply-To: <20230927154424.GC339126@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|BN9PR11MB5467:EE_ x-ms-office365-filtering-correlation-id: 2271ce48-dda3-4476-536c-08dbbfc5de45 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HIzss2ddhvB5BAHhcXTXVjFe6kg6nlbpakBzCZwyIHjiqekrg6/P+KcWfoL72RjKwC/4kvciS2P/Csx4aa1xryapUCuBEOHxxeUBLX8NjR1i+9AaaRrbN61KBNOHCUTC4t4GXnf8OyuZSwF7kAl/YI1ElNHEHAYB3CuzrVBJFTtuo4vDTBL3LSrG5oU7VHjln4DoEUrp0aI7+K5Tyb/XfWIYavhQc5XgMYkuSwUdp0QsMAfPpz9NFmlTpP2Wciapo94H3TMyXpnIBksZSDsYaH/hLFdTvDyCMyXyKUGCPM3b82apjNXlhrZwZUrhiWBPhuMkT7iZ/1tren6pHxLWlCKPTsfWYZU9N7FIA1STOZfN1pTlvBrSxLNLVvoPRlVO/8R6YriVpxSIhOwKOEOSCwTCzod58Dwoh5larf3yB9V1eHK7RaAK7RrkbPsOmENnfKC5MXFzTEdpbqvg3+6iM/PyFB+jmaSY9c13bSbP1I49wU5KvoaRfZFThyDd/B0SR2fxiKFYhKx7TXR81lAcS4R3vJyMM4jVgZZBN2UEZWfataD4I0vozSJO09KIeOeNkI+f1ulQ9heJCTsJip5YX8vzwhGB+v/CC08Y4sBCZceYK/yV4ZlDTTGEg0Okbvgg x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(39860400002)(376002)(230922051799003)(1800799009)(451199024)(64100799003)(186009)(2906002)(7416002)(66476007)(41300700001)(4326008)(8676002)(52536014)(66446008)(5660300002)(8936002)(66556008)(54906003)(66946007)(316002)(64756008)(76116006)(110136005)(478600001)(71200400001)(6506007)(7696005)(53546011)(9686003)(26005)(55016003)(122000001)(38070700005)(38100700002)(33656002)(82960400001)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?TDawYCPh6e5DVxIvKSL15CFVgYYEzHKoRc8HGN8AtgAYckGB4PB4k6obYxIg?= =?us-ascii?Q?pCZUvRQJy3aQvlzB/2psPf7IOj9kREQU9t5pzBnPfqKpehKZEN0cK5RVVbso?= =?us-ascii?Q?81gnlEwoEJZSFl53M5O6uNyb0VUgk9g+GfkRGcr2Wla1l0kC+rwtVyUH9fYT?= =?us-ascii?Q?XkCutSvGVm+XWobVPwMyC3NEkNacdgaGr7U05lbbk7KMqiaEHHO8fA2DI7Gw?= =?us-ascii?Q?n3lyJtnE6bENLRSab2qXEmXNShwHDrGwfWrUBpkzmlf063m8Z5qGHoH5KO0U?= =?us-ascii?Q?chYjz3hekKbOqLEWSPUIzmCus5YGF9CKQNu/9aMwAIEkGABv9obl4/f9pkjS?= =?us-ascii?Q?Mava5e9X4NrBVfcGOMVAItj6vWYxNPzSoTqTZ0mnptr4oJ/e/aniCU/7oh/E?= =?us-ascii?Q?3gLNXM7DE9D4U7AZ7RrRcp8symwNri2cKEnWdJgcFl5+F1D16Ux7902xJEE8?= =?us-ascii?Q?Kt6cvk73Xxrrh6Run29tpEtOIwEcCpmzZoqkQNR3guZ3Oo9Q/bcFs6fV/21v?= =?us-ascii?Q?TNzDl4tjDKB/Kr+UOEY6yN019VEKQ8xZ+NA7cszqRQV/XphAKvmoOzWZ4f77?= =?us-ascii?Q?M8ng0L1kZE4nzvALG4gCuEShuZ8bDsuMWXzSZbAVoLpS8XTVX96X7f27aGwN?= =?us-ascii?Q?IJQ388JXROpdKQ0RZ2AaFPmREd2MLxlVTG/DPaYh8FDr6WLJubPw4WYSuiMF?= =?us-ascii?Q?b4cuHoqulfgttxMnYr+ItPqnbtKigKN/U/4ucjYGJhEgDaS6vwZgU9EmtFn1?= =?us-ascii?Q?khiieMvY+2EWjt++U72hbIzKyoivnnm6wTK5iqnvX+p5sSYen+2qi27sJ61Z?= =?us-ascii?Q?BR002Ll4lP5ssUUwIp7NIzthV9B7CyqKGTIwcJyTWIBTVBTUiKfQcw7+Xr7E?= =?us-ascii?Q?ndP4JTGzXd1jHzIkh8ezSx8OpQ+BhefQkU1EFV9oWlHJHIkqYWpMdfcsifaQ?= =?us-ascii?Q?b6f2u30m3hnpPopxytJjwvM7WhfE4cqM+hw4pbRWvcpFziPTphXZbAhJ9BD8?= =?us-ascii?Q?l7802RWfzbKLZjcgCNXgKvFvWTG4R7oNsETQaS2Fp3Y00NiPuw/JICFCjeBv?= =?us-ascii?Q?g0qp9aNZ0rSEvXdqnWFcbi2rYXFnDW3M3aJiHHFjfumYMlvrWw51nam6+a2/?= =?us-ascii?Q?omstdhunOtWNpqwDusii+Kna5v8eL0Hb2P2wsw0oHpPlaK3qNL8bICosKj97?= =?us-ascii?Q?7W/5B/aod46InLACVIWlys2doTj+pxrNCdKe7/Pirm4GHub+fJJfVkvwB1tK?= =?us-ascii?Q?VvzvBFmEmRSGTtLWsx7CEvEkrtULLz/5Xq3DCdBCxESqlDu7/c6Px7GQBAS1?= =?us-ascii?Q?aPOugK2mJOkvsdJEKe+r7WgosbUf5hcdhl81/13vVQKcG+2lco/QqB2HdOd7?= =?us-ascii?Q?58ADmkWehTbcZ2dO7X3YhMp/aBEaF4HM4fVKISwb2zbQQK//vV4cat1C/tZN?= =?us-ascii?Q?huwgsWygoFPEVidZJbKaHZW6je2W8+HcTYZBJdffA0fxp3YlfPkNCCfSa4L/?= =?us-ascii?Q?dD6/XEF1x5yVHxLcC2Bp/NgK/9Yf8mvqaqJscIbNbGqnRZWApmvEIIEVKHl6?= =?us-ascii?Q?gmvFM5AOin6BC8rGIbdtIIiJd3ZvzOv4AF4xq+MD?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2271ce48-dda3-4476-536c-08dbbfc5de45 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2023 01:54:36.1406 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dn68Rc+V/L48SJVt5gqEZ8YfZC5ubjDM/710eo4zsZssej7p53i7M2BXZJ7SrfUPquSToAb5ps7EIjZYDhomBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5467 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 27 Sep 2023 18:55:02 -0700 (PDT) > From: Jason Gunthorpe > Sent: Wednesday, September 27, 2023 11:44 PM >=20 > On Wed, Sep 27, 2023 at 10:49:29AM +0800, Baolu Lu wrote: > > On 9/26/23 5:26 PM, Yi Liu wrote: > > > From: Kevin Tian > > > > > > This introduces three APIs for device drivers to manage pasid attach/ > > > replace/detach. > > > > > > int iommufd_device_pasid_attach(struct iommufd_device *idev, > > > u32 pasid, u32 *pt_id); > > > int iommufd_device_pasid_replace(struct iommufd_device *idev, > > > u32 pasid, u32 *pt_id); > > > void iommufd_device_pasid_detach(struct iommufd_device *idev, > > > u32 pasid); > > > > I am a bit puzzled. Do we really need both attach and replace interface= s > > to install a hwpt onto a pasid on device? The IOMMUFD already tracks th= e > > connections between hwpt and {device, pasid}, so it could easily call > > the right iommu interfaces (attach vs. replace). Perhaps I overlooked > > previous discussion on this. >=20 > It was a decision that attach will fail if something is already > attached.. >=20 > But for this API we could go the way of the iommu code and have only > 'set' and 'unset' as the two operations. >=20 I'm not sure the benefit of doing so. Instead it makes the caller side vfio more confusing by using attach/replace/detach for device vs. using set/unset for pasid?