From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0061.outbound.protection.outlook.com [104.47.32.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2DACC21CE73EA for ; Thu, 6 Jul 2017 07:28:43 -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=ZXoH18gYJtxEHgrvLgAJI7lal4EmXNC95P8XYRiIKa4=; b=ng2bEAaYsG+cBUVe2fHROh9Eq/0hx6QBa2iUQAmY8BHdW4PMdSvM+xz0zIl5jBwhnElId/YI14/RClHnAjhouVjxai5Yhk6ezL8PP2Qx/85kxq5uaj25TBPuvbomoMtx2CdadMYHZD/PaKaVvWHsUtOLJHZkrCu51bajpilUm4s= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=amd.com; 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:21 +0000 From: Brijesh Singh To: edk2-devel@lists.01.org Cc: Thomas.Lendacky@amd.com, lersek@redhat.com, jordan.l.justen@intel.com, leo.duran@amd.com, Brijesh Singh Date: Thu, 6 Jul 2017 10:29:53 -0400 Message-Id: <1499351394-1175-16-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: 3946b0f4-9c4a-4e2a-94f8-08d4c47b88ba 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:P14QMoAuZwaeg3k8RM+WWBbhon6D5pd4fYuFT2po9CeEft8dOTN1PUp7PN2A6V6obYdF2e5SsGLBoGMmQ+ot0riRQEZC5B4AicaLKrwqWL6rrpBKW3q9x1g2qMoB+ygJETLeAVp7cuxLR2RuTTpDla7QnJ2ue/ljGW8WDrcdQh5/MxuuGyzGTaIsAiIPg7zARemhYvZoQ3HoR5TCVKGG0Z5tYmuRIvORyDTZr0YDQJGA8w9MJrPcmJLcLA3CZwgclgCn7wzqphu4eeGLasOYamaKZuz7HDq7icGbr0IoJf/3CSnzsjEmpZlvJWyNBJ/giJYDVWlNiJqZEJaoMVbdKpbctXOMJ5t9GhfVJeNx/uoN2zKhBnKwCtHgFx3JrWWXvkRrwBc77k7S0n+zs9NnGOXSQYUYY4tNZrIv1ENvSCqwhy8cYET3N3nDsGx0kFW6PXo+YLeMArLxT3kSyhjv4SRCfNlyDaykfHH2bZu/ZCGbyJbWEQNtBK7Tx+9cWP386w7+1Thox0ucqAN/Sdcw+EOjE2aV1ZepVXwJtHlPoykbdkFkukcwTIkVprRKw4+DVV/aXSi8shQrKOCE+BfQ4vyIh4JG1vhS3Iw7KzjQgBo+z5fr++qrBr3P6cAlZPM/9vJdk95kIcZc+O9p8BK6zIKeVhrj0Fj9T4smfxk+BID9E/OgUavfR5sCRlPfZfA4Z8s5GLbko3n/B1P1dmfic5xBFfyrBhZrp1bbXHkdfmBzZq0QnS/2qnXIA94TiUcqDNvhFauUAD7x6DHtJfg5JQ== X-MS-TrafficTypeDiagnostic: BY2PR12MB0147: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 25:7aXYWBGfjYXfZt40dqXAddNxvmfT5F+8ge6p113mouXTpVUaRy2sFZOXUIefo0vIKflL39xNHJobnfuMjIWKeWSwGZzlD7UNy20N3FFbXk/0L//++xL9vN7M0/06vmRxA9GqkV4Ui4CadldhgPIdEvLzuVNNhwlsWLKOrYWGkXCum2lQXFiW5XHxJS2iy39gDUxvv8Y5C+odNqp/pr/UfNaZ3gYdjArG10YfUtMxllSsY+4ed5vt2SMVThMMa2IS9uRY39dt94RnxMLh57m3jY4Jp4DgtdZDnAXom+zqvDL/frVF4NmOInGfWJwEn9sW767TO+dDC+GLsnVA4pHJmsO9yrmyZu9snTMZdej30Geqvc7zdLC1DirvOGkRy9gRPr4U2v6BEtzvme1WhwQf94NlrUYEebhI2hwByGgxsOaoUfGd14ddeWYjQuwWsULJiPkGNmgDky1aWbhclYY94/54zvm7/BEsQ6RlQAg6l3rZFUDHRLAqyUBp7uRQI5RAkVfYQWNRMKQXf/kJ9phzk3bMpiobi8t8khBaaRO6q3V2kHl/JNL71axBd7bKNmJ6TJtm89EAev9Nh9VWKpY/VnpzK7Dbc7BzeTwon6xKn166fm8g6IofYPIx58Jr0D6BKk7M3bbc1YPEEY0C5Z7QLP8KqQmI67ryKVjtMaP+rIWp4NGOIu6I1wcMm7PoTZngIeQp5+L1QKWH76gFgqoSU21Ojw92D1TOw7rSs4VDKnr6VgYoZdjxDaU1uiC9bftknt3dn+CnE6jVwiWCTukYxxGsf4jhrMlw0/mhViW3NAQMYqvFpgAf3HAA4e+4tkL/CFOfZXU4/k9MgpmGx0nj+EHHlWn3e5J1hG8RKUOxUt/tJ2x61swK+rFNvdkhryUB8oPZJfv4woKJWYm1DLiJGJUhlWUxV48ruBSGQvYGOLM= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 31:6ULbdRawCwikGkuAbkyUF8PeFX/ddAVS6p+RU2Ko30/u/rJd5v4SWrQOR2M0rHujmf1ik6QQ4xXo5sFLlNe6sfdjLGgSNEpD2FeAE0vTmOBKKrHdduOZPniBkKHBMJ1BZ9EO2KaOJfhSk8ZUv/EH22YsBuj8OcYqgY7TOMm1nXjc+nuunEmVA/TjWJTGkz3riXPYqbRRanNJPvEd6zqI/C7M+CEc9kFXGYfQh8oEs2oAaiUbsbXQcQ/ctYW3NVwKZl5mhMaPBQWuvXQKKPHJOgDHI1byH4pwTHTRMq9xIyiGV0fEodVjNjSkZlc1Vtzw0oBguT1fxkNadzD5KByfmpN0G2BI7/uy7BRlcgCbgVl9/Y0Oj67gzT2bhXdxvsgP3klsLlvSavpB6MaJm3RJhkZCOPnL1HoyETtz06HhzmDd0rO6b6BM5SGEeipa5rC7IEQ1+YvHH+jwqRv5WboeEZNofN9bmIuH8yIZRIDqMjrG4p4sQyRerI7Xw9m/OqWxv6FSISvZajDWZCyoaAgsA/9JP1Ef0X8LCOjM9dqf1MfWAe/QRtHugKCRkJ04DmW67N+elIRQMZtcJxCMu7IpEuy1AGuDlmDVcCN3P4/eWuxSIug656ZEWK59rtVuz5k2pLqOaL+evnBG4wmALLEw52+5y+FhLP6Bh3wwQxlPM8A= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 20:IqFhaZvzKPJfnokhojvHfk+b/7M9JAy1JYlA5IrPMgdmi533b4WApWRjXmhQTKAfgZSn6cxQm0p8ClQsKsv65PqIq3GIrPBTNihKscbOQBs0GLCekp7C0ElCDZzR4hGtSUn7yO2oKnHYg8EAgiSth/0Op6aQdvT7Zw1FohZLKjWCtJjDP6m8nr/Bnzh8Hq6i7ZFnj5qly9jgyVfzssrIgjrw/aADFqBgx2SI8RsgnTbnokh4nJeXFeguG/0YJoEVi7DjG7edlc0ozu+LnmdAiP/2n84oD7vG5YXRXAtlErlGa/YyuHBVhwxgc3IsXiLq40dmVp0T5ClXp3AgIKRcgMKH5yfsBqaZVvZrk/Q8id72rPcfeDLeTvkfbpgRlSOxEypPp3iAEWOzt4fb+ibkVVbFXpM8ZDEvo/JnvCzXmHpRO0FqItkUJwWO0pCLbinVmFl3d6ViOnETrKXm32VB0Hp0yYZLx9+1rzG3i6sVTjAYxv8vQTsEyRXhP1Ad0zkb X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(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:+9vdXQ0wyivIsAAnwi29MPjcDRiE6g+FYFeqU4Eps+?= =?us-ascii?Q?ZB010t+JJFApP8jxmwZtp+Al9wHilZR9ahv2aYVnaTrYdCxaKy+WX8+GHpwE?= =?us-ascii?Q?2iZchF+DmezuGp+zGyHUTKikK4iHSI0XgRcAtlLiDrVeADcSmqUeElOJZ6FO?= =?us-ascii?Q?hSB60DQHm87U7kLnqertantFTHjbxBkQSnQBGpqtHIbWa16chhDYYnkJFdmw?= =?us-ascii?Q?JTlSlbvBtmw3tYjuNRogFPlAiiScgWDwan6+wN8efYIDT/3hCQ/RyVRIQZfA?= =?us-ascii?Q?jJ6I6SEKkQmnezVo+eQZSycOo6DxbFFO8MoXwGtTKUPBgZuvLo5X2dhQ9eAE?= =?us-ascii?Q?SqVRCi6J0Z2JjkVQAZRpYUKJQYdgq2P2jDr/rC7fOLHPx3qAGmYrqLJY3w/5?= =?us-ascii?Q?RPtuYAIyqjG1y4VA6PLa8L7BlR+lWNfWZcc570TWKYcGC6d4vrGhp2BqUiHD?= =?us-ascii?Q?+6lo6LLSvJE/24/SEc5ArCoFF4zhXQWEzWmNayMsW/b96nRxq/sk1p6sm4cW?= =?us-ascii?Q?FEof7ZWTE/zMXYfc759vG/XtDScD7ysQuqkfLZKdqDwb8AwhfLBH3d62oyjq?= =?us-ascii?Q?tx3FaYYUjQEQ0Ky7/oZOK3ev91pgWmP+Hkfl2cdzBHL/sJgp8KtS6Vjg0hC8?= =?us-ascii?Q?+DDdbuu3KfWYaRGcBhoKvETB7j7Fr0lGVZRKtVxkUpGr8t72u2FZKp+yLNYI?= =?us-ascii?Q?JfDursLH0z/t+eaDS9teHyOtAFv8gNcfA6nEprr3L0OV8di9TWnI4IzFNE+8?= =?us-ascii?Q?w5ZIlnlpFp9CadTQgg/BkY+RxgQHfi6tyag2nwPtNeBCYQH72LV4UiClbVlr?= =?us-ascii?Q?5hyXHDlv3j7m6Chq0te6kDRnCwMeDlFX38iq+PWKz5QqpXADeihEp/dVXJWq?= =?us-ascii?Q?FDzpqIGrf7Jk7JxSFnS/CR+b/es8ebDgtKl01aBj2/uEsKrNqfmtlO+VZWjM?= =?us-ascii?Q?L/z3o2cYPqV7pIInG+nxxIvvP3a+QFCP4t+3wj0DdKYJlc6ylEJdh0CQbN0V?= =?us-ascii?Q?tXJLFk30K59ZXy8Ibn541egWuiOmIls4ghO9Luhb25j6cgXF+C4NZY3rus9N?= =?us-ascii?Q?y4dGQZnQeHIE02b0Ijb80bVOeVdwjQ/WYGTyuKyhq8OnQzgANtT9DSHXI5EF?= =?us-ascii?Q?wLUqw8x2D1QOBn3nyfJ5AIS7Rw/gqWudUO94paeoU+WalsDI6rQPEulEAt8y?= =?us-ascii?Q?HQ1TYMLO1aP8fzjSgOOF3Xvdaq0WrUeQb8LGRH8iwOjUmBx7PylGqURC846m?= =?us-ascii?Q?v+1LFmzqj6MqBOvCWY7COEOxkHW/TIV+D23SFO1y03Vj+Fbwo8fvg7gdyf+I?= =?us-ascii?Q?88GrWnTyG1ZsOjQsmwUQ4rHElrxBR7ucWj23zwxSB8?= 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:/wc79MamX1ZZSg3eqjpn6Lay+0a8Me8rXdllIXY/y?= =?us-ascii?Q?zD/EEjiHZKL4+HMpNmkv4mjtMhGCtQS+4q342MJAkCnR8/A4Ud4nc7sH+4I3?= =?us-ascii?Q?FbTpP833w6vjbUlQ41bxqrRrBbGBfHo78gBquobqP8/qjzDkjAljz7m3PYwf?= =?us-ascii?Q?eeKLF3ZLkqvDzqq5FazcV0VxLM0cSuqy2Vn8wga7a/5Wt2YJKYDqgATFr/9e?= =?us-ascii?Q?WCDj1LHPY1V8dB8n7gC90BIB+9QADA0nhqetfSJFfTnvMkkd9+2w3YMirFLN?= =?us-ascii?Q?3sZgbYfnOYE9wfc06Tf9yQJsCLyU+cDCK+Ri8LnTsnmheDvdfMdRek5glHSz?= =?us-ascii?Q?WlMBY0HpE6IsdXmRCiz0Yaeinev870e1Rxa8VZ/BoevMYXyBiquDZFVXqde4?= =?us-ascii?Q?0hzOe/n9ttaSdHG27/1G29vuFVpObLCV4AgVOsMlUP7AQ7Yh17NW3UmTzCRF?= =?us-ascii?Q?Y8VTlWK7d+lodAAf2p1fvkUera+fygY2Gp58jlo62/elfEpWLLD572e1ce5Q?= =?us-ascii?Q?Gp9ph46303Go1fPkGQreYUXgR2TrdtS3haL/3/G82V0BhXi+cfVVdVX284kP?= =?us-ascii?Q?tCDgzwn1MqhRRoGkd80U7jQ6pO7vjvbZP56FWRg7nr8QCJrzH5WUlC8ohy3n?= =?us-ascii?Q?EbeJRC3bqezmzheA+ggOHurGG6jSlnwXlgfu3N29gI54PmE+Z0gUIqTa9AZf?= =?us-ascii?Q?bu+sTlUgFk33EEZwgmDma4SxJfNrHuzzJAKCkQjKO0kzoI9wdDPLqU3pJe4R?= =?us-ascii?Q?8q4vAadOM03Y/GK/y4SapqLWLunLuxELwTLWsmElNJ4jNAAFEAuUaJa4EqjY?= =?us-ascii?Q?g5S/l69Gy9iMnas4wG+tp42VpaqJ40QCI6kKvVzaq+uFsFbvp6v5q0HVjrgf?= =?us-ascii?Q?n2axcf9xPa71h5VGlEkOjTU8lc2pzR+xFgEIWlnpN4ryqBwYCV0UM4eNFGJ9?= =?us-ascii?Q?50Mdo5kuxamdR5all/QnhgCJLGF5gnl/VbS6UTPCHEBy+DiYqXxXqHAlpNnA?= =?us-ascii?Q?2XzDrhF3Swz1CcOO3v/5G7dX2hm6V0328az5K15oJ5n1hBc63wNraVZw3VsJ?= =?us-ascii?Q?0EyI3Tng735eHkjpacsLaVeibxm3N7tu7xf2FTinhWt0YvRoQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0147; 6:bhHM8iqTKENES4kqmHpDjf4m/RFAXCeaFuUZzVboJS?= =?us-ascii?Q?/kjyKWTW+nZdBwnPOjgD+PcW8B62x5PkpP+9JFHvjSJkLBm2a5/RdcN+DV9r?= =?us-ascii?Q?Hzk46gCW+tAdbSo2cXNgJj/BrJh4dgK1nfcbbcn3fKRJEELroBBBQU98Mbjo?= =?us-ascii?Q?k/21xAx+lyICshox/Xc4ueis+015seuRkf3Vs34M38ouspjElgsLKH+ed81E?= =?us-ascii?Q?/nAXkpzS+1Z/1mfAL7MN8Z5+40fe8+/coxjcLvCQsABacsKuS3aczuopFCY/?= =?us-ascii?Q?yiR+QgIxBCVwPsP9ipTFlTyiBP1RSq7aMk2bbUQLXwA7mbAF/1Ftsuxl6AGm?= =?us-ascii?Q?kxO8B/doh2z0Wm6cdkRr9UTfCYSLnjYXvWR58vDYHtIc+2XYNm+hl/EnK1x6?= =?us-ascii?Q?WyIsm4BUXc3eU9JAv8l/bGKADNYWLtrSV6uiO6tlBFZp5UjECa+6AqHlYsF6?= =?us-ascii?Q?c3HUwB/h+g6Qvi7MxqTSjyMgaVQlIGXyo42b+fW5zAGypQwrxEdoBorkAL6a?= =?us-ascii?Q?awnS0hw3n+H9kM+hCNlRSy5fJQYiU0FnToaXl4ZG+Q0q6p7YvPzhCHaKZWSH?= =?us-ascii?Q?B83BWRvE4tfoJ/tXD51awdvkNGr5KAPUcO1uGy73CfSbcdIx3j0VMa+eUkpP?= =?us-ascii?Q?w5/PJSPM5EI0/DHVNpgkr+/8p8PIPmRE26nlJRZL2C96DAw/eUQPBZCK+FF2?= =?us-ascii?Q?jQAvX49XIxOC7kIxoOqNWw9wIAOKnC2pLETCmhyEPHvpWyFOElZ4msX4h9iH?= =?us-ascii?Q?zMpSktgYtTlxVmlz3m7h6A8IIzCs24b4339CaDuGcv4+ku1pWNbEFT+qs0EZ?= =?us-ascii?Q?yuBJu8kLsMqds9UCbuRuAJSzpmRhSfMbZjlljI1WEgJz1ISzReqs1LAJl5mq?= =?us-ascii?Q?JD7I1tmkqbpVTSUQTS6QKU39lSEhLc7INhAgaKFPi5NAd78I7u+bpIFFznbK?= =?us-ascii?Q?e8EsVujfMGZmEgwFAygsJ1/ERzedYTrod0wNhWlVA6ciMKdIBh8yEHWhnYxl?= =?us-ascii?Q?FU7gNQFFzfngtSvOtfR1NL?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 5:Eqq6dZUSTtHE+GhAhvI56UUKOG9mT4wOLDMXpPe/OU+/PEdqjZFbSKAgJ6hj1WBHrHPkz+bsyHVX7Q7qCX7cIL6/F+H0v5Y/2NooJNNBT71XLDwLxDlDXzxOt/pXhwF3zgS2cDs6MfzcyWHVqHHBvF6iJVbckvRbZ1qDHgKcywJpotmLzwCMTsR2zQkDwtKGpVX292wb5dDlKmst+4gixtrvQwz5DTT217IlvtAD+VzZXHiWJ5v/tEVPRwL4ckx5GrVY56TBpPoTu3GtRw7nMlwh4DM69zvn/czGYWVoEiRlG+Ax/wy1cmcA1eXypcxUqo9W+/fAFCmL3/sMyohl4rb13TqmRJlTCFszXHAZTLGhJ66+q6PUKhjGDX0Rxq1542uAW1ZY0PeJn7zalYKB0Isf0vplfI+0YD1jFANsyzZjJNeF603ws1cinejJOPzPvsttdmGyWj5tx3e+JQcnK8LR6gyx4jF9TlUxHPAauXgjJGA4/JQebtElMzgu3VXF; 24:xg4ihKfaoclj5hpUWq9Ffl6DGZgsGF3x18DIXQaJ6XIKEMpMNIcl5bmBwAnVErCbF7UgQcl+LP4FrJ1OI9UKzok1L+fYn0K/909j1Jd/Lrg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 7:hivD0XCvJMQlaVBicDO+O0oBspDVunoTns/EzQxjgiqlE6QMf3kryCs/u/MKNzVFcCTTy5N80fAuVVh87fgv6Xs6hTg8x9GsuNcuUhpXvA8ScTWLSFExhZkoWKhLhP1QZehbVVhyQeS8TcZHVINnbGBuxxmxDXTpLhGZoPZ43VGAU9T71l1ojFJ+lyb1ef9azPiVKNk8w9htwkoqggYDNMdPyhX14W/4pYieKQoIPtyrnlOGpq8iERIXfXeO8u9MOfYjCM1AH45WOu/wZCXlTrxekOdfG76bG2nbWqWDAog1w4MS3HCFWl8tb1ZOdxirTWwfhS9TQ0sXF17gxsPTD0+YPJ02hHP5iLwMwkMm5Gdp0ue0RGhdUhHHa3D1Hzy/7CjGHoNENaTBbQov08MuBMT1seJezk1Pu/GFiKL81AiYBcGVWyNxs+nLpbgl/WdtPY7UyF/37UPUcrP2XwSgH/1wMZKtNf+BJ8PdPndZibYPynLxQP3IJPhn2Mpzldaw6bg9Q7NcjvBAFgaNI3Bjr1OhEoDhBrmlDQNCZxI9+ZQQ5M/JHvCEy80IfwXIrxsrqPdrOCi5tX3A3ZJm8NBBWHLR62v0su6J3D3ZhG52tIQLGWLx2u7jRPFF6EcGHBW+xewm/0cg8+9VlDnQLgMXCAQFudr2TCRedy3RkJCMLEvkD9bjaj5nMFjwLphshOINLlAnm3tUl+TQ5EbLdq08rL56laY7L/6W6z3brT/U3vuZt7/E15SxDjAdMKC/I75P49v+HFZl/2H6+qFrlOXlQU7jWCjvywYJ0tsS0N9DWMk= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 20:kt80Fb0x0JMEkr5NVUvhL5fLF1stFX0P8qVjrFiueKbU/r3musd3TVc+9N7ov0cCrGR5wCNNIWxrDDroI4avaK9vEaIYDWc5BDy9VFVVv2srLjofnCKUkhVBA+7CceHpBrC1BOIkB1eoTCC3NZz7O6XLFGtt6iUWPbyUk7aqYWfv9n6KragLSsn7AibmH3X5U7xNboHouIV876urSl2PzSn0A64wgDsubNzHtlrncgYHmT8ZvgSpkB98012l7ytv X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 14:30:21.4488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0147 Subject: [PATCH v8 15/16] OvmfPkg/QemuFwCfgLib: Add SEV 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: , X-List-Received-Date: Thu, 06 Jul 2017 14:28:43 -0000 Content-Type: text/plain When SEV is enabled, use a bounce buffer to perform the DMA operation. Cc: Jordan Justen Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brijesh Singh Reviewed-by: Laszlo Ersek Reviewed-by: Jordan Justen --- OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 54 +++++++++++++++++++- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c index 73a19772bee1..dbebd36b1853 100644 --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c @@ -72,6 +72,8 @@ InternalQemuFwCfgDmaBytes ( volatile FW_CFG_DMA_ACCESS *Access; UINT32 AccessHigh, AccessLow; UINT32 Status; + UINT32 NumPages; + VOID *DmaBuffer, *BounceBuffer; ASSERT (Control == FW_CFG_DMA_CTL_WRITE || Control == FW_CFG_DMA_CTL_READ || Control == FW_CFG_DMA_CTL_SKIP); @@ -80,11 +82,44 @@ InternalQemuFwCfgDmaBytes ( return; } - Access = &LocalAccess; + // + // When SEV is enabled then allocate DMA bounce buffer + // + if (InternalQemuFwCfgSevIsEnabled ()) { + UINTN TotalSize; + + TotalSize = sizeof (*Access); + // + // Skip operation does not need buffer + // + if (Control != FW_CFG_DMA_CTL_SKIP) { + TotalSize += Size; + } + + // + // Allocate SEV DMA buffer + // + NumPages = (UINT32)EFI_SIZE_TO_PAGES (TotalSize); + InternalQemuFwCfgSevDmaAllocateBuffer (&BounceBuffer, NumPages); + + Access = BounceBuffer; + DmaBuffer = (UINT8*)BounceBuffer + sizeof (*Access); + + // + // Decrypt data from encrypted guest buffer into DMA buffer + // + if (Control == FW_CFG_DMA_CTL_WRITE) { + CopyMem (DmaBuffer, Buffer, Size); + } + } else { + Access = &LocalAccess; + DmaBuffer = Buffer; + BounceBuffer = NULL; + } Access->Control = SwapBytes32 (Control); Access->Length = SwapBytes32 (Size); - Access->Address = SwapBytes64 ((UINTN)Buffer); + Access->Address = SwapBytes64 ((UINTN)DmaBuffer); // // Delimit the transfer from (a) modifications to Access, (b) in case of a @@ -117,6 +152,21 @@ InternalQemuFwCfgDmaBytes ( // After a read, the caller will want to use Buffer. // MemoryFence (); + + // + // If Bounce buffer was allocated then copy the data into guest buffer and + // free the bounce buffer + // + if (BounceBuffer != NULL) { + // + // Encrypt the data from DMA buffer into guest buffer + // + if (Control == FW_CFG_DMA_CTL_READ) { + CopyMem (Buffer, DmaBuffer, Size); + } + + InternalQemuFwCfgSevDmaFreeBuffer (BounceBuffer, NumPages); + } } -- 2.7.4