From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0074.outbound.protection.outlook.com [104.47.36.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BAEB02095AE71 for ; Fri, 25 Aug 2017 14:41:13 -0700 (PDT) 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=NaaglaFg/ZwCF3X4hy+HOFIkJ8k1tM3sX9eCY0vl3ow=; b=V0wLUY1kw2p0XhROT6s7b78MQTO7Kt7Y557IzY2QQkSyA5qfBRSqaVle7RvBbLGrFOrdUt1ji12zP1lc/xH3RM5ccPAzL9UneVR7Z6sUjUd0/gDJWkacUcc6ccvs291hyG6Z1ZrhbUGNceOuN36uDmXbIKZggOK4QydTYyLC5Ag= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from brijesh-build-machine.amd.com (165.204.77.1) by DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18; Fri, 25 Aug 2017 21:43:48 +0000 From: Brijesh Singh To: edk2-devel@lists.01.org Cc: Brijesh Singh , Ard Biesheuvel , Jordan Justen , Tom Lendacky , Laszlo Ersek Date: Fri, 25 Aug 2017 17:43:34 -0400 Message-Id: <1503697414-6830-4-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1503697414-6830-1-git-send-email-brijesh.singh@amd.com> References: <1503697414-6830-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR2201CA0041.namprd22.prod.outlook.com (2603:10b6:301:16::15) To DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4de933c3-8335-4acc-69b0-08d4ec025f1b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 3:Ew5TZo1yhUqMSUL2i4drsD1yUcEFOfY+YsS9zAg+moO6F4YGiSaHJwEmwQNtKl8okGH8dWuWt1N6JKKs2K/IRoC4RAJekTMJ9jClLkZFGQAz2NPtaf1AMt5/oHq5bNQkcjX3jOO9GQ2WUEbaZHCZaX4A+yYUPc4DinU+JkobF+PcGr8z7X5ccidC2umUgNotF8XGqDAWcQcqKNksmBJ9TCXXfvOCGGynn6B7TQmR9U1qTe0pg5CCFH51TLgrMvgr; 25:zB/+dYwWcIaFFjWa+32eR5kwjIIdNrnLQ5dLSb9JNV48cJ9/JMBqWhtS4l+FWCAPJVdMOwP7ABiqqVVwsx+d1N7gHqIl2FauLrMRKuPrp8pJL1/sajWCVuDkX7UHPm26Fy35nxWLAMB4uQl8sQTBjU6kLtYBHpQtgBQs+kD7b3JIeX4i7WSeRmkW2n/AiQvc6MvLrtZzVF5xj6TcszYbI08EeGO8pP+VypywjkuIqNck9+21s4GKhKi3neVsxUubSn3rS0vcusLlBoUqF8GhcshAha20X768h0MhFzB+knCorkldTNTGrux5jXr/VlGYjAVPI5IAE4U9hOCIDMb2xw==; 31:ELZYqomVPqXwVG5fPKyis28kvX9YhKXeCafqSKRsxBO9hwr6bhmjF29TJcFINDz3OvUeGVO3G/pIBdqWlLC43G4PGXMVTNiefyAPSW/nfJE0knhKOadU1JM6t0mlY/NV+QWYrF5qhMXwTUwx78vTtY2bTQyK45xGQnWwIIkogWe/gqC1yYc2G774nY38Rxc7zcI2/QnxTp8ccpp1IvqmzOYW4opo+9g0h46NoYmNILk= X-MS-TrafficTypeDiagnostic: DM2PR12MB0156: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:icAoT3HwfzSTsG1jv9h1lu0qaT+pjaYbKHe2pUrFqQQTcVUdb5kmwvAT1+8I69VBCXGaWolHAwGzjiwuwZ/7lzayRMyOAtBfJ9+41sn5z4lj8e6N62PmrlbAXTAhpJfAJnndbaC1Z7eAANJ+daVHHorrE80feKMLX/7mJHmzc6K6IEWrlCgh4/C9DxuLwbxdyq9xWPzLEC+4+BpJXHpNHFcpRnM00lktxbeRCfhzZQQJf9Pky5oWVBOcF5z3Zgsj8FOHHGkKhpz6JyDloKkHVRmiJx3FIU1eNk+PmUzbrdaXCzZ8j8kwnlaHPuT6ik0bINJCrd3tXMcuAirs3JdogqX4Gu52Ss7DkvAowiErntDo3jQyJG1eF8M5yo9F3ziiSxHhb6svDlApPu/Dfm6MX+aWLSSsK/83yVw9XWfPnI+tw2Wue5B1KKI0m4UdXD3+wkdL2Yx47o2CHKswLpctG2oDmslLf4CjEmQ9HcAwqeK7kgrTz9yJyaGTvl1t3+2c; 4:OZvg1ZAhal6dwtu87cumObAjL0PsXpuwqtZnREhH6CuBvfHo770Zk5q1HT1QpyyzYuBCskHcBQnXHynns6TrRqZmO8TrzYqi1sprtnKKHm6fx0yLuXtMkB+5zJ8Shc8cagkjyzPdBaNw0i/aUHHCezzPfZpPUF77N/KJDl1aigkCF7ra3fitaHy9yhSouhiGpHQoiErkjUwEEpFJAo1QkMaqzenJH0hoKEuXK7rQIL0P/7eMweCnOomOlTV9rr6s9Aeop9AmBAmH/Gjv+Wm7EC5vF6vL5hKvgbWK6wC7zAdSzoK60huxIz2zSK6mcRm/7iWA3DONzA8M/djGrPVAeA== 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)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR12MB0156; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR12MB0156; X-Forefront-PRVS: 041032FF37 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39860400002)(199003)(189002)(97736004)(54906002)(86362001)(47776003)(5660300001)(110136004)(48376002)(4326008)(7736002)(305945005)(53936002)(68736007)(105586002)(50466002)(5003940100001)(6486002)(7350300001)(2950100002)(8676002)(76176999)(101416001)(6666003)(6116002)(50986999)(478600001)(106356001)(66066001)(2906002)(25786009)(81156014)(53416004)(189998001)(33646002)(50226002)(81166006)(3846002)(36756003)(42186005)(2361001)(2351001)(6916009)(344415003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0156; H:brijesh-build-machine.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR12MB0156; 23:8t4/2fnPrXt5QS8sTJGWATgIKiziB+j+P1JWNaOgR?= =?us-ascii?Q?wT0R4tIIgbimSHy7wm98p9kqQPqYtwxbLs4MNXN6n1WabZwGn7z+6yxp85BN?= =?us-ascii?Q?AIXVZBxq4Xfk0qIAv1FXBdSuWPS64TRlvN2nviOwX1JcRfmvJPA40eQObH18?= =?us-ascii?Q?E7FtkaYCa42HvSOe3yfn0VbUg182Xl97x7RKgfUAqtBLVGs7Q5UqjOei8jyc?= =?us-ascii?Q?nKRc2qY1PIp0o8dAbmrxUh+V4i1t3jbePqTZSFVQoXWxy0BFXGIJDGOJUrqe?= =?us-ascii?Q?6S+/iGhPA6AUZtDK0nN1g/JmOGK9+6kJRkfK3hYlSvTpZ57STXVRcgdaj7Eb?= =?us-ascii?Q?2MEWEx5pJ3eGDRv5+gLfdppYwFpG2VrJfK6BLwPi0SHYNgndzcygUbHgjmFj?= =?us-ascii?Q?AulqWOoH4yDr7m7LqJSZnD2QOvVyY6JqEw4l0fxgjQvcG9gQlHMqBhFJ1Si7?= =?us-ascii?Q?9COlSccZ4KEkMRhnBEbv8fWQAUUeFu6NCbb3kd5UchX4mbXj7jBZ5v0gpG7q?= =?us-ascii?Q?xkwjrM+zbX2iWiOnVDud8tHqJWFus/mfpUg5gpu3U0oetv3kZJ3hyhoYX37B?= =?us-ascii?Q?kj1m7BVGaFGvV+L3U9g1nzCffs5CrSEdICotmfrNTQg2Tq5j3yR7ygnHPggh?= =?us-ascii?Q?Ua2SzwXUykhbVPH0VOTAZDSPK1qnxglu6EdrciSVdvouBviTO7ioS9eLz2O9?= =?us-ascii?Q?a7v5bYRf8kyTNupqOSTJpmENHcdINi1TgY/OkBGQaffa72NbcdLLLOnKAToL?= =?us-ascii?Q?ejW6BchAa09BjXWwmTI6qlVVn6MlZVDf4mAi5cLc6TaGbL9V2DuJsaNQKli2?= =?us-ascii?Q?mv7jqp2qDroYYM++MProgDcADjq66mfChYe9HexWfijBkdgo+BRB/cdMksMk?= =?us-ascii?Q?gb826sjYN1tIh4TUbwzaB8P+99VY1XgywnAT5vBW6gyteOMOVLjVy++Hzcf7?= =?us-ascii?Q?241Fk/hyYYoh7+f5xIsuvrV4LiHCkrK1MGyVyr9VVV+fXct+KhvR1xblYLw9?= =?us-ascii?Q?PWwXXbGkS6R+3ez4AKcYTh2XjO7GOk5UcgP0C7Imm3mqJAFom2+1cwHbI5F2?= =?us-ascii?Q?Hm51VBN9+JTOQBYUZzjswl84GWMFjdQgM+hgMoog/jfGRBgxeyHKTf8UyG5E?= =?us-ascii?Q?pFfJgbh2Qoo1f3JQfgpi1cz9srprXw1SaRP0Xoq1td5sYTkizFOFpDokLVEu?= =?us-ascii?Q?6qksTc2ToZqyaA=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 6:m3VaGplYMSvX38+fqzq2KmUdl3gAh3oiI+qDEssR12nK4EoJK8n4hvaFRAYVMyeOp4vEr/Sggv2E0e5RuN+11wUHQkFH9FLB3u2Ym+SafK001ZPKPmtCJQR4ZAgy8rsMByVb50FrfaluLYUPN/Le5nqXp15t6bmHin1OFH6YI4l6D7bL3mqOfEh5zYtYC0tKuWoMCxIhKnoAjYo2y1XEHWTzUhm+tOYHEeb+s+ebjfm30CSDhSqHANDVDDT3WtwQ7m6325DNYy57eBasV/yOBFpAbjXIjlkMAvqPcpGfa7M++PlzQ+Mrvip7YGIR4ITBH2s1BW31e9yI0q2iaCnKeg==; 5:I++AelSXh0j0NC1W16A48gGI17DiF0DyisGRkMu2rY6q/RsQyLJ2fHiadwzbzBbBQNFo9ngx4jy8BBLb49I9vvWkDgbiPpFMOtdwhxi1CZeimBegq/M/JW0ukaJ7XJOnu0hTlR4IB7MgNcbT+iFlJQ==; 24:Gwnn6IRdbhtVn72HGUI4QHz/7eiDyW957NwGn62MLqZL54pgEbHLFKLd0eQy/UFaTcjdgMsxb9uer/adaoIl5Cckr9V1ztrGuShS+GE0+bs=; 7:6DafVzRsHr9BbKTUIYejhnOSev8oDoPMmz6tesP4tIs0kIJIezk0hNhvVaIEAn1ciq7Qq7PCrjiAE/IbiLWMzzRXFDWEGVk1FauQQavIUQtVJDaSsqY4GAZafGsGUW+JdPn7iLgiuYn70jNGHQ/MVqWnOSCyueIcRKuLMA2+FN2CFL+QPqFJNRkeIWp/aQHHSz7TuIv5i0hJHsQWf1OdsohuQ/joQkMQgCN1utkmMm8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:uLWWfRZCV5Dkr+KdYQcYu5q9Df0t/PO8oM1Ltd5h9JQUyCm1/1ENRT3MmEjBgLDxczYMY1Q+yg1UcNeM8rXl5lh5S2ehTtd8tKqqX8YouSmcRQdaIb04xdTzs0cT2LpfJGJObGfuIG2B1yxByPocafbEmSAS1Es/X8S1QDzq4mQUjcJlo9y3rx8fVFJCOaFouQdA707Vs1NgC3067Ohu/eNAzYLl9C5aEeYg//8WaR8j/qSJcu9Uvpo5GYoSyy1K X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2017 21:43:48.8616 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0156 Subject: [PATCH 3/3] OvmfPkg/VirtioBlkDxe: negotiate VIRTIO_F_IOMMU_PLATFORM 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: , X-List-Received-Date: Fri, 25 Aug 2017 21:41:14 -0000 Content-Type: text/plain VirtioBlkDxe driver has been updated to use IOMMU-like member functions from VIRTIO_DEVICE_PROTOCOL to translate the system physical address to device address. 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. 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/VirtioBlkDxe/VirtioBlk.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c index ab69cb08a625..3c4d9dfd4d54 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c @@ -825,7 +825,8 @@ VirtioBlkInit ( } Features &= 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; // // In virtio-1.0, feature negotiation is expected to complete before queue @@ -903,7 +904,7 @@ VirtioBlkInit ( // step 5 -- Report understood features. // if (Dev->VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0)) { - Features &= ~(UINT64)VIRTIO_F_VERSION_1; + Features &= ~(UINT64)(VIRTIO_F_VERSION_1 | VIRTIO_F_IOMMU_PLATFORM); Status = Dev->VirtIo->SetGuestFeatures (Dev->VirtIo, Features); if (EFI_ERROR (Status)) { goto UnmapQueue; -- 2.7.4