From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0078.outbound.protection.outlook.com [104.47.33.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3443A21A08D8A for ; Mon, 5 Jun 2017 20:49:56 -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=hr7KLiIe74hfUUFLVtS2W7IaAmh9WLExeLP5ebQjL8o=; b=tepVxEn3RbSl4Yc4L8yDj3QrSekZbCOc4qq8ZjWhzrN8LW7iBO3ZKgsROyv2HZAwK0sO28EYYFT0CjbGqN/Hcq6g92Tc0yH7pDMfWriMDfX6eRTlBkye7tAgh2CPFsd+xjCbA8E26Rp2TImmHzjEbLkD8DBFqcRH6PEUlLuLT7Q= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; Received: from Brijeshs-MacBook-Pro.local (70.112.153.56) by DM2PR12MB0154.namprd12.prod.outlook.com (2a01:111:e400:50ce::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.10; Tue, 6 Jun 2017 03:50:59 +0000 To: "Zeng, Star" , "Justen, Jordan L" , Laszlo Ersek , "edk2-devel@lists.01.org" , "Dong, Eric" , "Yao, Jiewen" Cc: "Thomas.Lendacky@amd.com" , "Gao, Liming" , "leo.duran@amd.com" , "Fan, Jeff" References: <1495809845-32472-1-git-send-email-brijesh.singh@amd.com> <149583274037.25973.13062338567511386932@jljusten-skl> <6ecd0138-454e-6a6e-d034-beaf63466120@redhat.com> <149609029319.5770.13917390389219314003@jljusten-skl> <14301d64-9fa3-8231-42c1-52c2dcd9f96f@amd.com> <149630284935.10663.16670660897918560882@jljusten-skl> <661e46af-5e1c-733a-d027-1ae2e3052a28@amd.com> <149671154262.11907.18297341281786344033@jljusten-skl> <0C09AFA07DD0434D9E2A0C6AEB0483103B8E3C1D@shsmsx102.ccr.corp.intel.com> From: Brijesh Singh Message-ID: Date: Mon, 5 Jun 2017 22:50:57 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103B8E3C1D@shsmsx102.ccr.corp.intel.com> X-Originating-IP: [70.112.153.56] X-ClientProxiedBy: DM5PR15CA0023.namprd15.prod.outlook.com (2603:10b6:3:af::33) To DM2PR12MB0154.namprd12.prod.outlook.com (2a01:111:e400:50ce::17) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM2PR12MB0154: X-MS-Office365-Filtering-Correlation-Id: 17b69784-b8a9-4844-a173-08d4ac8f3f13 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:DM2PR12MB0154; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0154; 3:2dDigA7gvNRAZTL32qSalh802ItqpuOid9DB7ZTZbt/2eTkzKTaNW2r5uD9wWyMSHpWPSE7xdH2Ouc938VjXpPT7R2MezPI/8+smKIO9J6rZ/gp6w9jHHnKRDuVS29T0kEcK3gMpXDrWZM9KiJRzAVMfCn7kShte7AjCgPjYUDmLdtjOvXG0ZKPVYrO/96W+UrhmQlWnLRByX9St5x51NfbanR9X0JNbmZMJEDZqUQDX7kChTAsDwBoX3NHvTQgiDa4WpOQnMNm0p0hAcKm5Z/UL4YX5eASovlmsmXDEE5UbzfysH/ILoC9cZR6SpQZUqPOGD9Mkj3pWdO7uVwZVK0ySluQpUXhS/w7lp2ndfjI=; 25:bWgxfGPSAdy4JEv7eDMcDV5PD2hi/XRGoQr6jmZzQsZObo7+jszYSl+OEtSjNcelqtC7Ea67nQvqi5Mn7YEkUeqb64Z69qx7zy7qknSeDSN0LeJ6NE2a2ILppCrpE/OrA4NE4KkI31/58PZGQwVhgZpvYTjQ+ZOScdDqcHpiv2ePpStq+pKq77X9CdyfU4ucgKfFrxVB8xrWzjDSCzrP2phlTy2dQ3n3GKPxtGa4uFUN6v1yMOKg4W1hkvYSShgjaASG+hNb2H1jKaR6w/XnCREsLIKmuzBV/mRdx4JLWRuHJcIwCUsPwboKvoeD6Xu08cNLtVBU3z8F5SsVkbewLXbvqOTKcr2Zis/8ESTD4ANCNZ/ukbwI/+IQDPKWu6YV+N4qlls7cIvvp6S1zIcrmdPCm2K+dscTG6XqD3kpwsL2ckdP6j43z8FwLAq802YRAZky4mI/ZP7sUc3HbQzgN0gBxAJGXEumCixqXECBSCE= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0154; 31:fFVqMdxiWT12+sYnNnkqK6ahBVbvUmle14+olMw+hvxHTjpeSZFm12JfToEV2Jcxeg178aLGp5gsxQQg6X/DJIa+zTW3JwlKD6KNc0UPvyROAWxDYtwRFj96o1UIi7RrsTo365X1X/n9XosdQpnFLgS1AQGr/+AbHXTsDJt4bu5bwARTogPQToinNbyytqDR8vu0Dk2CyQtaDGDhzZpV0EBxjQIU6ggXW2po+YT2Mxk=; 20:TQWzjKQzHDb3zoBnlhGKqsLEbA6RpG0F+dy1iOuHp4VdmZpLUvp0932QeHrCGJH5BI8NT/agewzxjW0Q/PKQ9/Ajr9oZPwYMx5usoAtvyPMWN9nVPt2s+d6AaKibWvMTVSNg7zI8IHd7MaorYRn8wiuDl1Jp9sYZ+MhpncElMyhPtY5rbynQARR74vNIrV6b1sHlVobz/59DJJyyNWJMCWvuf5LRIvwwD5o0XmTG/LRm6kJcMp1dkurQtF3CPuAEqIArjkIrIhHrF1KWNSXNOcFWNj37TtqH5lojq7RmmNDAgWdkVER3SHZ+cHwMqXq43RG+ZTOHt5NgV99rAqCPeNaMjB3Sh/h9sXpJNF6Fkq9uSC+dn64f9zv0WOMSToPE5QYjoroRV3v/M7utSB09oq5EECN7rPDjfu/NbGlNzQOLyIpSz72IyvNbw4OcxaqZgPm/jb06Ozlyg25R9TA/VGuVvluASnntxKpHuV2zJgpxoK9GsLNemlAjfONbMqEP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(767451399110)(162533806227266)(228905959029699)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR12MB0154; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR12MB0154; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjEyTUIwMTU0OzQ6K1cxVkxUK0t3Wk91Qlg5SUd1YjhPMVpPa1Iv?= =?utf-8?B?b1kvWUZYWkMzSGYyT2UwRnVVWW1ja25jODYwNVREU0g4TG05UmtET3VsMDlB?= =?utf-8?B?SFpMbXBUeStWTVhlWU14VGg2UTBTZnRhQ1hWQWYzYjRrTmoxTGJBdWc4TjhD?= =?utf-8?B?akgySXlWa2xYMnRQdzhuUm5jREZxYSszV2w5REdEZGdWU0NBQ0dyelZNS3c1?= =?utf-8?B?dzF4cU91Y0JyS1NwY2dwOHRPWkNUcWU0OEh1emd0VFRVNjQ5dDYrRVJmclht?= =?utf-8?B?b0wxN3A0MU5uNnZGbUtsYTlDQklFcnV2SURsZVk2OVZSbnNPdTEvVVE4Vml6?= =?utf-8?B?NU5mWDlWVG5PaUNGSWtDU0hheXdnRFIvUGRyd2VsSjdHcHkxTXZFUVowcW8y?= =?utf-8?B?Kzkyb0JwSHAyWVhOcEYyR1p5RnJnUmpDT0RTSXZlbXdTQkV6eFcxVTAwSWRR?= =?utf-8?B?dUVCekJENHdpR2ZqWmVuNzVZWHBqTjFkaS9ITzdQeDNxaXMzaldMRStZM3hF?= =?utf-8?B?SmNvYm9LZmNnZFpKYlRhZG9nVWVzRWpSNlhqL0M2c29XNkU5WXBRSXpKOWJa?= =?utf-8?B?V3VVT3FUSWxQMW05aXZXblZFcGxyOXJ4anZWMTF0Y0x0RjVUNXNBS3lER0Rk?= =?utf-8?B?eWM1bGE4aUhqdVhYcksyZHJVcmlMYTNlcnZYMFVSRitLZitDejlEN3lHQkdo?= =?utf-8?B?Q1k1SHZxaFBsaTNQMWxvZndBMFNrbWtOS2ZxdTZrdnVEMnlRdGhwTnVwTURO?= =?utf-8?B?bytLN1B5VjNidFc4QVIyK05pM2lqaGJNbmJaYWV4RnlyNzBuTDFZaGgxeldo?= =?utf-8?B?RzNtZzhwY3ZYVjJ3SVNyeXVmUTRCZ2hFcy9OUEFvRWQxU2EyQ3RjaDM5VFV2?= =?utf-8?B?M3MySHBVYkpZdFJtU0VVNnZEZFVvMytab2xCWGFUUjRxV2VjZ1JWdlg2ejd4?= =?utf-8?B?TXRJQzhwclExL2lKQjlPQ1BXdG1oTWtXaEdhNVFLMHpCWVVHZHc5SlI5V0Y0?= =?utf-8?B?bFVha3pnb3RhQW56cFVQdGJrSEROVHZ5UUFSV25tTEdpak4rVEFGWVRpYmpZ?= =?utf-8?B?YXQwVmNLL2lHNFF3cHF0QjBOU2hXRnRubFFBUjdrdnA2Y2QvT2dBWXd0cmg5?= =?utf-8?B?ektxeDRIK2thSWVHYzlzUjNpWDI5a2EwUnJNWFVJY3dybFlPV2drY0RxTDM3?= =?utf-8?B?QXdUUUVRZXI3TWtZWnlEYU9LMUJiREdwWkg2cTNEa0w4ajRjbnNrR0thc2Zt?= =?utf-8?B?Z2VyZU5aK3dBM2VzSGo2aHJFcVBPWTF0TEFwS21xY29CSk13S3NUeHdhdGwz?= =?utf-8?B?K1lpMThpemF3Mys5RjlveWZtaHRIekhtcWxmSWJpSDJsSVphNTNBZGVYSDlX?= =?utf-8?B?alRGN0NnMzhOK3h3MHNKY0o5THVuZERlb1c3cVZHb0hlakhQSUh1ci9XYWRR?= =?utf-8?B?T0RiV3R4Q3ZGcHZMelkxMWJZamFFTnRGbzJZdFFZR1B0SXNVd0JKNFRUeUV2?= =?utf-8?B?U0pIcGxIbXpNT1ptTzdoZlRYeC9PLzdodzcxUS84Ty84WmlXL09ZWENEYTJo?= =?utf-8?B?TFZtczZFbUt0Qmo1Y0lDRjJVNW43SFBGclFaYi9oUVhIdDk2M3dSekI5T3h2?= =?utf-8?B?Mm5weGdTWWRMWkp2NDNqQXVxcnJUU3FEdW5KSG5YVWR5RThtVGdtSGdlUnVj?= =?utf-8?B?ZU9QNVVCQ0dlWCthdE4xTzczRnJ0b3JYS0RGcW5sZWs1NnVKMFNTZVUrOHBW?= =?utf-8?B?bWdLVFM0NXo0OXMyQ1JDWXlHUXdxNkw4MDVaVVdSOHErMFFtV01FUHF0UkFx?= =?utf-8?Q?RlvD7c1S59sb?= X-Forefront-PRVS: 033054F29A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39860400002)(39450400003)(39850400002)(39400400002)(39410400002)(39840400002)(377424004)(54094003)(24454002)(377454003)(13464003)(8676002)(25786009)(65956001)(305945005)(53936002)(2950100002)(53546009)(65806001)(66066001)(4326008)(7736002)(50466002)(31696002)(229853002)(86362001)(33646002)(2501003)(6246003)(42186005)(38730400002)(31686004)(47776003)(230700001)(54356999)(478600001)(2906002)(50986999)(54906002)(6486002)(93886004)(6116002)(4001350100001)(3846002)(6306002)(76176999)(966005)(83506001)(6512007)(65826007)(36756003)(6506006)(189998001)(5660300001)(81166006)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0154; H:Brijeshs-MacBook-Pro.local; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjEyTUIwMTU0OzIzOk91T1JHbFNrdG5ZTEh1RmdiU3hEL1h4TVV1?= =?utf-8?B?WTcvOVdwMXpNSWVGY3FrcUtuWE40czhDRGVFaU1GMnlqOW5UVklrZyt6eEU5?= =?utf-8?B?RjJXYTJYRytVOXdVS0hGSjh0bTlMeVVXMGNzQ3RBYnRycjYvSVhNU1B4cXF6?= =?utf-8?B?OURDVmtHZ0s5L2RrTFlxY2FUZ0tBNWFCVkJOZ1c3U1doSC9TWUloUEhwTHZJ?= =?utf-8?B?d2ZZYVhvdFZHR0Nmd2dtZndOSk11RG1LOTFpbDdxb2pGYWF3WXpHT2EzQzJo?= =?utf-8?B?MCt4Z2ZHVCt6bGNMNXVFbXF1dGphVU92Q3V3TWFJQmpWY1Q3MU9QMDEvMGE2?= =?utf-8?B?cUR0V3U0WGowQll6dVM3dVI3RCt3V1pLYkxabXpKYnZMeUY4V1RxWUVuNGRB?= =?utf-8?B?c3pxWHViQzFLQVREU1NodEZ6aUwrRHlNckJHVlJDOEJHWk40emVYbER5eFhX?= =?utf-8?B?Tm9BWHY0QU1qc1RzZ0JjSUxRSFRpSG1OM3NhUm9hSnlMOXYzaStia3NhUEJW?= =?utf-8?B?QzQ5UXdBZ0FZZEpDVlBaWmlMQ05QcGNxMjIvTmtaQ3VpYXRZOS9DclJ2RjBW?= =?utf-8?B?dkFTTzFqYk1hRFFHQU1BdXI3akFzRjg0Zk5jVy9WZDZ3TUlDM1BnVHV6Mit1?= =?utf-8?B?THR6UkFTNnAwdUZqRVRXN0xxcCsyQ0pKdHFOdXBHTktNR0RWdTZLa0VkNi9N?= =?utf-8?B?OEV0WGV0WTgxaExPOFFZRTNZSDNqeWduQVEzMktPNmwzTXlEdEU0ZmowcmRP?= =?utf-8?B?Z0J2TFpFaW5BOW41R3B3N0NaczNJMUpGMGNQanF3VWpOckM3SGR3WjNPMXU0?= =?utf-8?B?ZXRZL3ZaMTZBRkdENFVNanEvTndDeVByd21zOVNXSkJwMFJaOFlaN3d6ZmlZ?= =?utf-8?B?N1I5UnNIZ05pZFFzYjdTdXVoTkNJdllpYTExUW9RVmJPWFVCTDFNMzIvYm5X?= =?utf-8?B?Z0V3eUhWL2RKQlVYZEY1blk1MG5aWlR3MWI3YUVaZWdERnFQK3Y0WTlxb0g3?= =?utf-8?B?VFA3YmxFSVZuRElRa0dzMS9ibXdEU3E4elNWTFdXRUJBUlo0d2RIWU1WUW84?= =?utf-8?B?OTVhanhVMjRjUFpUbWFMMXlJY0NCVEl6bGRWZjU1RGpoclVUNUI4bmhLQmha?= =?utf-8?B?YVNNbEhKbVJHSUpIL1FNNnRVWlBqN1FxS1daOVhkUW9kd3BmUkJNKzQ3R25t?= =?utf-8?B?VGFidHVnOTBkS3daMWxjR0tYMUpkUXE1M1g2UGlkWWZaR2RuWlhwb1lmalRB?= =?utf-8?B?dFhoT2NwaW02aUVYOGpQcWN3YTR4d0o4c2xCeTJGTEh5Q2VVdnBJOFlKUEpq?= =?utf-8?B?eGdkOUpMNEZGVUdyYksrWnZLVCswTFhRYmpSQmQxN3lCVmtjek85cjZWUmJo?= =?utf-8?B?N2MrdkxISmlCQUxab3hjSHJ6RUpCOGhFLytjQk9KS09zZ3VTWnZPK29sVXFI?= =?utf-8?B?WTdIeXVJNkNKcGFsVnNwQUVIUllTNksvM0pPVUZXakdLMTZMbVU5QVBzbGVK?= =?utf-8?B?Zm43MGtqV2x3OHhUdzY1aktqWDFqZ2JzN2xmVVF2R3o5MFhyemlyR0FoZXo0?= =?utf-8?B?RUZYeG9BclNOSXJLNU11MVkxWlF2VzFrWldLeVU1VTE0Y3VUZmg1WVFxaHM1?= =?utf-8?B?My9vd3l0aThMeFJld09OUlk1TWtsRmMrcytBdzBxMzBqQnBDWFdZWHFhYmFy?= =?utf-8?B?Z0V2OW1WL2dZZk94dXVVTEpJUi9CbU84WFlUSTNzNitDZnNwdDNhUHcrMG1T?= =?utf-8?B?bmNBNDZ1Um4zYWNEdlNqM3JBQXEwNUtBQ2gyd2tjakQ2cjl3eHhZSldqSnJ4?= =?utf-8?B?N3FKTVkxQk1aeFNLVEZiUGVIR1QrclpFOW9zWThRK2dJb3JtdTZmRml0NTcv?= =?utf-8?B?cUdXUStJelBLaHdvcitCTmlrUjdWcFQ0VGQxeHYvem9BMnBRM1pBWitDa3Ri?= =?utf-8?B?cTRYcE8wQ0hBPT0=?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0154; 6:DshIZGU58fvK6yAVQwFfbAIlXcc8XTVVzlQFx3uQp2CxdkP2XlYNfPmMCgGh8XHSZB3I6co6ANdw/leVD3rBorYsjNc+GfLPR+Hd+3yUw/2qCgWYXV8Y1GX1p/Me5WLPWZuT3+bd8a2Kp4iGFONY/qad28AZLguFRBm7q2MuO5vXcuSpxfK/fWVp6PGK6mDyu7zasL6gB0aIm65/MnoJvY/e8u8KMGiFAX6MEIFI4ERLjOrKSMkyRwKloOJ9931UR60l2nOeezu/QSv0FxGsnHQJdkTpDvsaXt/GuerQJn/lWoODUyQGrAvPA7B14BRs5m8/sMGZrRtPxjsv7H65qO21y/p8yVyjJGjBLNCCxjDNYBj2L9dK2TqstpFaPNVkspaf8ne1mNwUdObQi9eD2KHfmL0fAfE0Zd1DaQ8KKDIbTTpVqvQz+vwFWBMMG+38dP6OPtxY6aAGdapylV9bBXGamqnF6jENiwVpX92cvmJNzi8xF32TBHGnEmqM3mA4GJoWV2rqS9GnoHoe1GgsPhAvhJx/sKcZ75W1zFgURCA= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0154; 5:XdA7jKrJBISUU2DjzAedLPMb9wD33gsGvDRJrl/DyYR+VeRfKZOF+/SlIZfMzZpIDOt76qblkuGJ/sGd1RipBYaILHXfg74mSTLCdhWZxYJfuZE3s9SWbZJbS0npnEguUEIXPIyZgdUftcZDcl0bWdcPWVSvvxkn1MaTHzMne5dEU0FHFfMSUzKrLBL13jVqcZkIVjCFJs+sxoLD2x1U89uGto58KBkkR5Wmq9+2411K/k/8UFmAIKkeDHaLiGTuSXfX2HF6YxJFEMah+wU8KNCB+hY+6pNArat9H4yX5l+an25ncQ6tE6Ymu34rYQIbL1jUdGvOhH1Aw0KqkPFgukboKIlPPYKNy3zDt7T29QY0zjjHxyQUO9qCBaT4UZ55bbhBwm2Pk+C4ycu4wSOBEao1feBmvXPQBYhQpZSlnTdmv1g0rQxMfC9nq1znNhmH4Hw+M7ZosCeQ/aB/+C95V5CtQ7mbjU3pqqI2ZM4nb46zqBuD+R2Sv9vWRFzE0A2/; 24:sAyx8d3JvaQpSk2DhqkqHh1caWcUxGOMOe6/wd36Kssv2MnwyPjChcqNgZu837IknSIqSPHFH6n0MTzng+4vryjtQbMHqdyHe0F49d/8l+o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0154; 7:WmkEaqtLqsvE7IH0G7/Zn1U1dhjOpXKW3s2zJrtfIJyjouq4s+3RWaM+LNXgCqQK3keEBDzQZ0lygeVslBggKnJitmRoO0d9YSzSbZ80jHcs4JNHHc+o343W9rNCRK3qeTflsnPkCgLd3K/hroec+2IAjw/lnhzASAsw7RRgRP2A66sMX05YjKaYlqsETVRAAj4HSNICedWpZt2loXVjzQyh9hOL2YyI9X079MPQj4e6o6wej1B+ywQuwv3WQbWckjxJCtN4xnGmMcYCafnPnCtuz5c7+hxr8al4F9jtcT9HbCHBr8HRjVxtV2S6P9OoBQuDhiCIcDbzF/FaoKT0vQ==; 20:vRKCXexuOJcwx6HmAxxFGf4WWIwX+KKV5babDK2GrbBVdkFb5Sj6OtOS+tcytWmG2cOpn7fNenloFaYFt77BjhXecZipsHm1CQ4nsb2EzIkEpcg37yLnn3P4qBlzArI2UJHvvrxNa2JYhtwOJIx6X43ihcMt/ANMsehTsPZQUbSXUQM41c330iyAMXizY5sd77cdoDl6Jciz8Ux1XlSVbm884HSl08DasRM2/NZUUBpCv5+10o1SoFqa6VG+46L7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2017 03:50:59.9634 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0154 Subject: Re: [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) 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: Tue, 06 Jun 2017 03:49:56 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Hi Jordan, On 6/5/17 9:08 PM, Zeng, Star wrote: > I was not tracking this thread. > Jiewen will help give comments about the potential change in MdeModulePkg. > > Thanks, > Star > -----Original Message----- > From: Justen, Jordan L > Sent: Tuesday, June 6, 2017 9:12 AM > To: Brijesh Singh ; Laszlo Ersek ; edk2-devel@lists.01.org; Zeng, Star ; Dong, Eric > Cc: Thomas.Lendacky@amd.com; Gao, Liming ; leo.duran@amd.com; Yao, Jiewen ; Fan, Jeff > Subject: Re: [edk2] [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) > > On 2017-06-05 14:56:04, Brijesh Singh wrote: >> On 06/01/2017 04:10 AM, Laszlo Ersek wrote: >>> On 06/01/17 09:40, Jordan Justen wrote: >>>> In https://lists.01.org/pipermail/edk2-devel/2017-April/009883.html >>>> Leo said that DxeIpl won't work because new I/O ranges might be added. >>>> I don't understand this, because isn't DxeIpl and an early APRIORI >>>> entry are roughly equivalent in the boot sequence? >>> I think you are right. I believe a patch for this exact idea hasn't >>> been posted yet. Jiewen's message that you linked above contains the >>> expression >>> >>> always clear SEV mask for MMIO *and all rest* >>> >>> (emphasis mine), which I think we may have missed *in combination >>> with* the DxeIpl. >>> >>> So the idea would be to iterate over all the HOBs in the DxeIpl PEIM. >>> Keep the C bit set for system memory regions. Clear the C bit for >>> MMIO regions that are known from the HOB list. Also clear the C bit >>> everywhere else in the address space (known from the CPU HOB) where >>> no coverage is provided by any memory resource descriptor HOB. >>> >>> This is going to be harder than the current approach, because: >>> >>> - The current approach can work off of the GCD memory space map, >>> which provides explicit NonExistent entries, covering the entire >>> address space (according to the CPU HOB). >>> >>> - However, the DxeIpl method would take place before entering DXE, >>> so no GCD memory space map would be available -- the "NonExistent" >>> entries would have to be synthesized manually from the address space >>> size (known from the CPU HOB) and the lack of coverage by memory >>> resource descriptor HOBs. >>> >>> Basically, in order to move the current GCD memory space map >>> traversal from early DXE to late PEI, the memory space map building >>> logic of the DXE Core would have to be duplicated in the DxeIpl >>> PEIM. If I understand correctly. (The DxeIpl PEIM may already >>> contain very similar code, for the page table building, which might >>> not be difficult to extend like this -- I haven't looked.) >>> >>> Is this what you have in mind? >>> >> Do you have any further thought on this? > Regarding Laszlo's feedback, I'm not convinced that it would be excessively difficult to accomplish this in DxeIpl. (I'm not saying that I couldn't be convinced. :) > > As far as I can see, this is an architecturally defined AMD feature. > (Is this true, or is BaseMemcryptSevLib actually OVMF specific?) Yes, SEV is AMD-V architecture extension and its applicable to virtualization platform only (we can says BaseMemEncryptSevLib is OVMF specific). > You've asserted that it should work (SEV would not be detected) with any Intel processor as well. Therefore, I don't see a good reason that we shouldn't be able to support it in modules that already have > IA32/X64 specific code. (I'm recalling > 881813d7a93d9009c873515b043c41c4554779e4.) > > Since DxeIpl builds the IA32/X64 page tables, and you need to modify the page tables for this feature (correct?), I think we should try to support the feature there if it is feasible. I can understand the argument that this doesn't apply to all non-VM platforms, so I think we could add a PCD which disables this support by default. > > I don't know that the owners of MdeModulePkg and UefiCpuPkg will agree with me though. I am flexible to implement APRIORI or Platform hooks Lib. But one thing I want to highlight is: I'll prefer clearing C-bit through BaseMemEncryptSevLib functions. One of the main reason for doing so - In future when we add migration support for the SEV guest then we will be required to notify the unencrypted page range to hypevisor ( through hypercall). During migration phase, Hypervisor will use this information to make decision on whether to invoke the SEV firmware to encrypt the memory region for transport purposes. If clearing C-bit logic is contained inside BaseMemEncryptSevLib then it will make life much easier. >> In meantime, I have been looking into MdeModule/Core/Dxe/DxeMain to >> see if I can invoke a platform dependent library to clear C-bit before >> DxeMain finishes its execution. As Laszlo pointed, current approach is >> using GCD memory space map to get MMIO and NonExistent entries. I have >> pushed two patches in my development branch to show what I have been doing: >> >> 1) add a new null DxeGcdCorePlatformHookLib >> >> https://github.com/codomania/edk2/commit/171f816376b3b0677cbfb90271a94 >> a920d7ad72d >> >> The library provides a function "DxeGcdCorePlatformHookReady" which >> can be called by DxeMain just after it initializes the GcdServices >> (which will guarantee that Gcd memory space map is available). > Regarding hooking into DxeCore, I don't think it is the best approach, but it is better than APRIORI. I wonder if the MdeModulePkg owners could jump in with an opinion. (Hopefully besides just pushing the problem away via APRIORI.) Jiewen, any comments ? > -Jordan > >> 2) override DxeGcdCorePlatformHookLib inside the Ovmf to clear the C-bit when >> SEV is detected. >> >> https://github.com/codomania/edk2/commit/914ce904ca1b7647c966562596ba5 >> 3c95949f659 >> >> I've tested the approach and it seems to work. Is this something >> aligned with your thinking? >> >> >>> Thanks >>> Laszlo >>> >>>> -Jordan >>>> >>>>> In second patch >>>>> [2], Leo tried to introduce a new notify protocol to get MMIO >>>>> add/remove events. During discussion Jiewen suggested to look into >>>>> adding a new platform driver into APRIORI to avoid the need for >>>>> any modifications inside the Gcdcore - this seems workable >>>>> solution which did not require adding any CPU specific code inside the Gcd. >>>>> >>>>> [1] >>>>> https://lists.01.org/pipermail/edk2-devel/2017-March/008974.html >>>>> [2] >>>>> https://lists.01.org/pipermail/edk2-devel/2017-April/009852.html >>>>> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel