From nobody Fri May 3 12:01:53 2024 Delivered-To: importer@patchew.org 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; 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 1500502179796443.8817334838417; Wed, 19 Jul 2017 15:09:39 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 8673821D1B2B4; Wed, 19 Jul 2017 15:07:39 -0700 (PDT) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0062.outbound.protection.outlook.com [104.47.40.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 949C521D1B2B6 for ; Wed, 19 Jul 2017 15:07:38 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Wed, 19 Jul 2017 22:09:32 +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=l7q+/lJnDUENMZh2eVrKK5fvVjGv9kkwOKa2Ziyi8YU=; b=ZTmB54KDMpF3+lWfExvF4vrUnHHowtnErJHftO0PJzFMwPUBfECWXBbtcI9A6yBKuMxjmxyex/WL70KZsNo1gWy4Ov4qDegrpsd9ZkuZyvYD6A2b72YrYlAmPVowgl6R6r/iKpyhMazY1ih3p+UpUWfsFVVxj8/9NqEgdCnv/WA= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=amd.com; From: Brijesh Singh To: edk2-devel@lists.01.org Date: Wed, 19 Jul 2017 18:09:09 -0400 Message-Id: <1500502151-13508-2-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> References: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR02CA0012.namprd02.prod.outlook.com (10.168.209.150) To CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 21a87740-61df-4faa-11a4-08d4cef2d5b1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 3:jitbORAyTADKjW4DlgnJoqbZNcvXuLvLnTbUqgJI6++JffLsvwUhc8SwQh6uXOVCGawiuMDWQbA/R+6KdVrbhZeSLkTnMM5ymxuOHbl8slSp2jzUiQ67GXqbhkzqf39NxCYv+ghiwHNFWhRsI1mk6UBq6K3G/wZv06K04uZR49/w/XUxY9V/qjotqZCuwRynmTfTz2aEzcRthuXdjF76tdwcBpJO38GAb+zucMC7RVpVYX0r6W/UieXpwoPgO5vGWbS40mFzmOHONvEfvYcsmgmQnfmiOqU29MBLEC1Q0Vlh9d1SneeSIGCqp8dpQGJgFwuflq33ip4G/U5PAvfEeqH9KJUYKCwzmZBSNy8I3ISVW2OurbVRm+g9K5GC8zzM72LYszQejtZLF72SIYqjGu5+3EEhjoMMfSndP/4Dx6BbEWyEbyRMXYJNT/n0cO2xIFIeuETZHlLVVqE1De8am0mVcrkLjb4P5lXgNa9s7QaCBo24qnL2Z1rg51TFuKhEuTzZYA1RhWVOl40tdMslCayL7v9WRst85OW1ALRY7FyusK40sYyMWUeS9vn70ginrlnBhDxoiFbuhK+x6KTIawoVND7pEHCua2cXuwlC5yVGDbTlfGH3qQ25dAJOk56RRBxfDRNm8mBLS+MTL05kN2wxzwDA6sNhHoJMuqcSk8+NrfDQiPRnIN6Vvw1/RrX8HC9VBJNMf4SDEzMcVnSzoOE431DFWT6VEcGUfOh7Y9pIHP9De6v5rlXYeLa7zFA7lwxDP3MIy8wTxPey97VlGw== X-MS-TrafficTypeDiagnostic: CY1PR12MB0150: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 25:fNeKvPc5T67rI0ny+DH30eg6KN0lpn9JET3nq7AMeVPyhArxbrJvlCZOlY4VOKPXyE5Kvv+Ks5tFkFTKB8gxAZCyvuke57Hrohfi3N5TanWTvA10iuD6rOlbQ5KcswsA29UGubvj4v4ybz5UKMbWxmVhLpa9FdHcFVUP/cDPi2b4X1lYfRv6hPB/rSVswvclJei0ZRRwB0Jk+8fYErjY7gWwtAaQyPnw3PR4tKhTE8OlsTcfp/p3gKY2PAe7vK6j1SC1tlXuZY3xw3GE7rLGAsY6zC+gRR2Y3TD+Ki+u/zahHGz2ue/7VmfSLbcEuqFyDJ5RQizOOmYxo8KYTDxeWvhgjkWZ29/WungI3xyIGOBJL154rGJQtcTxE+6/GuCnAEzvLFEs54DoYEfqXt757gycB8+KGnkiQf/qussw/pRgSkNt8GTfyNMEGdRXsGriuwGVlnMHpe/H7zBR4B6TAXxlv+oOAszS0Dw3K7HCMtp0NY0NiaZnuKzHTidwH4QKVqfRIbupWSKgEJhVHiQeS7q9OSd1E9En7AAP9YRGqJmT+qvoPMWIDDZhjncTNqtL/atJx1zh1+FNLdhE21VHmfYFAzQrwv2ko7ma/eYLtmy0uhRVLTjw+1mbb4ZOnTF/RwD1dKUtg/PL2+DjIxGxGUW2GTrJtABCR+bN2+t3vHfH7EyMHaByqkGQx6CEZyNAWrdU7Q6CyHZkInYGo0qukcvcfx5AoUAJ8ZERMDc1Aml7xocDm57QGnpu+1P82gkrnzFjdVqUCLvd9OT8nfGKJn8Zo9vSl3Ha80wnM+70QxOx2r66VyS59fd9gmpfRpeJI4bLIam3CE3g8kRadihyL7KGb7qmSGB5msrXG6qksx45tAuJrUUP4sZjvW/55xIXZEILIjIB6mXjMNPS2GNEcrKJ0ICjpplJlcBVBX4orJU= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 31:s2FlA+o3A2v/i0bks3/to2eYnfMtzl8dLeJBp9xWAgc/Q/DmLC4TVgzLBEUMhsbzxaVFAYQ7dsR4nyf8sxojk90MAR4NRXKU2RGBi/hAy+VGvJbwhrkGFzaAo1Pdl898BER26QlswIpABfGy1mjQ5S5VoCel+MOEfpowL3cikPZ0kFZNU24sHA4uKAE3vHgW0lJVMz5wWonnS4WHIAfibaE6vYvvNMh8edT/ASBS6KqLLjF7+U1dZZw42xlIIJL5iymYB8D/S6YOveO9lfc77/EDE4ooAW+mgJe6Cbo9ffTbPpUYAy7kECAKeX6My0OYonHvqC/9P2wPjgDJEV6AinmOZK+GFTMffh+TU2/Fi9t7e4opCVnB2v3o6OPXgmgqf0bfHY973j+41sCOPXN3I1n+XvW5qylAZermj4elYMmJnNSHRqnp2CqidVUQkH/dAWj1XPuNg3XvzMBgJHrndhrpVybmlehTDdXPHK+2YCCrfOaQVbByGqc6ytNSLU3lMz+0Fa9NSvg5oagqpmoWi2XlVzmvYi9RRYI82IyAsnKEYMVTm4XkMEe4tU21xcQBp8EZPqriEKCUf9W0CGpZ8YBOsALqIpADvYMpMNXdMfHoy7pNPXjAv5fyP6KR/wifrrqvqaom+whpMYO19wc+bwyIlwkbTGaO6c7neGrUOFg= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:yg3mnycMnMaCNjcSPZ7jpZA3P7nrA6QG99rZa3r4BCxMl9pVkPGISM/e7q6W28wdrGJKAmP0jggtPofBObe4MzQigMKpJex0KuD0evc3UZeIN8b7kAxoRhkZgBRVM+pIuYMaivQfJi7oyiOMqF49UwnWZgRx4YLTLP8C+I+ok1GeP2WEzadnry5yc7xpVi2p9mG61bqWcJjK31PwfMchapxriYRm9IaCQO9Uc2p7qV8ErARip8c63n8iW5fFn9DPe+KshnUoYG6dUdjcE/c2XLxtScCckDfeM5G4jzN0F4PF5OzcVO+THhqaPUkoTUvs0QSNPFyhd+oKWxfTTieZ9sY3yYQqwS0v9znel8p74ttjUfTOZzWdz0w8yFTBtR57fRT+xG90ySrEit8nKm09qmPo3gzI/gSCDh2SqHaeJDsthwrtmFNliWJOpAtHITTObcX/w6ckTdvOaXkQnrtX9gMnN/fxxEwymnxck/MbwFeUHyt/eXYOHIDQCF2zgryD 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)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR12MB0150; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 4:LfSVI8BSUmzu0pJXKkLHZSnXIdgBDPQh1rpCjFLQEw?= =?us-ascii?Q?dxWAt3ft3lu+gVsAhdVa339867q73/OqRC4bzb1k1YdcsIe3SvEsDb1H757C?= =?us-ascii?Q?4aBVanyLro+DsSmgg1cRcLRcxMlbYWbtfQEmMNOS3bdZf2ZE870U5mrz1vRu?= =?us-ascii?Q?y6N5D2XN4q8U8KvYqOMjp2o4xMGP1Zs2K9+XDy8IT7kc/VQlK7lqfBQX8lpQ?= =?us-ascii?Q?VkjyFMs73NjjFqHe9UaWW4m2D8Ik1vA5dcIzewU+QjRy8g14QqcA0RGaocgQ?= =?us-ascii?Q?IVLJYQmxNcwcZCCQETnX802r4nhF9FA4KtH1UH+JvtTZT3jzSpwH/eCywmL2?= =?us-ascii?Q?RAcVSAFrk2TuoTir1sRP8k9IYD7MnuQiHtKZLligRqn6t3RlBYIRlo+CjKv/?= =?us-ascii?Q?Llj0yuZh/48pqbDFw9Z/MXn9504V5s3XwfODLHn/g7sZeCDtH5VkbX96mXnt?= =?us-ascii?Q?qSCQ5V7+FmFDZsn8y/XhgblyA5Bk4VWtmw7ahBBZcNdE6sRX/ZRbV4djUfQJ?= =?us-ascii?Q?IpH6GJFhLA0dGG+piw3FawM4HVfBQhWjygG2xm8dg7x46Hd35O6wtwl0ME/z?= =?us-ascii?Q?elvwpvXJkl7COw9CoYJ5N6SzmRMq90M9x7vx9onVeVMAEGNCqzS479Anx4GF?= =?us-ascii?Q?WDAbbA/IFjkrOEG4SCNGkiknxe77e/4hNmnvbf1d4U2ad2u81gm/hAbwYr7w?= =?us-ascii?Q?ls1Idu4GYVNbINPxinGe/6XYcWUqodSCf7IDLGYtzZgtSst+U+mFcSVF6OZq?= =?us-ascii?Q?LKOY86gVsm/VTgk/IOAHQLDQA2KQm+K7jNKUd3l3ihGhnchY+8J2mjsBByjO?= =?us-ascii?Q?fA5GZ6Y/bJQ7m2scfjA+sLAYCDAb0OHOFLCDnRbQc0wT3P07FztyEJc/CwHW?= =?us-ascii?Q?y/u5uvS2DfZgaX9BGv7cJEvo9saS6LV1MQHO6elcGKH1aNmiYw/rYOL5oVqM?= =?us-ascii?Q?nt3rZfx/Vh7yQpDgCCjNAKA0v6HCL+Q7vkJaBi4TuUe+gaGrFeTlsJnvbBnT?= =?us-ascii?Q?2vJ6vQDni2qDCLVMzRcKO3olKh5mfJ9WmtMB7WqIXD7NTSIkRfyDOyf6DaB/?= =?us-ascii?Q?qYKj7OyDfL5H9gNyNdKubaxuKGeZp/Yx34w7nhOFeIb6bXY75G/Csvwt5JFa?= =?us-ascii?Q?tYJfs12c4z5mZi0+tJ9RGQUyHPMva8d+ImWhglQyuRhPz/1gwmxKS4oYL9a+?= =?us-ascii?Q?enTI8YHFW0pIeZScp+CTRklrlortXXb5UB+7kc8JtHtv9qclyF+vKJcn0X8I?= =?us-ascii?Q?XZgFuf+UMdVW3LsbE=3D?= X-Forefront-PRVS: 0373D94D15 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39410400002)(39860400002)(39850400002)(39400400002)(39450400003)(39840400002)(2361001)(50986999)(2906002)(6916009)(8676002)(478600001)(5660300001)(33646002)(81166006)(76176999)(53936002)(7736002)(50466002)(2351001)(305945005)(53416004)(48376002)(54906002)(42186005)(4326008)(189998001)(36756003)(6486002)(5003940100001)(25786009)(110136004)(6116002)(50226002)(86362001)(47776003)(3846002)(38730400002)(6666003)(66066001)(2950100002)(7350300001)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0150; H:brijesh-build-machine.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 23:EWW+9h1ngb2xfTq+fmZNeJdLb923PCgz/Da87g9Yi?= =?us-ascii?Q?RPEHFfZjRZiZZO6ZKOAJweTxUw3f9MSf2wuiO/J50QNugyXtcOee4cfEF+6a?= =?us-ascii?Q?OE7mUcZRvwXe/w5qPuBL+GK6o+3ttdpcJqBc/vJPX5bR71FpsexYtGDGiSYZ?= =?us-ascii?Q?YooeX1cGb3/SbVLwhBYzebkvgDIjrreIe2xFnmcJmk73irv+Sq9IF7swilwj?= =?us-ascii?Q?xKPTQF5fvV8DZyiDWP7WsvNJvPdqp6ZskN3XeGBYQIoRdy4th13E3lPCadPh?= =?us-ascii?Q?qvhf2DXjOdMoiKnUAuWBABE1SW1uWhOsi108SFTlYBlPJ4KXKrJqhHgQtoNq?= =?us-ascii?Q?bU9oVXbHySbVowQ2x9TNBIZDkKHiAo4944bWXFgJ6Ndwt28SHiE1V90Jo2W7?= =?us-ascii?Q?PugkGYrUYmlmGtLOocIjPQvJzprOPZ8NRIjb+CG88pcfdyj5mkro+dEXUgJA?= =?us-ascii?Q?c/Wou0+5n2D2ora/FJyN8yExJHNpVbCpqI0wIQczGMYSUtBO8A5QvFkznZp4?= =?us-ascii?Q?FMVqH8qSr8bMZ3wfODmWcBdevNB7q2EKCjet89T9l6MesZQ0dLM8K2AKQKD3?= =?us-ascii?Q?4hMWISShjEeqgmYkfEP3UctNsVDQteEP2tmABcB7lDiXsPoxwrOr6dfx5dMG?= =?us-ascii?Q?aFpUYjDloAzbfznkTs9FhPRLJgstO5WKnoUzjqUzlw2CGZyHz7NwN1IxzwQh?= =?us-ascii?Q?Uel1sjpgTT9XyQmxdJTZi5L0DFxpdc7Y5zqmeYpAzUmbQyCk+6flwloZ718G?= =?us-ascii?Q?NgWLmhVuCUDwMANl6eYBX8LkdgTX9xwlEU+twmuMtf82QsVdbBAsU04q4a87?= =?us-ascii?Q?u/ZgFeRsupfkiGVoEZIo9nhQ4Gu67eK/sRIvo4vXzkCwaxZf4tIB31yYSUvx?= =?us-ascii?Q?JjnDFVuZH18lHiLDq2ChZqZkDAEe5351k/pbkrBh7s5si2RegOiME7z6iyTx?= =?us-ascii?Q?CQsOtdhWv/JhUrqI2j7SyodMMLDRa+3h2VYe57+7aEPt3LVvgLHfFaIQCvhl?= =?us-ascii?Q?EU/0JqYiCkaLRXGnJ9Q24FLaAQbKxhj83FzTRkLyNQlh9b5NtISW5OIihoJ+?= =?us-ascii?Q?x9MSIu2icgedjLG3ZKa2gtihqev925gEZM2HawSv8SHqZXYZQqOAcNQx5pez?= =?us-ascii?Q?4v6pP9NgEJ+ZXphq88HuXtME/pqr6yrOaAWjhLh32e9hJmY1jF5/ZjkIzFJV?= =?us-ascii?Q?fpB6Ivx1vqUqHs=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 6:Z5qyYLQJf9IQ8bY1HSP7oc9qJCjsbV2M6+pp0HFk8Z?= =?us-ascii?Q?V1CUxATUn2LLOZkmec9qKnB/Q5fyaek/6xwVBscVbmt7ZV7odzu+RkIrcNRc?= =?us-ascii?Q?1yXH2MKT5q/T4t2tndaFwx3fn03yQ0E6WpQslNtKLv3xSoapNig3VDqpbzxp?= =?us-ascii?Q?G55FBawA5/oIlxd+M1smKC0T4iRW9NaXO6yPYoO1r7LTT5aKZ8BVwcYzPM4p?= =?us-ascii?Q?vwTF8vBJW4S+Ueh9pe2guGem2imXIYY7JUUBEtTVpGLvbWhTN1WkVolljTNG?= =?us-ascii?Q?tuS/pXSixpHGnfo/d+hy/bZPWBPeBvyVf/Av4bOWAi0sKbAkvIslOkKFzT0I?= =?us-ascii?Q?2A6l+XD5owQnbNK03RS+eiTYvoPq3MddAmJmCf+/TH2jmlWW2Ss9yWaF8t6y?= =?us-ascii?Q?dd9VdxVqkfmZvHlZe4WBWiZ4UC5wNy7vXc9rY7cOiC271O2K0S+c/4ikO4J6?= =?us-ascii?Q?+3MUMv+BL1XLbpC6R4uJvLeVCl9ik9T9+sMUxRmrreRhlC9dQkv+3s89rw8e?= =?us-ascii?Q?7v0/ZuZQeODgylO1Nst/Sjc68Hy41aCzC+CrhccF2meckMXLBpu39n4KQtNo?= =?us-ascii?Q?jFidBK7CvQOddl8cu0aXAA6+opOT1W+ylaax7qjMVZgCSMV6aFa5558JEeHE?= =?us-ascii?Q?ZtyAfGj10Mc2+wQgXDDM3/cJJSx2IeALgMFcNfMwS5/TrgBWmacCQbh/zpCf?= =?us-ascii?Q?XDGyYzD7OwdrPXLAPtyRGu71cx3Q73rTXvzmpn4QrNtOq69qr31mvDF2/jI1?= =?us-ascii?Q?rqhdP2saqxyEmfN/n/IaZBDLpza964FonSfceVSuuJX18IYnkor3dSE5n7I7?= =?us-ascii?Q?X8Y41ZyOL7rloURiIN8JH2IE7Lo/zkEHHJfN16xp9c6GOCAqrcOPjI2X9RHU?= =?us-ascii?Q?jBFj9ScqzaSaxwxaBae710ekx2oK0ILYD8UhRQzltpQzmHep6diWsmLC6O+X?= =?us-ascii?Q?xO2by/G1IJU8r6xHYMSHoNyWOsXTOa7bN7zCyXP55aHBjVC/hE2474+BXCRR?= =?us-ascii?Q?/P3QBP+CAeBqpUzJV9o+rq?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 5:E9ggQXx9V02U67LRottMgTqBFQRIbj0oVdntcIsL6cIOwlHFO+eS8caux0+HkNwupafTqK0SHNCyKQgIhSRbOE0Q2xtAm0lYNweKImLLlZxszJbQTfYgdRc/TuLPS4FbAz2P1Xl8+h01EhFvf+UegvcgmC8L5WBhomBKdqXwvsQd+dJ8AKuKoa0QckKtA1AEJ9f+G57Ab/88wqTHnG/5QwTgePl5VPqctk2vD3Ql+FRFknAcN8eJoYHzLBaTuf3JUl7rwBlrv1BrqO6Wzb12jn6tGxd8yIUyxU7hqshqNnN1T6iYVBPSO6tQVgokgF4Rc1lav8FApqxk8DI9amY9VrUPUX0xKnbj1OvM5BSWaYNhhjO+65jvHBHszThZm8MQ9vI/Hx2OQAGhrCuM7LuyqBxT4JnLqmG9yogFFmHPxD4XFD85TYp06unm4GtCzZYU3DrlfQmz3lvlA6o9pIYXrpeP5UsVO7VIisZMBI0TjnaDGKZsvaT9zoidSsfQ1160; 24:PQpfE7kjcmjvddJV1OwgSEb00B51FJ2MITpH22clHtTCyq9Di/7X0HIDLRDGfdrWB2dn9gT1o/Gcs+5wNO14EkLtCfLRmyx6kEBwH1/2f6A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 7:tD4zaK58HFhWBwVdpWy8kVEgGQncQ1P965RQbbpJ83CNAXmCl17dz7OJlZAh9M3K8KM2B1vaG7W2ccJeGIldjv4f0n7cS6PP2vvrMwbiur81aLYqR76PiIdTPHV0pPwcXZJn1yT1N13KsnG4NUMJMAulIM7Nhpe+HuRXiiFXKCaFJqMykw0hTpHSp7eNa8iHtmjndBX+v/2U7a724ONUugDuz+cdoqdCubmW9RdKJbyPQxA0kfXfmr/8QB82WYsldTfBJEmVT5boY6t4AfSlY0MmpAALGb+M9kMnOfUPEXcA7rUjrGqLtImrNkVEwGungFgKVWqH7mLFQufaklg8wK26/EkZ+85191yw+GxZKsseI0odBropB88jZdasT5G3k9sl4HQSdMKg/vc2gUJoKKHDbrhCWM4IkXXNWJ+2DzMHT+icH5tyxEaCf72uKpJj9PAtaVq7ZT5q0GvpAWBufK9r2yzbJx67gd+FwegpK9HYJdQ4FvovjV7K5MGJzORUv23FxUitXRd4P5Aj+lm8cWciJ+UAYffGlGStHoiMDNzVTvyh1+KSmQdhV2xIPwNNBJov/h7Nti0ys/Sb34QouELdzZa/XK+K+1QfZhet0Xz6evaVp50J/3FGjeiUXtpcWRYmiFGCKwbHaiNI3l9IFDXeuGTmKD46lT5s9Mj8X0UdNwEml9UnlT7EIc4fLG73vS4OxMoD0dhi/I3pKmv0nEIkIrVP2/rjI6bYHF54DWkdAVNcUVBGbJGQ1Qx6OdUUjKVpq2mu5D/Bh24UTji4cUnNxEVg3jn01DGXrDTbU3k= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:pja1fiHUm7DzjrNVUMrW2F5MCde4wv50JcCgjHabJtgrDQFrJcXcePFllXS6rSSajX+0Pg82bINhhRRwd0uXINOT+DfRlhTDZlClJQf/g28Mt1Zpla8qeuQPJ9oRUorwG3K/zWqPZ2yp0JjntxBFSdtLl5I0q7rVrIV8QhnroautGC6E37aGSWgzxQH9If1flZ2temO+yfnZYQZKlS6XhOU82fgGIgLfETsONZN2Kz5+EnwQqTnHM/1gAvfRdqte X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2017 22:09:32.1125 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0150 Subject: [edk2] [RFC v1 1/3] OvmfPkg/Include/Virtio10: Define VIRTIO_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: Tom Lendacky , "Michael S . Tsirkin" , Jordan Justen , Jason Wang , Laszlo Ersek 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" Cc: Jordan Justen Cc: Laszlo Ersek Cc: Jason Wang Cc: Michael S. Tsirkin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh --- OvmfPkg/Include/IndustryStandard/Virtio10.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OvmfPkg/Include/IndustryStandard/Virtio10.h b/OvmfPkg/Include/= IndustryStandard/Virtio10.h index 4c9b62a3cf59..5948b9ef1d9f 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 IOMMU feature bits +// +#define VIRTIO_F_IOMMU_PLATFORM BIT33 + #endif // _VIRTIO_1_0_H_ --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Fri May 3 12:01:53 2024 Delivered-To: importer@patchew.org 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; 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 1500502182472207.06618496228532; Wed, 19 Jul 2017 15:09:42 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id C0AF72095897B; Wed, 19 Jul 2017 15:07:41 -0700 (PDT) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0041.outbound.protection.outlook.com [104.47.40.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 23A1A21D1B2BC for ; Wed, 19 Jul 2017 15:07:40 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Wed, 19 Jul 2017 22:09:33 +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=pz0ixjWxm2iYFlziotvx+QmTC7xQ/Vu0uttwW/MblZU=; b=ImRKK2BrKTrtH4KoWQsUmVXoq7z044xSn9VztyYIO26j0KfhjKwIcFdsHWpCDUnOTazhn4yko3deLTxF5mFyVsv5DG3H/hWPRaN9mnvCR9R2inEkDY9kgMYsIm8LhXJj7osUez7IAtBJj3YQf1oLHumpCdA+I/iid/TQCLH4Zw8= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=amd.com; From: Brijesh Singh To: edk2-devel@lists.01.org Date: Wed, 19 Jul 2017 18:09:10 -0400 Message-Id: <1500502151-13508-3-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> References: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR02CA0012.namprd02.prod.outlook.com (10.168.209.150) To CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5ce0b16f-e56c-446d-9363-08d4cef2d66e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 3:InpXBJ/sl33eK+vshxiCOlAG+aqrgvodltcScH2ijfR1GK/d0SeZfEqR3Js+qFrarMYptEByYtqxCFfCRX7zeHEY7OnZxLsOMh5P3ahuZ4G/iJD1OiVwOrdUN6XyK0Wn7cJJqxDgHW0ITrRaONKa25tYixG0Jq4hZ7Ru8hfC+JzETttVapld92Ax+llGOKZpwYe6zkcFPz0DyfSRvETdftCyX8xwr/xVzvJ8oT9Irh7r4tLnl6GTE3SGeqcs3EZof1gXLU+rTtBz9FPAn80q2hvlBtE7S3Yir/RDgIoAGl0yZGKsMy2+LvQOqddmBQa+Mfbp+7DN/uY8WVbeHatX6PLgJ1AEmYpkkJFab2QPTYBLy79uVc7XCm6YP19vnFbtN85+/h2oe4vRog1zXCAFO2qiMIkmCllfCorv/67PXJD2tP+FKt3doG5uDgH4Te9aeGkjB9OTKecibzH8Sv3IBg92ZmHRISCNBBPZfFSdr12E6VGt6YPlayibh5ULZnPKE2tCNhssxJuK97i2aB7iV0G1h/Dd4nCYXJEboqFKA6FbSL1wSW8bhQBJG02jiesDWOznjJAp4Cm0ovG1X/lrMysdl26wTdFSZbpHSwDyElTw5OioL955YTF6THERzuzGYBhsiaZrF9iJCPPR1ALWQBnuqZ4XpgA6ghcApOvioX/YHJXCiv+BedI1Mul2KE7W4g0X8MlZrryeT0yTwBt2Ct/Z6+NtwvKpXiZPQI5lZKDZtIHiOCwGrtS9QK/1qjGpjinXz025//ary678GAhNCg== X-MS-TrafficTypeDiagnostic: CY1PR12MB0150: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 25:uMrDdh+wBq6KKQvcbfyEXq2MPKNyRueDgkuAmdZYJ1zK4oqI05ry0i7JKQR87oABpyNYWXGRyCksbAO3dSfl73941RrRTo/YyMu8h5Tx+yl6UgwKgd+uvNUn7D82a9ukuJvapGWsJ2+AGRPxpZOKwhUd7yZLic3RQN5wE3vRCwaOL8SFQr78vNijdZd/ptZQSuOhLrzRRF3yoJ/5JfXk5JtKWtBNX26jjwIll6TfjvyKyt1Uvk+KKc2UhCNJkBPT5iigHbPS/lgfsoK4/gD2rmWbissxw4cTGtN5FJ6wOcDIUQVtIDI72FKZBZIPriVTim5wAp3y9pC0NTHFejMukgeCTmZpTfucDoZ4Asx1F1TZLkkvWEW4SxJQxkNnL9vKxa+avhNEZm5m1tLnkRv4yf05J9s5BiAqYi7xl0QKXBUAB6+FWmw3XRPqbpK+6Sd64StxKLiV6IsEjt2ty6zGCdTdtLP+vCr4CWhbG6/1h0wlGEqL1BrTtEZmpLvheSyed4u5mA1UrBb4u9yyP6b7aYAhtpBvin7zMk/rY2EtBNE5UFDWXF4nnaHcaTw2UOrMIt9ry0+tyhn+XHWTQJpJPL38GjsRkz85U5rOYsaDZUKtV76JwZfx2KZdqMHxTHPHPpa//XJAeBB901UBDa7JA0aQz1QzqNDR4GoDPySi6XFar0UvucDSidjLFyqiz6WUf2WRqwZeC5n7wW+74qUF55KL3EgY6fDLBoRqsxDVKKNDc6X/oxCeyo0NfGZrYUBQlBUpN7VpqMSc5+dkRhKuDwA8IwvOW1ZQRHpNDhBGwTR2zXSmR4TVkpTRwCKeSvmOKfJlrojnSIq62SoJHzUAGbGX3dYZPJzOUL2oowZJJw/wn2ue3iiZ3DTJoQc8d3JpEKzvo/QqPPgF7KDJn+IPnP2f8xkc82zrcUVbX0U7UU0= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 31:v5ra0lrxKCBCTJnXZUHq35HbhTPizv48LS1fWn5qw67gxDbQi5aVL62tt0tvuRLMh7/ugMGotCNMtol/PvcU3i/6Ku5s3nW4TKBcarAp6RZuqPzYXWushZTOKOz2MOGmPjLQumbr2Ch4fq05aEBkKCU+S4R1LTvI/OtlhancFTOGmps+RI1P+LNlvW3rLkpgq3aL9MfVIp86KU69q+Fa+cpA0a+BOjceJCzTHWXJ7fP7xA1i2DeUjIbNM50brCmfNh/DpAtDBClUVjHVoPuZXUrsmQqWPrNQopbj1jvEmTGmHtVcESXEA0lAALBLR0LEWXEW4XKgCnZ94NU1jYX4VEV5YCpvKcfD8mA6ESwDgHkgK7gpcGyl45+7rZmcBEgcYcaF1Bysd3j3twasjuk20vMVagEt+uPnCGMmTYJ1naO2OgbAsZKnL79dZaJU2QOSRzJObfN9NwX81Z7VIeBlvTwqBJoI/YsqvLWOzOkcDvmocyO1k6sBwno+bdS3WGuq4rmLXC2B0M8POUr6vovwYQXsSStDY+zR9KmA64+C2eOyy4Ld+SneoE/USuNH5h5FbdNGNdqzEfh65IYzsr4ewaO1ONh/mXLlch73fVJHv3hkNuWSyvJ5cIqZc56D78fH7ya0dQc/0TbwCGHOor/YmdxpFf6lT4jUG/H7BL9DxW8= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:94uMPUh4JSrVbuERHommA4U62QIWVc7RJZOGvaguInwLkoisI4DHmaXLJ+b6Wt0wrqrtryyxjVy202R8X3mlB7qCyFAcv6c7e1gsgtc9aZlTiYefIyIKWuM+6k+pW1It88k0sikggjE2QUQGdVYiR1R6C7Q8FkO01Q6pwHRgPzf1DZsD7GZ2nbgm0Qxhnn+ei1Qa01G24xr8eGTP5hN3E3ZeZYF9iPR/kV2Ngz7bkNiMyOZJt/aceCxawZMCu8Fny+qRqA06k+83KV1VS68JjKQbE0jktEWScXR0vB/63tQJAOfomGWhX44mlsDAVWAjXDahuOoGCgATjMBwICTXzshj9Rlqg4DmN9sjuepX22/dwol0nM2nlCoXZAMqw1mMYIZwcudWThSYa7mte0pMHYGJAqrbf6+157SMCZ8l8V/MIdAnvs1+49qXWlZQ05dTOrCwkFs/e/qOrMb+17UwzblEqpLyh0y//5CSpq1zzMWxr3U8NppjZENqahhaYwuB X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(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)(2017060910075)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR12MB0150; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 4:ub1DRJyE7Z0dnJ8oUqrLFIut303KEc/LtH69N0AWW+?= =?us-ascii?Q?Z7yJeAAjhQJLwHrW0Mr5LPerWX/C/C2nUOcgsio1Bh3xW8zuyOzjf3hIUZ12?= =?us-ascii?Q?hWF0wi/kZyDcyerA8/OR2J2LakRbUn+u6FBjBnJ/+HonNJ+65iTOV+PaV7cc?= =?us-ascii?Q?Z6nb/woY8VSa7pb/ddpUXB2RtBZVkLwttAEoRKstbhMGQ9+T3/8K9s8KOLrs?= =?us-ascii?Q?sYjBRt6wb74ighNp0h/kduVzUeWIxetvWUOIBq0ebrSN09RRhXv6aFg/kt5f?= =?us-ascii?Q?9keD1AIWa9mY62TUNP582ofjZ7NxKs35MBSUiNZqD2TG3PiloKqlbiRauILH?= =?us-ascii?Q?EdUCwIl3V4NlT8RRcCAT76T3HbOFpXbKaqfdg/Caw89MCYnaXmrjxpK37Tgo?= =?us-ascii?Q?Sw7tHHcPk/mqAoBI7dCmApYHZB8deO4qa/j4rPtyIkn8rwp3VJ9f/kBwCRLv?= =?us-ascii?Q?iWmStORWNJG5gzBpsvX84d5FeOIctlM4MbMAymMAZUnTS47ek+rQJp5RVllF?= =?us-ascii?Q?QTmRr88l4woDqRXvDIjBIsCJ0QfDAXCoRZxh68PIDMi5n5mhzYkG1jT9DYJe?= =?us-ascii?Q?cqmu5F04InfPiGsHn3Nn2P1gFpkTWOyyQRHwlk5sfFVhdygoo0ZkHYOxV35t?= =?us-ascii?Q?8vePfiDICMx4E9/HPTNIMURGDlCbVCm1O2M2CLkRIZ8/vOxWJaHO1xMV+A3I?= =?us-ascii?Q?YIs4RTwehACVZXycUyLPT1WSOcBF14cuNExSpeU6XHyt1+/XNYYmwdKMsbhM?= =?us-ascii?Q?Cw+Qqa3Cyp+TVFonTrasxDd51+qz33OfPjOiHDTcpnmAqBRzlK/sO5dDn/+8?= =?us-ascii?Q?WYA+L5VSDrG4fznkoRg8P4hL7gisIbJhyOzkY5D5ADpssvt9zbAokk1aJeWo?= =?us-ascii?Q?yKDmVtjmZotYZf2WJmD6La4DvT8x11sXa3RME5Apt2oJbwtUdWw+r4NGFLpd?= =?us-ascii?Q?27+L3aa5UMSaJxhcGbqBZcYHSjNXiXuvoLCDvmV8n9K55gSM6rlbKoZ0OM1i?= =?us-ascii?Q?ewmnidMhIrD2uYADJWwO92jTCuWptbk83Ohbmxa9tCgNY+qrPTtEd/KgjUog?= =?us-ascii?Q?xsNso6lnWuvOiYoVdnrA0uLc+JsNVGWgBW8CO1y09C/9m8Hpfi/c7U6Yu4Oa?= =?us-ascii?Q?mITLqC079+YIQKRKXrSrRo9eZJXUGq1BqERVr11fU17GsR0giSsivaMt/20Z?= =?us-ascii?Q?CAuz5zwksKO+8Eca78aLwElDyNMkapUH35SYQ82ACq/xlsxUzSGVGNVR21Yv?= =?us-ascii?Q?BgDi8K981ergXgwXB++hPnKbGf+wwHvsrMfIA4k5ixxcfdi3oW1E30iccP9f?= =?us-ascii?Q?0jkkr4tIt0PwTMJ1BkNzpRJrFs4DEUknYwN/P9DHbs?= X-Forefront-PRVS: 0373D94D15 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39410400002)(39860400002)(39850400002)(39400400002)(39450400003)(39840400002)(2361001)(50986999)(2906002)(6916009)(8676002)(478600001)(5660300001)(33646002)(81166006)(76176999)(53936002)(7736002)(50466002)(2351001)(305945005)(53416004)(48376002)(54906002)(42186005)(4326008)(189998001)(36756003)(6486002)(5003940100001)(25786009)(110136004)(6116002)(575784001)(50226002)(86362001)(47776003)(3846002)(38730400002)(6666003)(66066001)(2950100002)(7350300001)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0150; H:brijesh-build-machine.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 23:CC/Q3nPxqFcLZyA9LBnw1VA5YHnMoDZaVSGvWHT8h?= =?us-ascii?Q?D+liZAaydV3fbqLBsEvPHRcxJXZwQL8Lc/ord+azcE3teoUze/veywqjJCsx?= =?us-ascii?Q?bpc8mqQyHv9JI8WBf0qSHaj/IbalNFMfbStpNvcEC8kYFuObuwrWLJRVN/En?= =?us-ascii?Q?+qeP0jQZe6RnEKTAGePaiYMRjprBs0AR3aP6BMLxgFSR0JsmtTL9KZyEZAkh?= =?us-ascii?Q?DwvOVf0PT274rOfyn8MIDe3D8F3IN3mAUssxKKlr38v2E0ucGJaxMPu+Hsuz?= =?us-ascii?Q?lSYrPwt7uj0p6/47yEJlaj3I+7qjFv1qxrs7pm1ogBVfqR/kX2FJzvL04mwt?= =?us-ascii?Q?LjRjpmtlHre66sO4YTBYnyKMV1IOzzKQCUqA2aNAPMXlHN0yuZA6ig1jC4tB?= =?us-ascii?Q?/dUVF5DDGgUdMHGhktqXqeR4K1E2jt4da7it1EzwEgMdj1f0jhqfowzRHjmx?= =?us-ascii?Q?0WLuNDtlAqyRCBhYrHsUUvVW0+ld5HDoW+3KMSY+NKksMesXICE7BPEa/sBO?= =?us-ascii?Q?PFvWFrAXniAbz1mXPF1jAMZNoGRTPspWEHlmDMUapI/zlVEg5jDxu9u46mRS?= =?us-ascii?Q?MLytdGygKjzGiVJI84nB7QQhpa3cJs6l2LxWM4eyGfJEH0zUCLse0NalBURL?= =?us-ascii?Q?mTgAifq0BSovf9BYptY9QOAD49Nv4De9ByF9SBMwyXOEm7XL0ccy4IyC98sg?= =?us-ascii?Q?iXQWN93s2j+BfdNPd53fjffNLcZ3pnLi9q/EwmTyyD3LQNdi7a7+d5Kix+C/?= =?us-ascii?Q?BSO7vnn0wuwN0UqvhIu9w3lIAFxXmSX4lLpb0lOzouoOTK1QMv2M4I5le+dZ?= =?us-ascii?Q?c45P0NFshc22wjk0F2mDHH0kUvaJVUFHw+/c/5Yqrt3Jro7jwrkbsgu+VF6y?= =?us-ascii?Q?eANMpa/tlK1W0ygx+6iDaom/Ez9hLrLWfiqu5JXsxpsJXR4I7OAiiZfa7naw?= =?us-ascii?Q?s7QY7kR9EYSgSMKcldtOR2lzBMAi3/iLJBa6CbKFZ9XSzXvtICJ5hroAd9Rw?= =?us-ascii?Q?gGgM4zkkRoUKKq2o3W/ilkVdYMmHdGdwInuWkfXaVTrhzHN/YVjhp1UvrVYu?= =?us-ascii?Q?bGf4ToVpQ8idlhgNFBDGfRzTHcId4WnMjsTDFA9qV7FiJ9WwbHk2bJ+p9pXD?= =?us-ascii?Q?qIkTDt98TvCuktAmXYoE/HqyHzjkUZFCsDX4GOY71gkkjWjJxswPnJZP8YNY?= =?us-ascii?Q?lxCGGmzfc1UHKkEGxzKP5Ac0op/32IsByNC?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 6:iKQMCr8AMWUidHUzmgKJQlwrlO54nbRFXkr6/tpBJ7?= =?us-ascii?Q?ll6GXUxvbb4rCsbh2qUeaXxkWtg2uYZoC/2TQAi0uLm6VDzl7aYqMmPOhGRY?= =?us-ascii?Q?8vftPtgoowqY82uNJIu3JkBqjrTTCqamSqYO2KaSWFW2FhOUQKltWcs6Ofhg?= =?us-ascii?Q?2IOIlI9L04FZPACS3RSGCnQ6phyDz4DfdDEKelOTzVFy8Wy1+LQwW4yuShm4?= =?us-ascii?Q?FMn+nHj0yFoAFA8zpoMTEyAi3A0Vk+aZ6uxYC8rGRPCrJ3ts3DMMu/GlZY4d?= =?us-ascii?Q?7QnaAcuDnc5UuTC1/V4/ynkG706qExcGUkwd2h/nh7DWsolj/VdC4I6VdW22?= =?us-ascii?Q?7j4CxFTVY7ipYMOyTuRNOBaFZhu3Wz4/FgCD5TNoOAc+K2NM7fqKLl5kCxvo?= =?us-ascii?Q?TwW/fHCFZ8JCJ2VluMkBNBqChn+bLvgVmplXg9iAbVBAQwKVrmCTWuHzuNVw?= =?us-ascii?Q?3XxX9x2cUA1X58sNNa6WGeHw9IpOwtpX24ScyNI3IyiAYF11EjXIJ7rRvkfm?= =?us-ascii?Q?1MYUKLtqOkVyQ7b67EMhDEyR6NwoGkODF36udvx8YawctCQ7bw4Y8drtcgNh?= =?us-ascii?Q?sStUGvWsCsdWYY1mz0/Tw5szQcjxAVFYKDm58Y94wUO0bNXEjqBQNWZlz4cz?= =?us-ascii?Q?x9WZwbAJQHQy3TFT5POgLlXP4nmnT3ZIRHHfSwRoZ4Ees8mlNBznky7eNOuD?= =?us-ascii?Q?cYqCXLDMJljnIeUcZWVz3di8wt/yFsI6XHnvjE73ynE41vme8PqOoAAN6Bzq?= =?us-ascii?Q?r6X9JOHfXldxaehVf2lJzqNgShspieZDkiV9AZYLYXtlFq0Jdenss8YvO6jE?= =?us-ascii?Q?kW8UONUEMFi2nwX/yfASV4CA/MvSCb4cxpzCp69135bhsJ8xr2bsKFUh7/YA?= =?us-ascii?Q?OORpV6wZWM/Rj7WIT/FgbHs6tTYkN3uSGYQn57zzIxONdKIFXj04PVjH/OxI?= =?us-ascii?Q?E8YLCWsIvl6xMYGzNOFOjz+gCZVR2W5gOO/Pli13Vk8Ux0YAn5LsPyXN8oid?= =?us-ascii?Q?nSLHVz3piL51953MNMSF49?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 5:UbsHv+CZnf3tvk+T0N57sbDtowJ7VFy9Uux0Y/qeEcJDI8WOWwMGMvLFz0fghjTC0ncxxA1PBE0xz8xY5Mc1y7roR8njddaOp2LZsQUqgudSG1fgyxIk9fImruDKPcKbEsLfqlCdCqBEMrmN6szoPsNhxMKCQKfv5RwAaJjMwCPrHzK5nPqHJHLz0APP0ukCBHV1iuDXh7BxnA/ZUiq4ra/hmphJXSnW7P63MGRY82HHpbp1Aoy0ppAToaMfPcgsxPNoKjbweuFF5uU9mPI1D8pFHX+jF8dQEdDlKKVRGx/Yrh5ub0EBqdF3GduLjmB4LiBOrMzlkLTMJnEOvtVna9CEhNE7/P/fUBTIDKGjPorzKqb4wObx5dd+Ti3FAq7W0KDkA2APoVigwJiJ8QtiK1rNMyNUue8g2z55gypC/9wLGHT1k+TOTF4tFHtnCgjL3g1wKD3huA24Z3mIhOAf7Osa0Pnc4zn8ySUTaQKgCg3xjKOnP3Mnhmv9dBK8NyaF; 24:hmvhzAoBGm93klEyxIQ7EkoVvyokeHbus/jgykY4U8qorELDYg2cLXNNW4UZH/hQ/OMEiDG1h0BMarYdZRMcv/BaouceXI2ItD5BUQv+bPk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 7:O+2dSTsmlOTwbeBh1lqdfp9M3iPITkK3Zjmtg37aATJuam9QOLQMUNIxnBAve1kYhcl74r7vcFnEZkeZh3kAPnnWQu1egHXyR9L8rYT4slvsEsKkUG7H3vl37C9DrvOfi+jbVUiV+RREQHFQRCJMd4dlsMEsgoJuiOy4u6sKFY0Kt9R0A0ABSGNJQg2Zf6jAcZQZfWPpQuLnQlZ8GILw1xQAXfQVGcFnoz6WUdMEYusDANG0WxO1CbgQSqbIsijmXlnHhygqXQz0hIII6V2qtePw4PIsFUHrOq1xfIZsAa5oCZ6aLH4oSox3UZo6lw7LqUEVRRX0ez/g5slDI92NGJEH1y5GmmWrZ3eSTsh6BAR2e/lTPyyQbkEpZIeMIQ9+ggDW957AfE8Era5evEpChIfd0aN2AuQJ2Wz5LocDGxsGMblCTwpugQzx6Nf4RGhcoR27GvdSfgeMPeUCgFPSbxViPA0hNrDOWrT0KpqnwbrISlSgH1fmbnVUarnrP/JZInMuhOpw7dTenGPdebjtw9i8PrZ6TIEnTIGO/O9EE1Pa1fzffDOuPu6P/PySboTnjsAnWev5h7N3tW/ljvszBjNn0uLMDg3uGulS7ySOHJxAbrzCEonOLcObnrTFv8vLUwdyHVnRDzEtU34SyA0NfFYkoKvPa7yGPTgpf4Qt/QeX64nlp83im3kn5V1K/Ofwo8K2OhXAjbbIIJM8mTtHE7SlmGDeGtbmcI9QzBwfNIwwTxFbwgA53tzqatQDSct1CIka+rBnkb0R+i2XgBUPeCseXaQjhtBo+uduK/01IBM= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:SzhNkviff5w6qDM6ZsQCbtGLHFC6UbswEUmmvMxmqYLgzEhppWRI3YlPwhgEDRMhFm7+pLtc0uxhnzUaiqZw2Zt1QQt3yHBm7pHPuuRyjpRh8HFoev1h+i48UWPWV8Bz0n2d1fiBqN7VA6MJwGQTuBL4z+Nqaxdexcp/wG1Yjr9Jleg2xnhQddRxW8HWwzRDmcgZuiWP3M/oSVmgZE/wKPgtE+nJwocQX/IEyAAteDGqRcqGIIX6xJsDTPD4AKsD X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2017 22:09:33.3585 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0150 Subject: [edk2] [RFC v1 2/3] OvmfPkg/VirtioLib: Add IOMMU_PLATFORM support 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: Tom Lendacky , "Michael S . Tsirkin" , Jordan Justen , Jason Wang , Laszlo Ersek 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" When iommu_platform is set, use IOMMU protocols buffer allocation and free routines to allocate and free vring buffer (guest-host communication buffer). Cc: Jordan Justen Cc: Laszlo Ersek Cc: Jason Wang Cc: Michael S. Tsirkin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh --- OvmfPkg/Library/VirtioLib/VirtioLib.inf | 1 + OvmfPkg/VirtioBlkDxe/VirtioBlk.inf | 1 + OvmfPkg/VirtioGpuDxe/VirtioGpu.inf | 1 + OvmfPkg/VirtioNetDxe/VirtioNet.inf | 1 + OvmfPkg/VirtioRngDxe/VirtioRng.inf | 1 + OvmfPkg/VirtioScsiDxe/VirtioScsi.inf | 1 + OvmfPkg/Include/IndustryStandard/Virtio095.h | 1 + OvmfPkg/Include/Library/VirtioLib.h | 20 ++++ OvmfPkg/Library/VirtioLib/VirtioLib.c | 96 +++++++++++++++++++- 9 files changed, 121 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Library/VirtioLib/VirtioLib.inf b/OvmfPkg/Library/Virt= ioLib/VirtioLib.inf index fb5897a88ecf..6629d0d52b04 100644 --- a/OvmfPkg/Library/VirtioLib/VirtioLib.inf +++ b/OvmfPkg/Library/VirtioLib/VirtioLib.inf @@ -26,6 +26,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf b/OvmfPkg/VirtioBlkDxe/Virt= ioBlk.inf index d5975b74eb05..53d5a164a0b8 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf @@ -26,6 +26,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/VirtioGpuDxe/VirtioGpu.inf b/OvmfPkg/VirtioGpuDxe/Virt= ioGpu.inf index 04bc2964c223..a6d4cbbd191a 100644 --- a/OvmfPkg/VirtioGpuDxe/VirtioGpu.inf +++ b/OvmfPkg/VirtioGpuDxe/VirtioGpu.inf @@ -31,6 +31,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/VirtioNetDxe/VirtioNet.inf b/OvmfPkg/VirtioNetDxe/Virt= ioNet.inf index a855ad4ac154..2b8996ed366e 100644 --- a/OvmfPkg/VirtioNetDxe/VirtioNet.inf +++ b/OvmfPkg/VirtioNetDxe/VirtioNet.inf @@ -42,6 +42,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/VirtioRngDxe/VirtioRng.inf b/OvmfPkg/VirtioRngDxe/Virt= ioRng.inf index 471beb37bc7f..898bfb7158c2 100644 --- a/OvmfPkg/VirtioRngDxe/VirtioRng.inf +++ b/OvmfPkg/VirtioRngDxe/VirtioRng.inf @@ -26,6 +26,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/VirtioScsiDxe/VirtioScsi.inf b/OvmfPkg/VirtioScsiDxe/V= irtioScsi.inf index 75581123930b..082f9a12bb09 100644 --- a/OvmfPkg/VirtioScsiDxe/VirtioScsi.inf +++ b/OvmfPkg/VirtioScsiDxe/VirtioScsi.inf @@ -27,6 +27,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] diff --git a/OvmfPkg/Include/IndustryStandard/Virtio095.h b/OvmfPkg/Include= /IndustryStandard/Virtio095.h index 6bf77cb32075..c81b29c6d9d0 100644 --- a/OvmfPkg/Include/IndustryStandard/Virtio095.h +++ b/OvmfPkg/Include/IndustryStandard/Virtio095.h @@ -154,6 +154,7 @@ typedef struct { VRING_AVAIL Avail; VRING_USED Used; UINT16 QueueSize; + VOID *Iommu; } VRING; =20 // diff --git a/OvmfPkg/Include/Library/VirtioLib.h b/OvmfPkg/Include/Library/= VirtioLib.h index 5badfb32917f..92a3d5e10f7b 100644 --- a/OvmfPkg/Include/Library/VirtioLib.h +++ b/OvmfPkg/Include/Library/VirtioLib.h @@ -17,10 +17,30 @@ #ifndef _VIRTIO_LIB_H_ #define _VIRTIO_LIB_H_ =20 +#include #include =20 #include =20 +/** + + Configure a virtio ring to use IOMMU protocol + + This function tells vring to use the given IOMMU protocol interface + for allocating and freeing the vring buffer (this guest-host communicati= on + area) + + @param[in] The virtio ring to set up. + + @param[in] IOMMU protocol to use. + +**/ +VOID +EFIAPI +VirtioRingUseIommu ( + IN VRING *Ring, + IN EDKII_IOMMU_PROTOCOL *Iommu + ); =20 /** =20 diff --git a/OvmfPkg/Library/VirtioLib/VirtioLib.c b/OvmfPkg/Library/Virtio= Lib/VirtioLib.c index 845f206369a3..d8fdb6310d52 100644 --- a/OvmfPkg/Library/VirtioLib/VirtioLib.c +++ b/OvmfPkg/Library/VirtioLib/VirtioLib.c @@ -26,6 +26,69 @@ =20 /** =20 + Configure a virtio ring to use IOMMU protocol + + This function tells vring to use the given IOMMU protocol interface + for allocating and freeing the vring buffer (this guest-host communicati= on + area) + + @param[in] The virtio ring to set up. + + @param[in] IOMMU protocol to use. + +**/ +VOID +EFIAPI +VirtioRingUseIommu ( + IN VRING *Ring, + IN EDKII_IOMMU_PROTOCOL *Iommu + ) +{ + Ring->Iommu =3D Iommu; +} + +/** + + Allocate vring (the guest-host communication area) + + This function checks if host has requested the Iommu support then it uses + the IOMMU protocol allocator for allocating vring otherwise uses Allocat= ePages + +**/ +STATIC +VOID * +VirtioRingAllocatePages ( + IN VRING *Ring + ) +{ + UINT32 NumPages; + EDKII_IOMMU_PROTOCOL *Iommu; + + NumPages =3D Ring->NumPages; + Iommu =3D (EDKII_IOMMU_PROTOCOL *)Ring->Iommu; + + // + // If IOMMU protocol is set then use IOMMU allocator otherwise + // fallback to standard allocator + // + if (Iommu) { + EFI_STATUS Status; + VOID *Buffer; + + Status =3D Iommu->AllocateBuffer (Iommu, 0, EfiBootServicesData, + NumPages, &Buffer, EDKII_IOMMU_ATTRIBUTE_MEMORY_CA= CHED); + if (EFI_ERROR (Status)) { + return NULL; + } + + return Buffer; + } + + return AllocatePages (NumPages); +} + +/** + Configure a virtio ring. =20 This function sets up internal storage (the guest-host communication are= a) @@ -76,7 +139,7 @@ VirtioRingInit ( EFI_PAGE_SIZE); =20 Ring->NumPages =3D EFI_SIZE_TO_PAGES (RingSize); - Ring->Base =3D AllocatePages (Ring->NumPages); + Ring->Base =3D VirtioRingAllocatePages (Ring); if (Ring->Base =3D=3D NULL) { return EFI_OUT_OF_RESOURCES; } @@ -118,6 +181,35 @@ VirtioRingInit ( return EFI_SUCCESS; } =20 +/** + + Free vring (the guest-host communication area) + + This function checks if host has requested the Iommu support then it uses + the IOMMU protocol free callback otherwise uses FreePages + +**/ +STATIC +VOID +VirtioRingFreePages ( + IN VRING *Ring + ) +{ + EDKII_IOMMU_PROTOCOL *Iommu; + + Iommu =3D (EDKII_IOMMU_PROTOCOL *)Ring->Iommu; + + // + // If IOMMU protocol is set then use IOMMU FreeBuffer otherwise + // fallback to FreePages + // + if (Iommu) { + Iommu->FreeBuffer (Iommu, Ring->NumPages, Ring->Base); + } else { + FreePages (Ring->Base, Ring->NumPages); + } +} + =20 /** =20 @@ -136,7 +228,7 @@ VirtioRingUninit ( IN OUT VRING *Ring ) { - FreePages (Ring->Base, Ring->NumPages); + VirtioRingFreePages (Ring); SetMem (Ring, sizeof *Ring, 0x00); } =20 --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Fri May 3 12:01:53 2024 Delivered-To: importer@patchew.org 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; 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 1500502187071337.84861621705227; Wed, 19 Jul 2017 15:09:47 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 0EA112095D8C5; Wed, 19 Jul 2017 15:07:42 -0700 (PDT) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0042.outbound.protection.outlook.com [104.47.40.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CECF821D1B2BD for ; Wed, 19 Jul 2017 15:07:40 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Wed, 19 Jul 2017 22:09:34 +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=3v4lgPM+b5avXPKzmqom88niOouQFy2yfIbzM9ZoFTA=; b=X3O7vL3y9gWgICzCD76+kBDHvZsuc5oQR6LgorX2T0BBBe44G3uYkN7NESmBZaWdfSUIVNLzJCGoj4yPiiq7+w2+4qlJ16qQZTN2dhw6zcfNSeiJJPB4iS4kHbr7W1d6WqIlky9J17kfg3bTXGCtmLSn+ZVWmTh7s2tXgfVTUB0= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=amd.com; From: Brijesh Singh To: edk2-devel@lists.01.org Date: Wed, 19 Jul 2017 18:09:11 -0400 Message-Id: <1500502151-13508-4-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> References: <1500502151-13508-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR02CA0012.namprd02.prod.outlook.com (10.168.209.150) To CY1PR12MB0150.namprd12.prod.outlook.com (10.161.173.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2faf2f7-9800-42bf-3756-08d4cef2d71a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 3:2Ts17Rz+PUFNipPlOhgB9yAffeDTL95x/I2Ma40/2DbtyvezcWtJfDLKZMrU95LBo+bapF2OZLeGU6LGGo4lbOOsCCf+RC8AhwB20imEZ6rjfW8IeJGy+WSncLA7QZal+1iNCEWfP9VZhP/7eVb4rtnT9kYo1nzszVz/KMRNBxnGxRy37KtbUKUu+SAjA6a1rPHpEw0c4Pwyk8SU37BMJ0da4sRZrGNqwngVgpCRYv2X+VnwF0jj+swjtD35U3r81EakkMQYM/LJ6syj5scJQiHZUo0FA9t+GYGFWjAC9Yxq33hUj1R+PODIYo23+TMynOEzBrvHoneS2rlpARZl7sI01niouklu050I6NVTPvtpKdBMLqgbb44VElq9l4PqnH0L17OwHq4Mbb+gmc9sRagyp7bzuxrD9TV4d6O/rIWYWbhn/NlVPOixtywY+TwlkJIeBAfuz8xjEpOPlBjs4Uip7f4MDl/G+1Xv1CjQHhAkpcP2Hwk9m6BQNTtGiYMP5SSBG9giMVDyeNcCrxE2V8pDSXFnRgGAdYRWOW6M5xZIIqhjV8heDFMsTJHuMblMiqsUDOn93/0uP0lMPq+8CreV+XQD6JLpDyEQ77mU1AWU03pfnRxtwBSclFIWPQroo8vg5Z3jjU+PULxSLLrCeGHb0vsOMC3sGMaoMkBgUmQOxCd4NMPupvGWQZlVVc0fmUhv2QpnFSuINlLQ9R12A2GWHNM4RF8kpYyNAN67guc4XkIrsjUsJbGcZzrI87ba9/RwfrA3Gvve5MkxC4kg9Q== X-MS-TrafficTypeDiagnostic: CY1PR12MB0150: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 25:fB5otw0FHmzIE/czNh6/EYBeWl5E9IHLyBV/BETRPdSxoZzuYQrGU9cPOR+aufYsSrWRD1y79rH/AGDpm/mfJR9dbYmq+M9TPj/GaGutWzHDeCNafcgbGTXTHKCz7Euh9x4w52Uxkjmd1yYcsXt5GInIJ9gNK6MxKhcgHhXgd6AaOfb5cRuWr8j9ws7ZZD/Ee8ILIu03kuibYV83RiqBhw7gCv0LaUNsHvP02HCu9OES9FugTm3fftWC5J/S4Yrjc0K0xbmG+5zDnUhlIMgbfuv8FrbiZl3jcO1xbmBwu6x45WDZJ6Y9CIEP1qAKZXVzcgJSue98UbBR8vuyIkt84KrwkXl2vNpI08ZOZjl9hzObhFRb77p5m/8JJ7lqFONI7TGhGsoqvYOQtW1Q3zQFMavYNhmhR5ZUd/LMAXRQMhbVQQtVXJAacAcITjpSJKYIiGHU4VmcZFkHDo5w3UjnD2rNxZWhGlqvs7kKJcI1rvAdPTCFTzZLiwqylhfzEc115bxbAhg37E6uc1F5Btk6L5hUwRuSk/wYi/T8fVNZcaqB7GTLTIbk6xoInaXnnmNTQfsXZo5ZI0KIcUK/x4zMPPb2WdYiisl5W4x7rQjYY1D7z4IiqRQetuD7329+ZadFT3Ak0eywt6EZQko7Ic/vdvREIwQ4bpH/s9wnURyokMH8aeZvSO5/b2JDu3+/psaKrYVXkfOOvLNacfmyYqbO8hMG7zD381q83yPvMsaeUR56bwnFGOf/yAkgeoe70BTt+ydcY64zy8eOMOcNrCjKHW2OIisqAsHqz9SXstvWAmKXpIK5huCBgB4YVOkFmJTthG1myvr4iQLhRQ/JdrxWTRDEumkZIUwD3iouxX42japd6iyAKPo1cX3N8uIClsy4THBuDPweYg+oles99jPfcxUfcgbz70QnO4ITbu4Po4I= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 31:FfvqibiPvFThfW10GIUdV0UOWATa+ilT2ZhmWTPHxHQPTX7mwGqWqiWilpLBS1yQdkabl3Rxr/KeZ8jzay1CbtB/aoacvhOIh72MkYhJBOWHvjb3/zF/dwuFN8BH2+Jc4QfcETirYtqRtyM5oJ3D29EKrbMmpxgQBm//EYT7LJnXfhe/SZSFF2MRQ+XBcRh6mFIxt1JzU2na6J9reWYLsPpFT39IOVe1xqscxzifyqdmnHfBmJ0d1ii0xCumFfvGa5ox3sreVjcdtmhh7QEyOLkwHfQ1rftZMrPOdFXylIQDWL+9Vd9OV7uD9xR8gz2s9bEFXEB/bU3aWh8mDoRqDBq9bN8RpHlZjO1VAMuYriLmklB/oPI78Q2mCg3SMhiKVxI0UUX/e27sD8NgI7BfM75uHXdcLc4DocMOU6etjZ/dyzRIh9Sj0cEQ29tUN11SR2ncZD1kpeHbUKwffZcOwfQ0fFCYtU8n2IOxx9xBx1stDyGtgo7Z5LxxW1YNo1LcQJhVsjE0DraNPpX//CVWzzrTUQT5W1ZbeQuvPpxSvUz2JfWuuYUzB/dbxLsF7rO2bx/9AF3SlpRZwyjHP2XwWq4msM+dHU9JfkBotV7pvH52cf1ts9TA5H1+Z+vJ421Xg8KQGHRn0M2MkJWsJtkIubqL17pQnaHKypC+0cJEcJ4= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:NenwHji2nv99nb65F3DDGaoXA7AFSMPCwQKpai0YqQiigdymbEoAJNTNbtti+yz0nlpEdt/OZ5HQFXqqXtfueKufajnXiYQtRBOGD1gm6mK9Q/jyzo6KSTrurSDbDWhbJ2PJmTEHLyDYpDiSlRl1QLeST+QcQ6AEkQtY9XNc8z0Sj9iyI4Um6AG99VL056hqScKj4pCCegyMCwDzwtGC86zmppg18NOYl6Kq4vG7A30xE/QdIE0dhFMWLLGj25R0l3iG5EpqF6LS/N4jZqr7XUV9Vkf/ZGCIV0n5ju4m19fk9beb0Xhh9K4xKSOBonxPW1Xg18Ndl5NpPtfjb47H+1cC3jGCFDSQiflZjnN1YWqaHZ9VVeeLd8Adp9vdJ1ZuBygsYc10C8zhd1w6qsMH3vU1DbXBbdttfyWhIeHTa2gV/eGbWl2LfTh/uTgIkTLCG+A29nCroqotPFeA8ZYAvifhCMInuuvXlxOWi2HJNIDxVTPH+gw9VcXJKIrMZVb6 X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(131327999870524)(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)(2017060910075)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR12MB0150; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR12MB0150; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 4:KDmtkBCaWCW1frV6f9UF9OqXAkGwNxbODISHiq/nrC?= =?us-ascii?Q?A1hkKuHBGJPqnJJgNI2wxNOl7v0z1fkwV6Z6FuW4nGR0twZjDFMh68NMqruL?= =?us-ascii?Q?qsCm/QqE86DANCdgCUCW0nzzE5YR+retbdT49ImRr0hTIdQzSfpGBmnH30/K?= =?us-ascii?Q?Zn02kWGYRtU2AjoseDEDujMkG4v6OT7JyyOb9iG+TAEIVvCI6yecpQU4kTaB?= =?us-ascii?Q?JliiL2KOs/WO5pJjoiRjBX3jMV4ZCAllIq/LEBOwmXkpJ54J41THtt5kTiW/?= =?us-ascii?Q?T6Knx86HurgM88I89THrFIKA6Za3MTufUU06eNWCavNx1mjKlUBK2ITj/c5Q?= =?us-ascii?Q?sU1pu3Ad+EKAERtHdtbtfwgc1Kx8lpm1VqiUdWP0nPSZHPAOijYF+QFuL6NA?= =?us-ascii?Q?BxHmZELdbk2Az0gc/wWItX1naE9xV+1jYN27ouNI7GLqeDrrdUQGYBtR2UlA?= =?us-ascii?Q?dDv1WSbCpXA4eJVD6/DKMLgKXYTkugYMqjSW7FDfh1gLUJT9ZHchC4vZ4UV/?= =?us-ascii?Q?tHtIPL6beQOit4cYAd0gvbEtQsKOMbEamu759I9mjOTKgm1FY+LtzZU7KdKa?= =?us-ascii?Q?g+/2GKrfC0WAwn+ZH1mK416rDBhPLbMaP08hfcRKxFapYK3PRzGXCF4FxD7l?= =?us-ascii?Q?k+P/Cwj4OSDcjNFCEf+EGHiWHnqpq6HJDaSo3pMMFZ/QmKlnKblz48grR0XJ?= =?us-ascii?Q?05tcfY7vWMZ7sfYEvfXiC7FlwpLfPpqianBwsS0ZCH++A+Mhovsw/7A/ZWJO?= =?us-ascii?Q?2kOjHpWmLwrFKeuyMj26wJHBQYg9jzG/XXkIw8kLvlOK53IJ+pr1kNMfda+r?= =?us-ascii?Q?JgW07msBEIyG3S87/KwqGS5f7Vj7INMakCvsyNYihTCqtmvH6L8mJXQLY272?= =?us-ascii?Q?1Vh2hUasrLoieLsiPABCFCeIDiQYK8zZ0BIKjqXSYGxtbuRgrbHfVZMoiknJ?= =?us-ascii?Q?Sodq7tQnLyb+S+gZ+TmxFU6yl8U86lFQub72XbtR8Y9giwR/m1/crhILVVdm?= =?us-ascii?Q?CwIAjx1Z6zN5TPv0ZWqjkAKMzSJ3fCRI4JHnRrbAN+6p1riwrGMV8e2HaMrG?= =?us-ascii?Q?LfqEAt05XWztPZvB2J3KIBovXxlPP73pBg6PACoKjN7Ue4mKvqSXZtUcmeLu?= =?us-ascii?Q?lcOK8jLunOtt442zDa8pMeAlYgORXXaWiuF9s0XhXqp60qlzSmibBr+XPCOr?= =?us-ascii?Q?Fnmqi0gXIYewyczeE19opi7L3evUdgkGKommRnxeKflHXL1Pk3j8gc9BK7Xz?= =?us-ascii?Q?SRz8XfdBqvKyGwQH0PNFVMMOe7nZrVW2QjI0x9MuRdXjfB7saoADfr4Gn3u4?= =?us-ascii?Q?3GiHhrWW6jc9u3SU0lERNbQ8nBBIlKdftdQgcib3tvEJxLdKybg19TvG75QN?= =?us-ascii?Q?i9+dU6UZPis7Pq/4Jq17yd9PA=3D?= X-Forefront-PRVS: 0373D94D15 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39410400002)(39860400002)(39850400002)(39400400002)(39450400003)(39840400002)(2361001)(50986999)(2906002)(6916009)(8676002)(478600001)(5660300001)(33646002)(81166006)(76176999)(53936002)(7736002)(50466002)(2351001)(305945005)(53416004)(48376002)(54906002)(42186005)(4326008)(189998001)(36756003)(6486002)(5003940100001)(25786009)(110136004)(6116002)(575784001)(50226002)(86362001)(47776003)(3846002)(38730400002)(6666003)(66066001)(2950100002)(7350300001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0150; H:brijesh-build-machine.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 23:gvgYSD5wj+XJbB0FzEWZzn6uBinSoUiIPeUMeEiOt?= =?us-ascii?Q?pJmlrRX1JCxIxQOtJ4hbu64NyGLLgIGe2pVPzFKg+8md9zp6WQaZGHYhThhW?= =?us-ascii?Q?7OAGbcHZX4wg0TOWINqV4ZLXcpWT+SKR20h0xso/pZeirjjOVDuxZ6cWi9gG?= =?us-ascii?Q?Ai+d7zKklBBwJIjBtsBLwWrEOJv2sTiPvZnQMc/azMux2HtBLA0CNoIr39+Q?= =?us-ascii?Q?KCXwBeFalGF/lordbi3XZt+YWuksY/Wl6tq8H0CqsmOWCEZuXgMjsWmuxpxv?= =?us-ascii?Q?Ug5korYF9vma+L64DLGhVTHFP8G1wRbiNfeirwP0ad1Mu0p2iEvAcq/mKKWh?= =?us-ascii?Q?eVY96g3POQtsbusbSltU7GhNfxGYwozGfOLuZX07N3dZkayi5wDbQ47ruEbi?= =?us-ascii?Q?Gx+hM0XYMCtlkMSxCviyzVX9swrt+s4mNRRRwyoAl/jtcIEsKJICoIdwsv8x?= =?us-ascii?Q?RMSrGfA+NZuBXtHECc7SccOPDCwOCMjDqepaz8fu4RIqch/vvo5ZAvqmoM0D?= =?us-ascii?Q?UvaEJh4buEyNPInDNy8jN73oPxrwraseJyCnMBeedsmzeJdzAbmtjgKdUd84?= =?us-ascii?Q?4Z8fX2A9JwD0ToW8HXhB/k42H07EQRqh3NnD2e6te4/nphzqgAd/2Hyd2SqK?= =?us-ascii?Q?aDacMScycqx6UgjCrDNYhi7pLVHlCNOAx5HeaN6bam8Nv/USfI2GBL/oYA1d?= =?us-ascii?Q?0Mi1YQ3fr+Tqq3+L7Zi14l53EVSnm6OsVAB3Sk+av3akxzVUEzkjd5ft6vSn?= =?us-ascii?Q?UFfeSjpPi54KfBDTtTT3FZu868/h8FnscNaTVR3vQ2wlLkmZDowVpfRtBzWI?= =?us-ascii?Q?Fb3LDTlY4RCoeWA2HKpRoyW3TjH2fn62gIax8AIF0w4dbIAmMFhrjSk5PIhP?= =?us-ascii?Q?Dhr3Hl3U3I4ydReMkyj7VZtZaHCgxcd9V1NPKSi2AhNROpp+xt5AMtmk+ng3?= =?us-ascii?Q?0DqzqF0URkNzdx6EO0w1w3Slohb4l0EO/DTICVGkP8wayHtDG8DXBbLR9A0o?= =?us-ascii?Q?AjoIc3n+yxILHUV0I+kcntXm432mLoN7bXjwp47LsLtDNh2/WZlhXZc51uEQ?= =?us-ascii?Q?Ba/6/Kn0XW5qXFdDGD+lwi/FMln4MIufoVnCvkmmoOviSQP8/mHuSfZ+ngsn?= =?us-ascii?Q?oUvvIYAACJGH+cS/1nQ9FaneJQl3DC7FjYUAqTPKK5hq/gILrSQ+ARc9YlGZ?= =?us-ascii?Q?jY9RJsKL9FYLtU=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0150; 6:9kLBaxgSH7ixXYaXN4TV9AkSXf6m6QlCe9xqlBZS7m?= =?us-ascii?Q?eybkVJDKYCH64DFssk+g9HOVX85vOh9Y3GK24SJV257LR42cPw62WltLWEE8?= =?us-ascii?Q?dhs80YWCIinHeaJIinTXO1juk/5yUA/XecgBlW78rPcn70SPvuj1jIsBsx56?= =?us-ascii?Q?aUjnHMEzrG11Ck5mLSfgV4vCEdGDWvgUD71YkwVlnVwG4u975a/c9yWh+6U7?= =?us-ascii?Q?XR8dYBtcXf3Y+n3LwDr/lIYVmePoNjV2AcfojpBZxsKMh2E0A4Ikp6VVf8RL?= =?us-ascii?Q?jmTLjDqDXz1guQ0tghvFQpkope97A07cVF6ltvz+p4VvoLHEh4hgGgII7bEo?= =?us-ascii?Q?zatA+KF7rI1ndH5fwxa5cfbIpwez6Lxpmq/W8VPd6V1HOHcyOtiFS5krom1/?= =?us-ascii?Q?cKHFFFKUtZ4hMs9CzmMVqa9tzI466TLpYy0lQ3sOqq+31V7xKCagaoGBvwJZ?= =?us-ascii?Q?DUAYUDqH+XxS4uZ2DQkP2H1jhjgAFF+jpjgfrnFrVS5ngOMDcZDKp1WiSu1p?= =?us-ascii?Q?0eWwbUGL/VGB+thVgcMNFnre/g4BRDgOraFHc2DDOwRWPmIzVE0ArRcoY5pe?= =?us-ascii?Q?4AwEy00zA0BqNykPBMli3mdm6dfMMbRH6CxbzHKbYnAs4pZjZa+s5Oi4Fi8X?= =?us-ascii?Q?u0bgJBqdL/qUM2/5i9a2tileM/AZLnSdKC7augX/lHmDfjzm9AwfQ1YBjzj+?= =?us-ascii?Q?CQQJXfYkeGVZqGgfLkdFMStNlhLFKFtn7w0DmShC+8NDllqCVuiMifbT6l08?= =?us-ascii?Q?TxP3Xzy1RQJSxIxvdAkMVLg327MKUZl0zHCLzTc398omgRvZmz8kDX9Ee5DR?= =?us-ascii?Q?5f8HoQhFrAoGVcB8w0OhOqrvQtTNXHNAzjuxOaxt2LBhks10VbacWY1s7iIn?= =?us-ascii?Q?mt6lMERVhz+mW+nEkrcJumweiEWkeKgg9cXnYxUnNWJecIfqC0biT3aRkZzO?= =?us-ascii?Q?Ix43TIQVjJA6H/T5D14khYLSVSZhVmZy+mao1fucJepxmd9J7ekCfBtPbhtd?= =?us-ascii?Q?woWlYTZiA+biIppesjBEmd?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 5:EfhkheiIwOOOQp8aftRUZIgIcXwGGTfcX3ILKKCpw1fTUdq3zbYfF8Y9/O7bnWSLAVD0DOm+22epX+2HsMwK2vjuFD1gj+Et74ID5c5RIIwWJgteuF1wum+IpiHkuac+kJ7ldRzfWwky0lTD0CxCpo4f2+qokwEy8U4RQdHSF8MDpcgvyiuoWoZGYtC0jHfW8+4ZQhcJ0zYY3iIxI29A/9ZG+h5+ZfykZ9/ikbG8iltqRcrARWyiVyPi6Vgv+oQhCiohEr+1HzlJWdzBGWV50qifQbZ+sPTeXvjQzN9CR12bscLq3YmE3ddVQT12cuCeHZfWDbOwaklK+xaC0LlQYmg+XoFaVV9TqpeJgTkh9FH+54edroyOi8dHyv1cVs6vveFC2ksWMKGTO1WRO/eryNVJxPSQL/Oq4y7WGKQAfun1leg9AB+f+7ETeN2xKPopD3j1x1yxt4w3hvf+v3pYZU/6bcvG4eJoBUjXGWnkKa+To8FHcyDlsddj6CculWC6; 24:iTDSL/6YCU7PvgcdNiZMafi6tKSe3LIysvCQmSU91M364gFKQZp6deecRlQq9JZVW8D6CsNmdHWwWN+ET1VuzBvck0Va4KTGkDh/d/X+cnc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 7:pjcXk7zkeg1lFxpqbwAs/LsWpVQlT2bTkHQ1lfU5edRBHoTNRejKaLPlElHKRzEPdhc8yIEsPa8TdiBdsi9ibgHoLklFYmNpvJjgrDIyH/OwSlJQuVDCzsStZAD8Qnm4ZsDhL9+DndLc7vEF+cZko1wqnvbE7gzU/sJ0hrXE4uzUdjxNQVMAmYej4x2l7JEl50K9NZz8V7EbU5bcHWFQ8vixFuhXE2nvB3D0iYtr+yqcmIP8G8L7xbRVVuYXPDQ7BqVBr9Nc+Ld/zdmKhibbcbmY5DDBN5LFgii+EedCZQaneZk6WN4YKBNRXQB/MI3Q6gApznaZC6KHiXTCFd9YWjsME4PkOprnm9+/F3S4uTaqRZCk7oKZYR92pLQf/JbUQtZOYHJgrTKSuXe7qT9bFPfAJ3vN93mbc3u2ZDrOvQ0QLXyEin9EZbJa7CVOt/3uU8224c+2PcXTD1a/50FEMPz8Su4nEUbh0GeVpe1nS87SyGN41b7girAzFrvSOBYW/MocDL1FQ+83naLXblchDiu/h+VV5ujKYclj5DhTQNf3KB+hNGRq2PuilM37XwMDAka+rmJMh170yWpwnLQy+fP+wwKqL9ghLFfOUlphvwM2PccR0nwlt9lr5kvrnxaz/WM5Y6ibKR0YGEtcEqrACYiKiq1RoYbhELAyNVbQL53Cuh56MQu9NbJKFp9J6HoRPizChAlTCAjxY9zo8HZgryq1beu5bxbMq3gi4ItnhjUwNxcN2/UYcJnrrO8r62lPyw2aMb4FJ8UID7N6ulhzWwq9JQ/XpsL68hZkCcqXaeI= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0150; 20:MxNnm7HuK/L/yNk8B4+KPcniKBXYs9wIgQQeoGP1zVApQaHdZ5E/vQUqCcfGgMnTxjk6S6yBgsBc+HBvD+5s4PeG3y7vJGY/v1dSWgohmmgubK8lQ6CO7N4PbBKMGuPtF00NHIU6/ATU8+wCCMENQSzWdFtJVNhJ4QFTW/MzkAQYzHd+rxk1RFWYrR4XHelBxiiN+JuVB3nP3+NSnbesc6dcbscJDKM9uTQcUh2x0tNuHlc8nHukB8NmJCkRKW6p X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2017 22:09:34.4623 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0150 Subject: [edk2] [RFC v1 3/3] OvmfPkg/VirtioBlkDxe: Add VIRITO_F_IOMMU_PLATFORM support 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: Tom Lendacky , "Michael S . Tsirkin" , Jordan Justen , Jason Wang , Laszlo Ersek 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" When VIRTIO_F_IOMMU_PLATFORM feature bit in set then try locating IOMMU protocol. If IOMMU protocol is available, then use the IOMMU protocols functions to allocate, free, map and unmap the host buffer to device buffer. Cc: Jordan Justen Cc: Laszlo Ersek Cc: Jason Wang Cc: Michael S. Tsirkin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh --- OvmfPkg/VirtioBlkDxe/VirtioBlk.inf | 4 + OvmfPkg/VirtioBlkDxe/VirtioBlk.c | 125 ++++++++++++++++++-- 2 files changed, 118 insertions(+), 11 deletions(-) diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf b/OvmfPkg/VirtioBlkDxe/Virt= ioBlk.inf index 53d5a164a0b8..12577c5f700f 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.inf @@ -41,3 +41,7 @@ [LibraryClasses] [Protocols] gEfiBlockIoProtocolGuid ## BY_START gVirtioDeviceProtocolGuid ## TO_START + gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES + +[Depex] + gEdkiiIoMmuProtocolGuid OR gIoMmuAbsentProtocolGuid diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c b/OvmfPkg/VirtioBlkDxe/Virtio= Blk.c index 3ce72281c204..f78052c4ecc0 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c @@ -23,6 +23,8 @@ =20 **/ =20 +#include + #include #include #include @@ -33,6 +35,8 @@ =20 #include "VirtioBlk.h" =20 +STATIC EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; + /** =20 Convenience macros to read and write region 0 IO space elements of the @@ -247,13 +251,49 @@ SynchronousRequest ( ) { UINT32 BlockSize; - volatile VIRTIO_BLK_REQ Request; - volatile UINT8 HostStatus; + volatile VIRTIO_BLK_REQ LocalRequest; + volatile UINT8 LocalHostStatus; + volatile VIRTIO_BLK_REQ *Request; + volatile UINT8 *HostStatus; DESC_INDICES Indices; + VOID *IommuBuffer; + UINT32 NumPages; + VOID *Mapping; + EFI_STATUS Status; + EFI_PHYSICAL_ADDRESS DeviceBuffer; =20 BlockSize =3D Dev->BlockIoMedia.BlockSize; =20 // + // set NumPages to suppress incorrect compiler/analyzer warnings + // + NumPages =3D 0; + + // + // If IOMMU platform is enabled for this device then allocate Request and + // HostStatus variable dynamically using IOMMU allocator + // + if (mIoMmuProtocol) { + EFI_STATUS Status; + + NumPages =3D (UINT32)EFI_SIZE_TO_PAGES (sizeof (*Request) + sizeof (*H= ostStatus)); + Status =3D mIoMmuProtocol->AllocateBuffer (mIoMmuProtocol, 0, + EfiBootServicesData, NumPages, &IommuBuffe= r, + EDKII_IOMMU_ATTRIBUTE_MEMORY_CACHED); + if (EFI_ERROR (Status)) { + return Status; + } + + Request =3D IommuBuffer; + HostStatus =3D IommuBuffer + sizeof(*Request); + } else { + Request =3D &LocalRequest; + HostStatus =3D &LocalHostStatus; + IommuBuffer =3D NULL; + Mapping =3D NULL; + } + + // // ensured by VirtioBlkInit() // ASSERT (BlockSize > 0); @@ -268,18 +308,18 @@ SynchronousRequest ( // Prepare virtio-blk request header, setting zero size for flush. // IO Priority is homogeneously 0. // - Request.Type =3D RequestIsWrite ? + Request->Type =3D RequestIsWrite ? (BufferSize =3D=3D 0 ? VIRTIO_BLK_T_FLUSH : VIRTIO_BLK_= T_OUT) : VIRTIO_BLK_T_IN; - Request.IoPrio =3D 0; - Request.Sector =3D MultU64x32(Lba, BlockSize / 512); + Request->IoPrio =3D 0; + Request->Sector =3D MultU64x32(Lba, BlockSize / 512); =20 VirtioPrepare (&Dev->Ring, &Indices); =20 // // preset a host status for ourselves that we do not accept as success // - HostStatus =3D VIRTIO_BLK_S_IOERR; + *HostStatus =3D VIRTIO_BLK_S_IOERR; =20 // // ensured by VirtioBlkInit() -- this predicate, in combination with the @@ -290,7 +330,7 @@ SynchronousRequest ( // // virtio-blk header in first desc // - VirtioAppendDesc (&Dev->Ring, (UINTN) &Request, sizeof Request, + VirtioAppendDesc (&Dev->Ring, (UINTN) Request, sizeof *Request, VRING_DESC_F_NEXT, &Indices); =20 // @@ -308,6 +348,42 @@ SynchronousRequest ( ASSERT (BufferSize <=3D SIZE_1GB); =20 // + // When IOMMU platform is enabled, map the host buffer to device + // + if (mIoMmuProtocol) { + EDKII_IOMMU_OPERATION Operation; + UINTN NumBytes; + + NumBytes =3D BufferSize; + + if (RequestIsWrite) { + Operation =3D EdkiiIoMmuOperationBusMasterRead; + } else { + Operation =3D EdkiiIoMmuOperationBusMasterWrite; + } + + Status =3D mIoMmuProtocol->Map (mIoMmuProtocol, Operation, (VOID *)B= uffer, + &NumBytes, &DeviceBuffer, &Mapping); + if (EFI_ERROR (Status)) { + Status =3D EFI_DEVICE_ERROR; + goto HandleExit; + } + + // + // Verify that we are able to map the required size + // + if (NumBytes < BufferSize) { + DEBUG ((DEBUG_ERROR, "%a: request %d got %d\n", __FUNCTION__, + BufferSize, NumBytes)); + + Status =3D EFI_DEVICE_ERROR; + mIoMmuProtocol->Unmap (mIoMmuProtocol, Mapping); + goto HandleExit; + } + Buffer =3D (VOID *)DeviceBuffer; + } + + // // VRING_DESC_F_WRITE is interpreted from the host's point of view. // VirtioAppendDesc (&Dev->Ring, (UINTN) Buffer, (UINT32) BufferSize, @@ -318,7 +394,7 @@ SynchronousRequest ( // // host status in last (second or third) desc // - VirtioAppendDesc (&Dev->Ring, (UINTN) &HostStatus, sizeof HostStatus, + VirtioAppendDesc (&Dev->Ring, (UINTN) HostStatus, sizeof *HostStatus, VRING_DESC_F_WRITE, &Indices); =20 // @@ -326,11 +402,23 @@ SynchronousRequest ( // if (VirtioFlush (Dev->VirtIo, 0, &Dev->Ring, &Indices, NULL) =3D=3D EFI_SUCCESS && - HostStatus =3D=3D VIRTIO_BLK_S_OK) { - return EFI_SUCCESS; + *HostStatus =3D=3D VIRTIO_BLK_S_OK) { + Status =3D EFI_SUCCESS; + goto HandleExit; } =20 - return EFI_DEVICE_ERROR; + Status =3D EFI_DEVICE_ERROR; + +HandleExit: + if (Mapping) { + mIoMmuProtocol->Unmap (mIoMmuProtocol, Mapping); + } + + if (IommuBuffer) { + mIoMmuProtocol->FreeBuffer (mIoMmuProtocol, NumPages, IommuBuffer); + } + + return Status; } =20 =20 @@ -692,6 +780,21 @@ VirtioBlkInit ( } } =20 + // + // If IOMMU_PLATFORM feature is requested then try to locate IOMMU + // protocol before acking that we support IOMMU_PLATFORM feature + // + if (Features & VIRTIO_F_IOMMU_PLATFORM) { + Status =3D gBS->LocateProtocol (&gEdkiiIoMmuProtocolGuid, NULL, (VOID = **)&mIoMmuProtocol); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: Failed to locate IOMMU protocol\n", __FUNC= TION__)); + goto Failed; + } + + Features &=3D VIRTIO_F_IOMMU_PLATFORM; + VirtioRingUseIommu (&Dev->Ring, mIoMmuProtocol); + } + Features &=3D VIRTIO_BLK_F_BLK_SIZE | VIRTIO_BLK_F_TOPOLOGY | VIRTIO_BLK= _F_RO | VIRTIO_BLK_F_FLUSH | VIRTIO_F_VERSION_1; =20 --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel