From nobody Sat Dec 28 09:49:06 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 1499351466112608.3667206698834; Thu, 6 Jul 2017 07:31:06 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id A016221CE73F1; Thu, 6 Jul 2017 07:28:43 -0700 (PDT) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0067.outbound.protection.outlook.com [104.47.32.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C80C921CE73E9 for ; Thu, 6 Jul 2017 07:28:40 -0700 (PDT) Received: from brijesh-build-machine.amd.com (165.204.77.1) by BY2PR12MB0147.namprd12.prod.outlook.com (10.162.82.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 6 Jul 2017 14:30:19 +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=dMT483Cgef/poozdUzeIo/hOZ5ZyeL5j3w6rPpygPFA=; b=3AbxcUguT5tv0pGvzuAUjBtAHXFGkFdjBM41imtIwRxm9JRt5+NqjuxIBRRY2vvPVexMq/4W3HCLNquKwkxoV1oR2IZbUTm1M9R9bhGj7OYTFPpr82DlwUCkBEvXEXENyspv/fWud5t3c/P3tMhN+JaPql2mdzUOhluQjXG0T+Q= 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: Thu, 6 Jul 2017 10:29:51 -0400 Message-Id: <1499351394-1175-14-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499351394-1175-1-git-send-email-brijesh.singh@amd.com> References: <1499351394-1175-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR15CA0024.namprd15.prod.outlook.com (10.173.207.162) To BY2PR12MB0147.namprd12.prod.outlook.com (10.162.82.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 381f9bd0-1ee3-4d97-00af-08d4c47b8775 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:BY2PR12MB0147; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 3:BMd1juriussPw5t9oAO4IOhbglZM76A8mhaMSXqNrLEIy+MvsOmKBcHCaGv6bMcf9oP0v8tItyugMkkUBoSHm/gSUmWKoAW2fnMshS6EW6EbVjkmcVmYCnhtdPB5GroKycxZNdXXm3up5lXr0lwxGjQ4lY8bUTzYMDh+1h/MBVHh8l8WCQa9W2ZQ845mG08kZ4Ylz3LrMPCJCknZf31qdQGurkF5jZCTho7SswE6n6hv4OuWRfK+TfCganPKKAZcAZxmyVZM73zvhYEBLs8gvYbf8AmjQB49p3weibkp/jK6YSf050le5LnjNtHQmIxYcwdVEevjZU55f8UjhSox+UJPqAY9AKO+dklxL8uRWhWdULacKsn5rSsrspImHDy/Dx8ubeucfVhiqxy/Wfo/yMQBIWp9loTqP7Ly0qy43v9Ff8nZvx5PWQYEBSBoxmL0W3HfuEZpGZ58s9wumsx4ZGEkCCNxe/rI89eFIlN5Lafp5C6KvZ+Zfd5FbU/2SWj4YLeA5k2M2/wXojU568AqmTXuW/VDAHadkjmp5eZZjb1weFooVn1BjX1P02NFHE+v9O/wH4+bbD/G21QTEM4SWDEukPjz4SrlSdMTcCR0faci9nBpRN+R4ksmO5k4DPb+ed5VaealHqeg1hpH2DmwIXZPDVPUQmvRH4e+dJJCfbiTcbxSqTGJcaAytSgO/A34wEEvEYBVxsm5oj1tKZPydJz09VIQFV7b4zME3B+bjmxZr4qnFQ06FG3narccekhLXzj6tl6hfW3eXJj1xnzrJQ== X-MS-TrafficTypeDiagnostic: BY2PR12MB0147: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 25:8U3bh2kbADJlAI12lmboX5hxmHR0msrd10QT9tPvzWYmk/o/bCS6XXAp9pDlLC0h9wfIp7bN+BLvIXr9gd7uEaW73G81iVI/L61Qil4jTZ5ERZcifwSnkuK6V4fqe71ilMxB0ah27YmeOFHDHnSDYt4XZ57irbuT4YPRS/zBLT9OKEsUWnNeZvYrOxU7EUPEO57t6oShpRVzUpyCr47EomconXnMbfm/WE1YsEd/cKePwyy4YeDwtYuH0a8pSbU4ObFaRsqSCoHOiXTkrhFJ/tByo7+cHwvbblaQDDBImgNk/sCL04d7iY6wOUmLObJp8gMvqpzUe8yvUwoNDj4pwebh2F9hlMfMypCOQGOu5SUt7YgIv5rjf1gjm+gTR7WtNQvzIpwdjPXSo4CVNC0eA+B3bSJ/X45kcfwiA4g4WL9vBhEjqdSz2FaerYQAIW8uQpXUmxjTW/SwrPv+XzZS66fLUfPIVvIPKygm04J+lZ7zJGSdWYhQyAvIFcXr/lJnbaT3A4Ec9EX+QywqUKjJLc3AGvudpJf39/uY7yRNiqJShSbRdYmIO5PcbFUQIS7njfOFVaKZP1vjTSGpoegHcKc+Djl2I8B3qxmNL3PCNzP0xasM792+1ojqzXK57Rvh/C2ZsfOfzHuK4e9JI1IjSQdZxAltZGxVkoSevqor8rgVdMx4alcw8RiSvDiI5phU55zLbJ6xM6DLLlK5jCexeyCB90j3uiv0FRVwNDed3kfIeDBuzvZMDpkaME8P/Hcie+nvEIFT5B3QWWEcXqzZkYYmn2ZON1QAIwjPlo/TzyTm3oUdlTh7z4+y13iLrFvSeBYJFICQCIjmUAPomJrXMZIVPmiwvktvxkDHKaP4VDHCeuXrp+QlmwvmZw06maj2mLt18SBo3b8RX76Kn46JvFy/Ed3CYfWtSzuW3KlLz0E= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 31:eq20qnluVROkiu3vDhFRh8qVs/KnYiEWKL/0hBGzWj5ExHIqkRbYC6KeozTMTXPekbY4+ht+TSAwS5iYC4mLBogVeL1vOiOl54yWTpzC2wWVqjY7uN2tiax31RvdRHdpPtZTZ7vlFlIqRqxQ68gXR4DsQHw9darUHRMdp+BG3gPoQodkQvZG12jgnkxdzNligSAK1JEvUZ38CJsPlGJ7oQUUTntVKxPWFjQKaUXGnB3MXQNNm2EWDSdOCI6FoKFTR74Qjd7KNdIUDcP6scAWq95ZxVzMEcJdFON1l3qBdzxijfl0gvcE0/3JaWyfQVF7oyk/3hG3+/sno7V5eKrWAhoxk+LeoyvEZIZmwr1Ircclu87qK+2Mbm3UncCpTkJfBx1Xx2LgFH5hBhur/cpDLQJ7bHJqJRJCdlmC0OwY0E5b2pkCPwqJgY3db4H2HVj2IgbkFnPIZvfFJ9tDQqQH7dIlkWtBbvphQHsxU3n0SBCjFem5MMIn1yKVsjO6OQ+MVrZ0DwlEbZYYBv0FhAQH8i7oLFkcCRtZXDLdcX4e5lP+/SZ6RX0WCJk7wX09HMttmCFiVFlUOfudqh5QxRNDo6Tzfnagp3v78WXfoDyxQ8+aybZ1lV4of4h7iUj9+Y2peDMITL0ooBJoHZPGCbhp5rRDYWkLeqJFcV9quhCzhbs= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 20:Av9E8wGelGeOOLF88JCgQloljQHzr9nlUfUeFsyt6BwcyvBhom+rRwG6g7Wdb33WG0KK5Wx//9PgYrq7ZlWTjUKCB56A5IylVe9xBZM2qAfB+n3/o0Y4dEgOOqczp9k8nx8zGPc1sefbRpKmeVSGwAmssEpLNx8ytGlGq6SLejIXlcyfz/3mamMJ+r9t1UxX8Df46QcaoR9H60VBCaLvdY6yRNZJZqroCfEt9NyE1yWNAx1ql9r9ewxENgdyA3pcfDRnKgT2GptZANHhCsAZltw2y4avyF8RmE3gJbvFNqKLjGBUfY5yWFQexDEuS4yH9oq4yEo+JaE/Wq7LzkJRn4I7JIW9VWgnk5VPNTTBD76WzfSDdLup0gNjFXjhU0EfFJBYq8kjZWqzqUxqkGxirC2MOQBx3dzf8Gt4nqUcAAMRORHXLKspXxFugjO1NwiFIXp3HGlmxKK9nVpmoIROPuMyREGX56K2m6NIWsGOsqrxs2sY13iQN5/YbVxyJOxR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(767451399110)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910048)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR12MB0147; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR12MB0147; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0147; 4:v8BornbGDMi/PE7faOw8fnE3uzWBjthbRsm5FinHLX?= =?us-ascii?Q?xS+jLX4X4bJpnCUpx3ruHARJSAJUnJI9g+ysi/YibZeeX+ynHMD8kzVkNHIe?= =?us-ascii?Q?LcsE5Qtbbemm8DG7cjCxnz2du1FOJKXw1e5RJAffGp98lFSdKEMcuo+wqAM6?= =?us-ascii?Q?ePxFE4VkZevnsyal4AA4AYNcWY5sRG29p18R8KEXx6d6FJXsQSlJj1yAjGDf?= =?us-ascii?Q?UJB5F9ilJHAdvpsYxvQ7/Xg2+RnpkR/USjA2KnkCy/N36XRB7P7jLJZ7Xnka?= =?us-ascii?Q?PN4yLKIAtP/tpKylTdF8tdODydeeib1tFngzUDp6qbGHZWELiPXmr2OjU8nH?= =?us-ascii?Q?eW+Y1H9EQ4rKvtwLFxiZY2wF5ebtXqVhgdjUuHlGq/2ouGjDMxOd6JSRIlQp?= =?us-ascii?Q?yz8HBc1/6Z+X7Mhj47BfnTv9/YcYHt1RXYELCr2nMDtq8S5XqvxqSzefNHsf?= =?us-ascii?Q?zTOK7/347aOnPl6uBZHcpemZMceO0AjOvqLaVpObwTqdMvzRl7JjbpvDEukE?= =?us-ascii?Q?SBcbKul7+Jsfv8DfUrZ4SvZHtvCfDyzUC+iM3A7MKSYwDPy/ZWxgvp7bl0t6?= =?us-ascii?Q?3Oj4H633zqQuuaa9wOGSoy9UVdNk7FzdetT09UuyW5Age/oHZOB5jzk39Vrq?= =?us-ascii?Q?peHr2xRNxpZJ5OjLneeJvrLhEGlsjsscYCj39fQhIUXw6/YIygRaansj6TDV?= =?us-ascii?Q?tTQofkfbFhlxZGB3zUUxe/cJZDXoDEZ4RyDfVgIX8PVCXg/vF6CxajImghZY?= =?us-ascii?Q?vpnkAh3Ogi0t6TXarThPYQImU+Q0dwUMX4s86B+9I7DAZ4QgxdxmJPqErcf8?= =?us-ascii?Q?x/veji/bdaulh3QLJp/P1XiDPJmLQKzIQBoPaqO8AbjjmHHzDJE33RhXaS8+?= =?us-ascii?Q?UHA5gbmBhr2Q5H0QO5Yb+pczs6y2X/j2iLRYXX3GXO1mMqDuc63PQuJwgQ5E?= =?us-ascii?Q?2LXped2KaYdw4x4z/kdB2Nxr/tr/1CKP5pCQNiFMl/utU/GIDF6TG4hyRJgY?= =?us-ascii?Q?lYaTtoEwvvXqz+/s6rOU37TxMmN+bVmwEVMJDaTRmWrXCkONYLGJBmghrw+n?= =?us-ascii?Q?m6q7sO81go9ZcUtrpKzs4s303lbu6NaltxqPRP7omNg+YY4ASc13u9bT6rIs?= =?us-ascii?Q?W4FIBaLKadM2IB4BdMzrRGE57P00K8fFQiiB6RSnGeL9ue/nUoKnV9K87FuU?= =?us-ascii?Q?vjDDrRLgI2WItCCWJWcbalIyM/jKC0jO81uWNcbE/oJj0FcFH653fodKn76k?= =?us-ascii?Q?KMKNvBqyAJYUAiMR5ynJSCCxtQENQjEvpnLzqIPTg4IN74h+3YVs8qILzzRp?= =?us-ascii?Q?GkzHqaLPkuuf+CFtbH/Dg=3D?= X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6029001)(39450400003)(39850400002)(39840400002)(39860400002)(39410400002)(39400400002)(53936002)(48376002)(305945005)(2351001)(5003940100001)(2361001)(7736002)(50986999)(76176999)(5660300001)(4326008)(42186005)(2906002)(66066001)(6116002)(3846002)(47776003)(53416004)(6486002)(38730400002)(33646002)(81166006)(36756003)(189998001)(110136004)(25786009)(50226002)(8676002)(50466002)(86362001)(6666003)(2950100002)(478600001)(6916009); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0147; H:brijesh-build-machine.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0147; 23:h5zyXy+xVgsxYa/6RIZZd09K3FRZsQKhmMqBsPQSk?= =?us-ascii?Q?Khw6PjV0JBCkOSIbBhk3zMfeK1nAcjvt5vi45uirIuhz21b5VwgQo3Kkp1ZR?= =?us-ascii?Q?imW1QX6PFOhsdIbrZ1nJG4lzIlZyCSl6MvrxpSDg5QADXBI+7lto25K38XpH?= =?us-ascii?Q?XK+MD9rpvc94OpOzFoixCMoWYgm/R71XJ06+NJEsgD+1QuwZs/Tha57hUmAw?= =?us-ascii?Q?PfAnV+aEcvO7iND/FwqTY0zUH+skkw4//e0J9TvVcJaHpiG9bXUb7eJJTYZF?= =?us-ascii?Q?o445mUO+34839q4R5dmgfouR/i9wgy/SHnJaA2d0VdT85CEv26CbKU4qo3ld?= =?us-ascii?Q?ZMvqQ6MuJBr7nj+W9S4OtLVPN6vjbcGt2HFfy3UfWkrsHdGhQZrdeyrrvkdO?= =?us-ascii?Q?Dai6x/Sqbv+2ezGZkue9S71k9FXkDShtPxR5+CaGyuSCPg60IlhHcWnR/5uq?= =?us-ascii?Q?yY2W2xAdQO6ah/bx5voy3OyY8cydhIS96G8W+CWOD04rmoHJys/BbOVBPzHY?= =?us-ascii?Q?HvQgE8j9LYhrnA+jmAqfZxEmTyATtebZyqVbKIya3oLe/Wck8IXIUoHMkQHU?= =?us-ascii?Q?WTEwIJsbxAw8eJVp4tjWSHU3dUTaJtTEDaj3kEaUqxMCMRlUsssYE1pvdcOA?= =?us-ascii?Q?eeJxZzMfeC7uw3aScVlQHa9nMBPALnoMBY4+yllO4ztL1aQwwFXT14gytLG4?= =?us-ascii?Q?JoOlCyGczFEjFB187SAVWJWzxX8sRBDB76bTlAaCGzG+8alz+9XweYIaOLfY?= =?us-ascii?Q?nSCH9svr/u6yNLr8a4I8uh1qO2KvPJGThw3QKISY4oYSb6hIy2x6t2whVIlb?= =?us-ascii?Q?sJbDDfNRsGbBvbGhtHTpTKFLUMjQv1RagRLUJ0k9vchPPc5CN6ZdxNjurGb4?= =?us-ascii?Q?jaDvsdAbkTC5nPhKxzK+mrF8B1/Gs0TIzmoZnYKApUSkJSJA4vCajdft9Pae?= =?us-ascii?Q?FnfQ6yEtYUMlXR7rnebI5aZOjCnT5JNQI/OoVeQvIWAr7gOZOAXkM+QZFgyZ?= =?us-ascii?Q?gSqBxsKf4br8VvZZLOvGMsjoBQombFILpuq2JRi1xjOVhJ3wKPFHAcyP2odp?= =?us-ascii?Q?ol+ltFFz0OTsvpEBd5LrA2VUpDc+GQtt8PNfrbW8vBYKSRn7A=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0147; 6:StKfdOzN8DQwkxb2ZLIGN2FbAQuKjFY/rJ6k72xcP0?= =?us-ascii?Q?AtXILn7ZPqJBHVa8Q1U6e++jjSUd9UlRAYd8cFnrPkj59sVZ5/1+wTVSe7Fs?= =?us-ascii?Q?Etlin/ww2jXwkKsBB+0qLgiLLaFxdBJF1yDL9Rnk7leg1pnwsLMlKwwpZ87K?= =?us-ascii?Q?j96MBEwYF876XET9y1bmSx275G3wxZJfmpk548QRuUsBG1J/eeZ8MdkPLRJN?= =?us-ascii?Q?wNTSrIWHQOBAnCm8Q80+h2yEab00KUZyUw47zz/nQur+FlqH1/9N8kW9Vu5o?= =?us-ascii?Q?FDczKgzOTTSJxAl9ptvembn1ts6rCZbiPFRyU0DOAunW07dY7I4dLc6xtdTB?= =?us-ascii?Q?iqUj5f8zFBy+/uBxNpq9uX4qTcn4p3acs/KhmtDq4hcvVF7Qt11oBDWh6eN+?= =?us-ascii?Q?pLk2hsQ9UEn42kFHLMyo9GlgrNEqqIq+WEhuw9tRH1DVi/I0dKcJDYgEvYSh?= =?us-ascii?Q?G0sUtbJ4t5tz1dsOfOIiqCOt+62tto5zh4A5rdykEyJriwuoTxB+y59Aax/Z?= =?us-ascii?Q?KNeIA1qgrtirt97nsb4a6R3kXtVa8CC1AotZWEGrxPiBNLdhvPxhhbk3i6eg?= =?us-ascii?Q?hC+9+qQ+/fgEA1KWw2MdayNgtc0U90E9MAQS8RdcNbeZD2azR26qogi94fPR?= =?us-ascii?Q?mMa7ISDXV5sl6ZaEbcZAXeZxSWNPOF5AREnwXc+T/gOD0ZfU19MCM97PYV1r?= =?us-ascii?Q?YYJKkUW1lQzT6iqmdQYEmxWp3oWzUGy2RWVRd0kpNfze31RzZJr/stk27HrS?= =?us-ascii?Q?4wxOyhFWHeKKw/ng1xB2L2s6H/+RuEtQ1PPAT+TnnparE6EPvKdykAdiQta3?= =?us-ascii?Q?uqzMGJi+GiHxbkZWvfzVBaYdRg3ht54DptTXOYv+umgnzbbSWexD/S4U8nmA?= =?us-ascii?Q?nANwf+eZFGYiOqFhaGN5pJsNjHGw4j8WrVzOiX/GG7XfCiNLQOPiJIxjX8wm?= =?us-ascii?Q?EmoiObMKkj7I3cN27Pgin9TezeD/xub9d2efMhNWlKx78CMvrgq3rtqTVjdv?= =?us-ascii?Q?Ji1s7IVue5Ee2FhtHW9eUY?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 5:bfEEpmqzLQPyhZ3iM6gNan1Ud1lyJ3J/+dU0p84BXdCUOz+UIFHq1JPKMto8BTYvfG9wjFchqmbYARGmPD/Su3shAwa+1P6e+MmQl9fI5nIniRMeJqxMEDfn/SYjJirkA53jFC/y2oDL3uYKEOL9re+4nIbhItyRYvYvdOhxvB3byH1tVJMAlLLNy6LZXHZgtIhD4GsrdIKqqebkvgFnwekkDNLtzP81gSpr38Mws5SOusTgakB6KCNwxNvfb090rFulJj2OQRcihFu5o+Z2QyhlFoQytdZLPpfyqjd4Mw9avjOKb9XpRSvlJaLfSz+nd1YzJSDpcrIm6gnnlpeOIjCCUJk5Mte/o5n703Tzjtn3BRe2u6IfTC/IQ6Cu2lfr82ZKRLX5kK5uMmExGMc/5uX0f3Ri8i/ZwerZdQRPuA0r3ZooKV51qB4EqLngVv1xss7vEII0jukXC0ifb655uXg9Op3MQ8fqXoZ9AQMcjJnDKDGE/cJ+X5ScxGspeicn; 24:au7qPcm10Q3TpgWMCXLDwvvRO5XUHG4fgELxW3TDHKTeYKYFTjWMB1duuMoeQuCiiXEV5kgOA7JXE8Ej6+gfdK+Zg0q9Mg34gF7dV7Nnxlo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 7:7gDjAWj0O8JR34NwnOLR6GQyOTM1Q+kFoREnEYczUB2w/e8Eo1A42RjicAMzck2hxytmSuL0vDJ1RP9XQhwvyltpRHmfdWB0vzhWk7mnUBcy0gpzw46GHSx+EKhMKy6NChbSiP5HNhPc8NSlr4JKltSSeWkAjBLP7DdeJQDqWlzNF73sDMdAfj7o7GNnlHGz3a+4SFGyAnlNndVcpp/1sJp4Rjy3D4Z63NzYNPekcMgV3jJglnUeitG+l4Ie8cm+ujisOzG2s+jGCsg2opwumMrMoLPTHoGlQA7xeo4Uq9r7vxoRMLCNAydJ0OXcb+/f7O17FiMfCoESCzTYrAx0dRpjRA7Nw9NARC1KuS6uEKUf5I7BNpldA3MNc/GQEQFjo+egrbkC5I/8p9AnB3gUnzhTJhEG1x0BGjekPCzg0T9AiVRmzhdKVOmK/bS5/MwEkVY/K/uQzZ8t7XxbG4AblobHnximYefWZr3UgdomouVrtyeqx87rUb41E2W6wXqG4ZTflU5p41dgUjzpjGE+DhPH1j/fbwtAvIlM2s5WaOm2kgNOoP8ReUvmq/w4mUVEMwXCBiux9WKyo7irMy7ZBL77N0ZI9uegwsZkK93CoiiB9g7aQhKUWZ37w+9t7UtCwV5lRCWgDVhWwhvsUGpgaCFkzYZjN7pEC2iCRN9pRShYJ7JPwZzoE6E1tVcAgcU072tqNcai4Zgqem4a5Jgvqu6jQZZuLc6IyxFADPhXXZiOyXLTzwMRHMkGf5Dj2+SEjbMP6gDo4sWVpejHJqOVfZFsuzGXsk6hkGGboNqcu7c= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 20:CQq30Wzt+x5F9YnoEDpRepaxLkEFUzop6lLxzU21TIbqH5hznG81khUQGQ9O+YalD42XfI3yVvdQDw38eB1gilcrndUZaJ6BZ2dxVgCv9LgRHpgw1y8trTcxYGzieEaCshSQRWXhjo9jYck5J3G9DS0q3KucY6OQePiZ95o0MhQT7uANWpyOCIMw90lOPeGuP2Mfy321TEaQQcnW47PdDFBDflHjr4ZiEVfmP8IKdB8hoLS3qCy3cYiO5ds1FEVn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 14:30:19.3161 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0147 Subject: [edk2] [PATCH v8 13/16] OvmfPkg/QemuFwCfgLib: Implement SEV internal function for Dxe phase 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: Thomas.Lendacky@amd.com, leo.duran@amd.com, lersek@redhat.com, jordan.l.justen@intel.com 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 SEV is enabled, the DMA must be performed on unencrypted pages. So when get asked to perfom FWCFG DMA read or write, we allocate a intermediate (bounce buffer) unencrypted buffer and use this buffer for DMA read or write. Cc: Jordan Justen Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh Reviewed-by: Jordan Justen Reviewed-by: Laszlo Ersek --- OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf | 7 ++ OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxe.c | 114 ++++++++++++++++++++ 2 files changed, 121 insertions(+) diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf b/OvmfPkg/Lib= rary/QemuFwCfgLib/QemuFwCfgDxeLib.inf index d7e368e5435d..11cbb3c4f393 100644 --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf @@ -39,6 +39,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec OvmfPkg/OvmfPkg.dec =20 [LibraryClasses] @@ -47,4 +48,10 @@ [LibraryClasses] DebugLib IoLib MemoryAllocationLib + MemEncryptSevLib =20 +[Protocols] + gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES + +[Depex] + gEdkiiIoMmuProtocolGuid OR gIoMmuAbsentProtocolGuid diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxe.c b/OvmfPkg/Library/= QemuFwCfgLib/QemuFwCfgDxe.c index ac05f4c347f3..f8eb03bc3a9a 100644 --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxe.c +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxe.c @@ -4,6 +4,7 @@ =20 Copyright (C) 2013, Red Hat, Inc. Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.
+ Copyright (c) 2017, Advanced Micro Devices. All rights reserved.
=20 This program and the accompanying materials are licensed and made availa= ble under the terms and conditions of the BSD License which accompanies this @@ -14,14 +15,36 @@ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ =20 +#include + +#include + +#include #include #include +#include +#include =20 #include "QemuFwCfgLibInternal.h" =20 STATIC BOOLEAN mQemuFwCfgSupported =3D FALSE; STATIC BOOLEAN mQemuFwCfgDmaSupported; =20 +STATIC EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; +/** + + Returns a boolean indicating whether SEV is enabled + + @retval TRUE SEV is enabled + @retval FALSE SEV is disabled +**/ +BOOLEAN +InternalQemuFwCfgSevIsEnabled ( + VOID + ) +{ + return MemEncryptSevIsEnabled (); +} =20 /** Returns a boolean indicating if the firmware configuration interface @@ -79,6 +102,24 @@ QemuFwCfgInitialize ( mQemuFwCfgDmaSupported =3D TRUE; DEBUG ((DEBUG_INFO, "QemuFwCfg interface (DMA) is supported.\n")); } + + if (mQemuFwCfgDmaSupported && MemEncryptSevIsEnabled ()) { + EFI_STATUS Status; + + // + // IoMmuDxe driver must have installed the IOMMU protocol. If we are n= ot + // able to locate the protocol then something must have gone wrong. + // + Status =3D gBS->LocateProtocol (&gEdkiiIoMmuProtocolGuid, NULL, (VOID = **)&mIoMmuProtocol); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, + "QemuFwCfgSevDma %a:%a Failed to locate IOMMU protocol.\n", + gEfiCallerBaseName, __FUNCTION__)); + ASSERT (FALSE); + CpuDeadLoop (); + } + } + return RETURN_SUCCESS; } =20 @@ -114,3 +155,76 @@ InternalQemuFwCfgDmaIsAvailable ( { return mQemuFwCfgDmaSupported; } + +/** + Allocate a bounce buffer for SEV DMA. + + @param[in] NumPage Number of pages. + @param[out] Buffer Allocated DMA Buffer pointer + +**/ +VOID +InternalQemuFwCfgSevDmaAllocateBuffer ( + OUT VOID **Buffer, + IN UINT32 NumPages + ) +{ + EFI_STATUS Status; + + ASSERT (mIoMmuProtocol !=3D NULL); + + Status =3D mIoMmuProtocol->AllocateBuffer ( + mIoMmuProtocol, + 0, + EfiBootServicesData, + NumPages, + Buffer, + EDKII_IOMMU_ATTRIBUTE_MEMORY_CACHED + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, + "%a:%a failed to allocate %u pages\n", gEfiCallerBaseName, __FUNCTIO= N__, + NumPages)); + ASSERT (FALSE); + CpuDeadLoop (); + } + + DEBUG ((DEBUG_VERBOSE, + "%a:%a buffer 0x%Lx Pages %u\n", gEfiCallerBaseName, __FUNCTION__, + (UINT64)(UINTN)Buffer, NumPages)); +} + +/** + Free the DMA buffer allocated using InternalQemuFwCfgSevDmaAllocateBuffer + + @param[in] NumPage Number of pages. + @param[in] Buffer DMA Buffer pointer + +**/ +VOID +InternalQemuFwCfgSevDmaFreeBuffer ( + IN VOID *Buffer, + IN UINT32 NumPages + ) +{ + EFI_STATUS Status; + + ASSERT (mIoMmuProtocol !=3D NULL); + + Status =3D mIoMmuProtocol->FreeBuffer ( + mIoMmuProtocol, + NumPages, + Buffer + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, + "%a:%a failed to free buffer 0x%Lx pages %u\n", gEfiCallerBaseName, + __FUNCTION__, (UINT64)(UINTN)Buffer, NumPages)); + ASSERT (FALSE); + CpuDeadLoop (); + } + + DEBUG ((DEBUG_VERBOSE, + "%a:%a buffer 0x%Lx Pages %u\n", gEfiCallerBaseName,__FUNCTION__, + (UINT64)(UINTN)Buffer, NumPages)); +} --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel