From nobody Mon Feb 9 10:58:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1502710731937523.449288309162; Mon, 14 Aug 2017 04:38:51 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 6059121E2571D; Mon, 14 Aug 2017 04:35:08 -0700 (PDT) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0068.outbound.protection.outlook.com [104.47.40.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3066821D0A27A for ; Mon, 14 Aug 2017 04:35:07 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1341.21; Mon, 14 Aug 2017 11:37:28 +0000 X-Original-To: edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=O/aLbizKpfD7uKPXxGM+Zm7DcNoyNcpe8K+dPfslmew=; b=W5V4A6PfrHpaN9UAZ8db+kH2q8iZ8KxIMGXmwuyyQnKNTIMmx5y5PIouD1Z2sSt1hRnMYwoXSKj4uQPce78NBqrW3L+iQYXjMn9y0lDsRMBjLjNk+eMvSnReADYGkAWU3lbkfHgsKZuPQCSqRNK0KVRk6qwSvmaq+99SpyYbvTU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: edk2-devel@lists.01.org Date: Mon, 14 Aug 2017 07:36:45 -0400 Message-Id: <1502710605-8058-24-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1502710605-8058-1-git-send-email-brijesh.singh@amd.com> References: <1502710605-8058-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR15CA0043.namprd15.prod.outlook.com (10.173.226.157) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7c47f10f-d9c5-4198-f589-08d4e308d85f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 3:7g4x1TundQYeCPFme05kiqwa8eyPjbef14FXi5QfOargaT75XTlLz3dzsVsorey4nPhOuPDvWaZfDFHxI8he8eYPKbH9vJUbOfj0Uzs+K6507/XIIqB+gB+V6wMDP47/CNjKN46CA58H7xJzGt8kwWQxSYe3z3bi/Jrii8kPBjuBY9q0sZ5qSPKfZdmbTtQ/iFobNJmXNp/JDg+LoqvFnk1FZDFCusMPo6FXtIl+VDBKvmATEgPb3o9p4wKga4Bh; 25:PnHCb0CLUGP/iG1xbtTzlosJUCtE3RqwC42Rq+vXXcgK1akACIGSqAMqPLgJRbFDbC7+gC77y7i+skuz/LAD3BEVq3e/s8G9lCKhi7mwEBbEUa8y2onCgmxgyLA4gj/0GzXbTpyXqjk+0k30sUbVTRBrGcySwgVIWDWmGGSsPRWPGduKrc7QOoD4HH8GKKiizboJiYfsT/KmWQ2QXAUZP18x1gXJ3XjsnP9CqCHZ4/5GHYQbJNv+Uh1nukI1kpharjnINtV+Pf77dXpvcqAKm4o4izgkNpbo7NCerTe72uVKb8o6FNiALjfgnhSzh8tSAJeEqp/H7f9CnIHz0vfLmA==; 31:jviPw9mzWXnh+x0sN3F0A9to+f9zCNQ4pmJLt0UMuthTY+PCpfQzVDt6JXIp92OQJunhkCWutJLxnqbFwT2ZXLtFCXGNxOxXtMyJmSseUwnrkb0aHdKIS2XL4FK7dfVd8imcLMm5KtUuZQzinYwah+EarSWvTOw9+uF4nrcNBREYkeJ2OXxw4oKX86dxUeh5k/R6h517MCrsBZE1XBuv9GFwC2gB65SqOzdCLpSqRk4= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:mqRClGMfdFtL7yNTAeCDAcEmQ0SiYU/JGRB9kblSrTWibSgvDXrlIZcAwCRGZ1q8r11Yl5W2R5zSN6ZqqYiSK8ce2akdChTR1xsKKxVSKSSWtz3Y7RDSio+L/lHvI73IyohYsAULaKorsu/qpv1XjAN0hqZlRANXTcwhOYfp/LOL6P/ZpKo44ipuCWbGwxwEoKah8J+RcIUEg3JnmHreEkUH2z85Am7nZUYi5DqjfUjgbQtiieWBSWhmtN3L7ZeMnUTqBzSsJrxUexjB1MU0ddf2w+ekwxGQeLQP0CP+uV1WJpQWDCM3qq4YpWOnHj6Pk/jdj47mGSZzPpKHU3UU6HaNsUKsZUvjgmPfjW7kHDNAMJOmwjdaarigvG9UJGztwEi+mTP12haC3jDRu8rUcr+XFvlYgdYxdMKsTfwpzrULMpAtO40Yd8vIsXZgcBfTGNEBsT8EUXTwGhs9FwIKK7w5MZLF7LgqA2dTQjRuXxQwM4d/oZv5IOReWrwkf8fg; 4:gU9cU8ZOEljyb58JV39DAI9zlmvsAYazX0FIuY1+8EyVD487gvZRMpDED6Poe5rzusmQ4Ok3x5M4p06QsdnOjzItK+Mx287sDHi2KuR9LygFCY9Xz3cDtzybkCbkBQk0voeCZA7TXQFXOmhBVaQ+E1E4tebio8Q7G0FYzU+l0JrVhjmltqryeZPOWjOrbOfXDmmfy0MFTVH7dBIw5Ko2EADjOlJ8Gisub0rIRIEVGEBSTUWo0GXT7KuWGQR69l1o/gmohqYFRoBcBCgzeURJNhH8oL1KxcWqtb8sSEA3pS7r9oQTG4WrOQEjm1jKXcSI+LBjcm1Xy5tdrdZN+OPkpQ== X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123558100)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR12MB0145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR12MB0145; X-Forefront-PRVS: 039975700A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(199003)(189002)(54906002)(5003940100001)(6116002)(3846002)(53936002)(97736004)(575784001)(86362001)(36756003)(81156014)(81166006)(110136004)(8676002)(6306002)(189998001)(50986999)(966005)(76176999)(5660300001)(2361001)(25786009)(2351001)(50226002)(4326008)(7350300001)(33646002)(478600001)(53416004)(42186005)(2906002)(105586002)(7736002)(305945005)(106356001)(48376002)(50466002)(47776003)(66066001)(6486002)(6916009)(2950100002)(6666003)(68736007)(101416001)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0145; H:brijesh-build-machine.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0145; 23:B2aI0xR76bCRmYrR8k2xA/+TAtjD91NWBQXyPZUI5?= =?us-ascii?Q?n3DPCmorXnA8cwFUJ3MeEDupI/aA29icbpXD1cWCsEP1uhgooZtwAo8dHfsL?= =?us-ascii?Q?QJQ9K6T3dgrISLWfur3SmI3J+b/3oPYWpGVj+fz40ZW4zUV3dLdQ+aCspG9b?= =?us-ascii?Q?qWWESRaNPGZaCFm0n8UO05jcZWm2TizBhBmOlQKimMk49/KQb+1g+OQ1Jwty?= =?us-ascii?Q?2Rt4CTYY5behYFvdKHbY9KqtUyTPdFWiQN0Jtf26kimyJvK6CMp4dfET+3U3?= =?us-ascii?Q?1A0NPFP/mY8c2Uhr/EiFi/616BS8jJBtskRfUhqvuLRBzlRpdLw7XGIQOqWn?= =?us-ascii?Q?4h/0HGqO6nH/DIhjo/BVcjAhbhDLMLSMBd+O8l8HElwJLBXw6unhhGKR3XMB?= =?us-ascii?Q?4rzFPPSLLH8nDWT87vU2dpuudFTQX8ButzTrOu1zhbia97BiDohmhNbgZAd9?= =?us-ascii?Q?IC22sJnNuHgbn2591Ppxs1sipe2xxwiGoKqQduZo8QqEbGvUHvNFxJxX4JMu?= =?us-ascii?Q?q32kmSwvToZ/5PcWrjK5sUlpF4aUe5qdEnG0l4qlJ9aD9dEwQtxWv2jHUjXu?= =?us-ascii?Q?LyegmSD69+Ptc57GPsK9asvo1+MWqYpkVn7rFgEKKlisgFkYV7E8jyF4Y2FQ?= =?us-ascii?Q?9ZTf3pSzL+r2vJcI3WnbqynkW4PZ6KIdy6WDWO2valG0iRFx3seRHOm0ocJC?= =?us-ascii?Q?aympfE0BYKj59D5zImFAqz673RYJV5bzCN8If+kC9b1UkgpsMQN7q249XBQc?= =?us-ascii?Q?6Ml230lCFgySUC5tOyEdaYUP6L6YeWdFPBVtFQnIvWrnXKXQtD1kQ4Ig14C5?= =?us-ascii?Q?zua9JDoAcMmG5rgaVUYsLbIhgEphk2bmmegiLVM6xeuApNXHAFDM3R/23CY4?= =?us-ascii?Q?Q3lIbXfQ1p/ozm0plSOe1Ghn+BjpDxBUfoR1qGxFrW/lND4bhgcv/lhpHkFF?= =?us-ascii?Q?csPpujIqkd4wsia3LVNMHt0OMuUFUTr/ybO370Oul2/YCjEhq2+9295F/BNE?= =?us-ascii?Q?2IK9+UY/2HjE32j/XNomD6Gbwh8DF9R7Swon0mxvfQmDu1r2dPwqB+cXLUm6?= =?us-ascii?Q?ZKb0KWLCnJ0NsbUERpwoT7K6UYZJpG7X5/y7xtozxtuCy3m4cZL2/2obKMmS?= =?us-ascii?Q?c5XiBrre7RGEHfyIZavAsXqmvoTlN62uyZ0PBY2Hek8xJJJ4nuiOIJOyH+rO?= =?us-ascii?Q?2z1oaJjEqIreUMXsoMxSi9RUnHNBXby1RoTxYtsbaV/4hs2jRemYwoVzA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 6:MIDdR5wXq9YTL0FVQZ/W2fUDpyFQk9engGyGsqvcUI7wsB2h1hUtk7BCLCn1eXC+kJrglotYalFBMoN7f4GSV+iphIeiCPUxHxLSHXUBNGOS/vV5DAervZeN5hjtbMBldosNoUmzkTvCrreH0p7ef/BNMAOk8tdsKD2lCwOK28dNxPFU/qdLrNNM8+JzhRR7PUZyiXomPErw95QIVC6dzG98BZC8sFk9AfNbpkmZhx7cqiOjoZY3ryce40lEdaegSgiK8hwhReY4NCk8HMvK3HtPoiEeAHo6JsPuJzxFBB2cqDo6pGVhisAZv4wPJ/9uXP5D+dJD+YRq+tjwuEGsRA==; 5:a0ye7EubmO1yfzPZ/7MrnnVKgxRphpTDZNWK8ubSSUY8GNO2F0kSmOji5ZjEs8Qolods/ewuqamjh/ZvdziB+h2WFEUhq5yQ/PiM0/uF6ysNhp10UNeAdXb2Dxp2afUd8anXkMhUGOSrCxOzk68DZQ==; 24:KrmayiiswgISRmHfB1NkmO2Jji5JoJnQhKCtqPpMjamoSddPvock//UkaaJVVxUjZRQnX/51CGjkmc0AjnsCL7OMqB3Awra6NXfrFp2O/uw=; 7:SUuVsExm8lrdrkRN/wezFxUFae6tQBUNsjXs74dXW56JZJVD1iVJlghAJhBNW2plT0cWMQWQjZc2WtqPIBfDlA2cFgzMGxOzNfFVzGN5iZJqDJBwnjvRTIEDtugZ6X9G7QccdkP2+UdR8zEVv4jhOoPBKlwhXEvVD886zl4mKqAvaexgmbPXaZOSQEXCWoIOdmrlNvzbmP+Ev8TKqHnW1Srv/TMRjCofvKuJG/VKoKI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:Rz9j0RDkahIzOKHyDalL3IzuYRJKsIdopSViZkaJuDyyXUWmzQbAC6EmPqKGIqfVsMro+nDFOVPlJGqC9CwFWAGZUWc0512a8b03OdpRHJXek8OS6M+7QLzGU040z7fEUaSvK3lAn8TSBguDUSnBAUYI4b90UDJJKcX2Ftj9L3fe2rIP+/5ILYdcqITQEG1L/0PZB6HNTJST/V5O0cYFQKpeyNldEj3pe+fcQivhI8+oqqKsSVWLb1S1d8c8hlpq X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2017 11:37:28.9555 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Subject: [edk2] [PATCH v2 23/23] OvmfPkg/Virtio: define VIRITO_F_IOMMU_PLATFORM feature bit X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jordan Justen , Tom Lendacky , Laszlo Ersek , Ard Biesheuvel Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" This feature indicates that the device is behind an IOMMU that translates bus addresses from the device into physical addresses in memory. If this feature bit is set to 0, then the device emits physical addresses which are not translated further, even though an IOMMU may be present. see [1] for more infromation [1] https://lists.oasis-open.org/archives/virtio-dev/201610/msg00121.html In previous patches, we have implemented IOMMU-like member functions in VIRTIO_DEVICE_PROTOCOL to translate the physical address to bus address and virtio drivers are updated to use those member functions. We do not need to do anything special when VIRTIO_F_IOMMU_PLATFORM bit is present hence treat it in parallel with VIRTIO_F_VERSION_1. Suggested-by: Laszlo Ersek Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Tom Lendacky Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Brijesh Singh --- OvmfPkg/Include/IndustryStandard/Virtio10.h | 5 +++++ OvmfPkg/VirtioBlkDxe/VirtioBlk.c | 3 ++- OvmfPkg/VirtioNetDxe/SnpInitialize.c | 3 ++- OvmfPkg/VirtioRngDxe/VirtioRng.c | 2 +- OvmfPkg/VirtioScsiDxe/VirtioScsi.c | 3 ++- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/OvmfPkg/Include/IndustryStandard/Virtio10.h b/OvmfPkg/Include/= IndustryStandard/Virtio10.h index 4c9b62a3cf59..c62429d94432 100644 --- a/OvmfPkg/Include/IndustryStandard/Virtio10.h +++ b/OvmfPkg/Include/IndustryStandard/Virtio10.h @@ -83,4 +83,9 @@ typedef struct { // #define VIRTIO_F_VERSION_1 BIT32 =20 +// +// VirtIo 1.0 reserved iommu platform feature bits +// +#define VIRTIO_F_IOMMU_PLATFORM BIT33 + #endif // _VIRTIO_1_0_H_ diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c b/OvmfPkg/VirtioBlkDxe/Virtio= Blk.c index 57baceb20a19..a78ec0df9c7b 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c @@ -773,7 +773,8 @@ VirtioBlkInit ( } =20 Features &=3D VIRTIO_BLK_F_BLK_SIZE | VIRTIO_BLK_F_TOPOLOGY | VIRTIO_BLK= _F_RO | - VIRTIO_BLK_F_FLUSH | VIRTIO_F_VERSION_1; + VIRTIO_BLK_F_FLUSH | VIRTIO_F_VERSION_1 | + VIRTIO_F_IOMMU_PLATFORM; =20 // // In virtio-1.0, feature negotiation is expected to complete before que= ue diff --git a/OvmfPkg/VirtioNetDxe/SnpInitialize.c b/OvmfPkg/VirtioNetDxe/Sn= pInitialize.c index 9bac19f8e3d1..b389f6243661 100644 --- a/OvmfPkg/VirtioNetDxe/SnpInitialize.c +++ b/OvmfPkg/VirtioNetDxe/SnpInitialize.c @@ -536,7 +536,8 @@ VirtioNetInitialize ( ASSERT (Dev->Snm.MediaPresentSupported =3D=3D !!(Features & VIRTIO_NET_F_STATUS)); =20 - Features &=3D VIRTIO_NET_F_MAC | VIRTIO_NET_F_STATUS | VIRTIO_F_VERSION_= 1; + Features &=3D VIRTIO_NET_F_MAC | VIRTIO_NET_F_STATUS | VIRTIO_F_VERSION_= 1 | + VIRTIO_F_IOMMU_PLATFORM; =20 // // In virtio-1.0, feature negotiation is expected to complete before que= ue diff --git a/OvmfPkg/VirtioRngDxe/VirtioRng.c b/OvmfPkg/VirtioRngDxe/Virtio= Rng.c index b19d90901430..81d8c7facc10 100644 --- a/OvmfPkg/VirtioRngDxe/VirtioRng.c +++ b/OvmfPkg/VirtioRngDxe/VirtioRng.c @@ -273,7 +273,7 @@ VirtioRngInit ( goto Failed; } =20 - Features &=3D VIRTIO_F_VERSION_1; + Features &=3D VIRTIO_F_VERSION_1 | VIRTIO_F_IOMMU_PLATFORM; =20 // // In virtio-1.0, feature negotiation is expected to complete before que= ue diff --git a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c b/OvmfPkg/VirtioScsiDxe/Vir= tioScsi.c index 65e9bda0827a..286b005c994c 100644 --- a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c +++ b/OvmfPkg/VirtioScsiDxe/VirtioScsi.c @@ -903,7 +903,8 @@ VirtioScsiInit ( goto Failed; } =20 - Features &=3D VIRTIO_SCSI_F_INOUT | VIRTIO_F_VERSION_1; + Features &=3D VIRTIO_SCSI_F_INOUT | VIRTIO_F_VERSION_1 | + VIRTIO_F_IOMMU_PLATFORM; =20 // // In virtio-1.0, feature negotiation is expected to complete before que= ue --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel