From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0078.outbound.protection.outlook.com [104.47.34.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 BB2FA21A08D64 for ; Mon, 5 Jun 2017 14:55:06 -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=bBJqzidptbQ61ycrYNyWk34ezhAs+Hg4AxuP0RvUrP8=; b=caWd8qSB6oiMbHlky7SGh3iMQ2r5WOPIsqCvUEAX03eIimNGvdloZBRBdZUsH2ePuHIte0O8u9eDvmcvMbYx5rqdc9ppX255LI85uYNPacYDeXbD7ypupcoRAYQh2MyWMi/AWtsXGyhbhAGwwOY7WsnuE7Y+hOeHjy1EI+IDu2Y= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; Received: from [10.236.136.62] (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.1143.10; Mon, 5 Jun 2017 21:56:08 +0000 Cc: brijesh.singh@amd.com, Thomas.Lendacky@amd.com, leo.duran@amd.com, Jeff Fan , Liming Gao , Jiewen Yao To: Laszlo Ersek , Jordan Justen , edk2-devel@lists.01.org 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> From: Brijesh Singh Message-ID: <661e46af-5e1c-733a-d027-1ae2e3052a28@amd.com> Date: Mon, 5 Jun 2017 16:56:04 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR20CA0046.namprd20.prod.outlook.com (10.171.161.160) To BY2PR12MB0147.namprd12.prod.outlook.com (10.162.82.20) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY2PR12MB0147: X-MS-Office365-Filtering-Correlation-Id: 1d7b9acc-f549-420f-12c8-08d4ac5daced X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:BY2PR12MB0147; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 3:zVGjLH73htpXAzl6L7hvdhhXGwYsGDt35lNjUG5PHZl+Wag+kRAc6W1Hd3fsd8KPA37d2Mbz+Z2ZlAX2TG9GiTi4DospyqJyK/thX6IqEKRyhMnKP+IuVsrGLvT3VL4ANzpydspY9q8PLLtoOIBvcnoAKuC3bGse1+KHYscZqYjJohZ29sifLEtDTbnV0wmceTleqa2HnhwajQ7e1VLpb/VrfFhxEcwRJ9CjhHCXto0AON/sIvTSzpVCvKOqWp6/V4vQAXbQobBj/zKpjqpNAcMK0Fn9+I7AaZ7hZq0tdRobgV6UGGdoy/2F7IsHdXmDYPbW/xD7o/80i7zhx64YNQ0Cc45KAP4VrxGuSHWaO2s=; 25:v3pJycfuLa5lRtFod1e08pTHAjiStPwd4ofCSAIlVYS4rTF1G4Gf/cDzHtBZrKwtT7yA83QewiBUrvab+kMg3DdCWyHdyFcYBrCZt7qZlcoJWigDSFy1Y6UNDm85uPTQfUSyo0rbO/w1gmR3X2jR6oNkqlPdfaYYDXKrcPhlRgpNSw/wgLZVQPI+xUFewx+L9opqKjqyLdpdFYcOYTovxjJf/DgXTxITIFGTewHarQZQHc1b115LVfn9WADbqKFGjY693aFiYdzaZeM0djgoOZ5++keFkITZ64Xq4+/oe96Tod/QuP1UD6nxFJedIRyHnoPXqskKXpVkWgFtgWstd5aP5P+Is4k/KEX2zWI0L1LPdNiVJGysqgPj2Uud7sGvhKBBnel3C5Dkyzb4sFbYZ++LMQSn73mPj65Ti7tt8dx4TqLhe+C4Jxmfx8OX3Ya1wwP8rbags9BYXQP17S4p5CCKYymyMcIdqmHojX1kOQg= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 31:rECDdquRUmWPsqahW6WXdtSFqD7+sXvfnncG9Ie5zWhuk92f8dG/zP7yhz2Rf34PAtHi4djbC8MVBIPPYi2wFk1vYM3PGPBU2okS3IOUfKYO5HhUByAF8g1sx2oKJhbVr02rJiwa6abKhqugzInCCMIOl11QpVZ4rvUsEH1vnVcDmcbAAOIwGIIL35SsIjSlsTMJBdM00DrUJOpQDX7p8wZDEan6+GvY6YQg5C3Bj3k=; 20:IlHuwQ6gkAcMbhPQfL6JLvpyQHJhb8QgiBgM2wIuXX/Uabv0O4AsKX7gzDE9/Ubz/wuO8bo/CE/8Gc7uW+wGI4u7jHDSQ4tAwqVTtiQK9fG+Lb217ft7S2LzwyhR9iwI9GeVd/dUUJOqY/W16ZpfQbpofqDBbS4axG1fxmKTJbdyPfryjGmLbklQx9taP6WCxomRLcF8+StAxF62Dz45rvM3Z4aw4M3vDH+0POzxHK7AIasI7mGybRo2yGIWVP5sVSmnqnc/eLkLQ2el3lWG+pQzGTwf6hXinOwIZ9ZJhkBS1meRY4QPOdxtYzhJkx6+3sN3j4AB62PvGV5RyLKF8DW6v9GfSljNWtTwz+Lk4aK3DL76SS8xUMWL/tsw087P2Oqb1ciNVtoFehJ6qwjXVo4sy+owzwiGthA4Xrix2+eQSstA1okv8isUyLPrgoqAzXj0VFsDBsMTdCQOHp/8zAmB8I7GC/G1I9FF9xuxGV4Fo0kMcmfXtbKbWmVnTUR0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(162533806227266)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(20161123558100)(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: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ3OzQ6SEFwcTBpZXFpYnJOaVJ2OUVNUEMrLzRFUnNa?= =?utf-8?B?cVQzTjQ2ZXVVcW5jd2hnaFlqM3o2eWZGQWkwOUdRUWFFa2lTRExmUE5yWjlp?= =?utf-8?B?RWtwZDl6cXdPZjZGOWVqOXZBaG5sSmZPR2pMZ1E3RjluNml0NCtYYnZvQndn?= =?utf-8?B?WmZhdnBFZ0J2RlArNitBOFUrajlqNytWRUR6SjluOEZqb04wOGN0R1dPTUFT?= =?utf-8?B?OXR0dmNQcnpZZDh6SGlEbHRKTjI3Q1pZV29TUEhGKzRJSFRrWnFuZ1BMTmFz?= =?utf-8?B?Z1dWTlVvaWxmN3ZiS0ZxU0tpTzFqN0JpMFFYSURFSnkvaWtqWjQyK0MvaDJq?= =?utf-8?B?S2ViTFVKb1IvZVBmM3BaTUVMY3lEYzN3ZkZsajc3RGdySTJQem9NTEtwVUFs?= =?utf-8?B?UkdEVk04dmxoVHpGN3NaNFBQRFdNbVZoVWxHTFE2S2NpemVLZy9rcGQwdVVx?= =?utf-8?B?RUJWSm9QaFRuNittdUpldFljVnowZjNIYlJNNWdHSXhXK1FtSGRGQ0dWUzZy?= =?utf-8?B?ckhIbE9sd281RXBJRVI2dUpyYlNRZzM3cXY3QUxvUUJrYThsb09LOUI2bFZX?= =?utf-8?B?QU1VRDZST2E5MjJQcFJobGpuQzF0alRlOEVJbFMvSkIzSlVaS2VrdVNxTmF4?= =?utf-8?B?YXl3VHUrRmV6dWwvRStXdVh1T3pIZHhNeVR2Zk5BT0pwT3g3cDBTVUg5OTdV?= =?utf-8?B?RTR0N2F2R2FsVjkxaXg0TDVQZ3lUS1A3V2x6a0VGdHBMd24zdHN5R3Bhb0dU?= =?utf-8?B?SGg5Kzd2UXdnenBhQnNqcjlYUUpRUWFxQUJJM0VPZHBOT0Z5SDkrb1FDcHE2?= =?utf-8?B?NkVFb0lvZ3hRTGRHV014QXAybjdwOE5ncDNHM0RtcHNpUk90YmdjZkFjblVR?= =?utf-8?B?WVh2c0RicGk3a2twcW9SdklybFI3T0NudUNCRVpZOHZYVFdkRGlIV01Kb3Nu?= =?utf-8?B?dVBraHpnOUlPZnJFZFU1Z09ZaWlZalJDRGFhV3NEY1pvalpZd0JTTlJLeDRi?= =?utf-8?B?a25BMHJ3blJMdW54UGk2U0tsZTRRZnlnYTVvZzB5UDlKUVBPdmVkV2ZQK1ZB?= =?utf-8?B?TkgvMCtBaTZIZW4vbUFJMGl4MmxMdEZGS1l2bitVTkQ3czBsNnIzanJuNHk5?= =?utf-8?B?NzNPTmlyek5GZG1aSWJQL25FOXNYR045Q3piTWJGZEVQZS9RZWJWZ0d0NlNr?= =?utf-8?B?WThTSjVibGNjMXNKZmxVMFErL2l0UWlRTjV5Ym9ZWEJLb251REhRR01nQ1hF?= =?utf-8?B?ZjA3ejg1WmlxVVU5dmRHMFRDMlliZUNLd2hJR2FPRUVUQlJRbTA3SkxPZFlG?= =?utf-8?B?V3g0WFVZclRod1BsNzBZeERBRzU2TTZma2k5RXhlaGVLRmY1SnNURW9FNXc1?= =?utf-8?B?eFM0Y1AwL2FqUnZHNUk2aGlDRm5oYWRjVzQvMTIvQ0FhMHBNTWkvUVZOWUs2?= =?utf-8?B?QzJPbFJlL0RRdFF4RkhFbDd6dmlwMXg1Rlo0Sk9qY28wNEhCeGgyQTBZUDFZ?= =?utf-8?B?a0MrYkY4U0ZNSDhndXJjQUVTUW95R1lnSCsrVVQ4TnBobWEyOENhSEdxTkxQ?= =?utf-8?B?Yno2amY4UjJLbjFscUdxVXdyVWdTVEFrRWZmcEplK0N3c09HUVZrdE13eXI3?= =?utf-8?B?Z001aWJPNUkvM1lZMmlJVjNHY1FaVGFudUdjb0VyVDFzU29BVmtvRjRoQlAy?= =?utf-8?Q?/lpey9P7hy5kSgsUp2dtqKQ6uEcHHqW9ylXfmg?= X-Forefront-PRVS: 0329B15C8A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(39860400002)(39400400002)(39850400002)(39840400002)(39450400003)(39410400002)(24454002)(377454003)(377424004)(5660300001)(2950100002)(65956001)(50986999)(76176999)(47776003)(6666003)(54356999)(230700001)(4001350100001)(966005)(4326008)(478600001)(53936002)(65826007)(81166006)(189998001)(6116002)(3846002)(305945005)(7736002)(50466002)(38730400002)(6246003)(31696002)(93886004)(33646002)(86362001)(23676002)(2906002)(229853002)(6306002)(42186005)(83506001)(8676002)(31686004)(54906002)(53546009)(36756003)(77096006)(6486002)(90366009)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0147; H:[10.236.136.62]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ3OzIzOmxLN1dzQXdvU3h3REJoMXI4K2ozQjYrNENG?= =?utf-8?B?S0drNENJblNnN1YwUzg5Z2ZFL3AzRnFlamtWNFdjUlNhaldMSUZIU1Vja0FF?= =?utf-8?B?NmR5dFU4aXVtb29aRWZWeTR4N1I3TWd1RjlCbEZjL1FXNXUxWnR6bVBGUVlO?= =?utf-8?B?R3VPZU9iRWQyUC9FZEtCaEpyVi9KeWxUeTU0TGJOSjZ4TzRES25JUjg5cncr?= =?utf-8?B?MzIxMS8vVGtjc2ZmUEx5VFZucCtVK1N1ZDhWalFTL1BvUmdBWEFJNGRsUWk2?= =?utf-8?B?bG91RkoyRHRQMnRJZllxMTMwTVlEWXdGaCtZSEdsV0RzcVRaQzE0dXB6Sm5O?= =?utf-8?B?REhDbEwrY1c4eWlYMS9oWU1wREhkUWZKVFBBWDZDSldmbFBabmFhMXNEcmF2?= =?utf-8?B?WkF4Y2hxajN6c3lTcy9aSmtqSTZ6QUVoc0ZRZytqNm9jN0Rqc0E3dEI4LzRC?= =?utf-8?B?WVp3L0VpbmRtV2tlRmhtYWw2dlA1M3A0bzlZNnZtc3BDU2crVmtLaXpaTFA0?= =?utf-8?B?ekRmcUtCRDFabHU3V21mb09XY0IyRm1Ec2kzdkxGZTVWWW9zcUI0WkE5bU9J?= =?utf-8?B?MCsvZzIwbXZGeFcvS2diRWUrWGRlTVdkUi95SEFQaXlFY2FmN0NDK1hZRExv?= =?utf-8?B?WnhDemhEbksxb2NOWXVqRGZGY2Y4UUVpc1d5Q2FMbDVWZ2tjU21DbzJWRGhN?= =?utf-8?B?VHA0b0tWckY1Y2hHRjNkZUtYaHRyVUc1LzBKSWJPYktnLzdUMHVIZHJlMEpQ?= =?utf-8?B?NG42WVRFMDk1Wkt2MFM5ekQrSTIvaHVkNnIvTFdOZm11aXZvYjNFSlpuT09U?= =?utf-8?B?cWlrTHdYcWU3cnAzek5CZ09QdUhWd2pwRFZSRTF0L1lFbmlYeUZDNFJ0ZzI3?= =?utf-8?B?bmRhV3V5YUgyQXFEcksySTZSZ3ZUcXRMeUowN2twYjRBN0VyYk9sc210Zi9Z?= =?utf-8?B?VnVmVFNZaFVLeERVNC90WUswcTZNUkpFNjAvcUxCZk9lMnhGTDFnSUx6VHhK?= =?utf-8?B?Z3VoL0I1a284WDF3eUNmYlpIMHU0NWloLzZZQVlDM0RweGVhOGlZNU5zay9G?= =?utf-8?B?a2lYY3JneDNkVWJlWnd4KzJuS3hFRktlQzErWlhaQjE3ZmFCU2hLUW1qbFdv?= =?utf-8?B?MU5NajhLaWVVRmo5RU55MFY4SXI0WnN1NURSMUlMeEk2eFlqdGxGU1ZYVG1H?= =?utf-8?B?bSt3RklkamdoK21jV0kzZXBUM2tBT3hWTjVLWW0wQ2hKWEo1QUJ3RFZxMStX?= =?utf-8?B?NFlmc2RBQ0FtNlNGa2Y2WWVCZDFNS1hvQTNNUXM5aU1ZZ053SXZ1dmhEZ2lD?= =?utf-8?B?dUwrT0xDNE9wSk41bTZaRGxZUi9MRzFIWEVCNUhaK05aeFdEdmo5K0lLMzFS?= =?utf-8?B?WWwzL3ZKWFRlazdHQkZnZWFBenVhM3BIMEJVNWpORnFaYm8yVXpzUE9xa21u?= =?utf-8?B?ZkdudWk0NzA2N0h2UUREK1NiQU8yWTN4Yko4YUJFVmliU2tUZnlaRGJLQ3pq?= =?utf-8?B?NHo4WVJ1RjNobjZFOHdHM3FaSUk0MG14NElDTjQ2S1hobENTUU9YY1RoUnRC?= =?utf-8?B?NkdhZVk4U3pDZzBGY0JUWGRCN0NSWGlwM0RXSFhsSkViV2pIRXVsSUFGVUtj?= =?utf-8?B?N3V3d3AwK3BYNHNWd3R1YTdBUlJ0TlArdEpVdTc2akFTeEF6TDdCZlBaQm5Y?= =?utf-8?B?NGhieHdDZ3RZVGlHakxJMXpmckFVRkNGeUdweGRSSThsdDJSM2drY1k0c05Z?= =?utf-8?B?U294YkxWNnJ6K1RTTjNaZCszNTJ0MUU2aW1VRkgxcHlhUkx5K3NudlQ5cGEy?= =?utf-8?B?bEZxVzFaVUhjZjAxRXg4VDdnS1FuSFFPK1lxaWpyZ3pCZ1E9PQ==?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 6:Ju23gMqfud7hXNSit9SajNuwaG9cETYe/rSzPVWZvhb9E723aO9AWyuN/UFRzOr3i0omykpQ3BeXrIxWApe4KAKgLwHuP1k/qnanF3eJ/eJhES8MZo/ud6yTRiRXYJ3Z5VfOiSM5Jgykd0IjO1W4hgf8HyD4UAZOpJTH9VU3RccSI2KD9sD9W0F9S2NnBhDRo5bCxJZxCiUlxWFjG95CI7DnFOGuc3zMa4cDqQ0PhIGb64uwUm/mJS1m3oKwwkxazMCYvDbm6QbDkyRAFdPoAN5QnJRhIC9WR43yUi5ZA3MmWO1tDPM7BKzdHXRieSQwxTsqJa3WPqzF0VEw/qCk9H+gXn5BoPbEWB8je1w2SGIz5oyQBgsjusTmKAk6I/mS7SAVDJxH5KX69QwMC03SEXHRK0B5VesTiYi+joCnwoKl5lw83+wWylIuZwqMRUTsXkWmvtLXwn7M1vQYx6kITAt8uS1q3EXS6HTl43wZPWWPN65On8bR1S73GOBmXnL+Awb1H98htN98SLjbMXEKVawdWDg1yQVwxEigRYwHJB0= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 5:JzPRhUVCR5m1qvf1/MaiM4Oga3x/JNjjJGGLNbSPg7R63f6O2izS7WrHuf0bjKIC5qnvhNFNel+I5Y6ctLajZewmg/2XGi2U7PBRKc+6qLKD/6OM7HeUY+WN00VjjU0VBXJYQc9LaMROKj1Iqg8VeJMQ4O0YKvtSPYUNIRtv5Ftxaded5E5pSUJn3Ly6lSVDBDmoWJS6wbGO7aoQ6a4UcRGx3oNvCzbVxGhdfhhshXknIt29RP36a2BcaR+aEOUZm+g3SPv9zJE9Fct3DxqNZMG1C4dGZDzeJaPDepHPjXLWjQ4XGxRUwCeWNdD1UWSEXK8HsanoW7nZPBJwRMeX9of41kwYVzGO6abMwQVdDpqA0z3yLGtZdL6wxO+wQ15vMgY0RR9dcMwnqzR1kwzROv53b+rXvdoD7QSBU0FmHofXFaspwzwRJpOgdPm/Cl7nMkpL6v41eqUb+AxY8HiRR2G5R2FMIFJh09KcPr5BN+cQEz+iSEUmVsvYfqVh5j/v; 24:3WvxpEZiy1KAzzvjy+v3ap8S6hhZ9O8vNnI425eAkfe0Elott1YdGstzGszo60zIftAj/9dKilHObRXkj5ADRmgY9YhzSxxrLixCsZrEEDM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0147; 7:RD+e1d16XyiC5f7dSGMgTaQHwVdWJe4zmtemFt2rxy9zYf6iqV9pBVak4EUTllPoDjB34+/iPnxUVPy0Oj07zLKg6DC/XFKPJlsTU5FzCtlxDggYUt8tHDDRh6DRTaedb4p6R2vl86CKgnwY+I8bmTqST6EZG4YrEMZQV7GLg4VWCqbv9N+nyWIvAmgYQ7yvPnlKEzPWMG68vYRkbrVFh3SoTOFViJEGmHQztWDs61y47j4LDeQlbGU6oOYp+ynyPljU1q9opUjHgbDSZ2xTbSF0W3w1agMhyJrci7z8OSo4QZk1J9BBtYF6Xie0ExZ0bj5Lb6U2SvK3Wu0u7BmTsg==; 20:hymbhBqg3dKbLFgwFUIHL2L80TjajEglc0eZMBcP7eGWCKs85bQ8ud1kWBkRFEEBowT/ofV3zjgDzf+rn+5aJonByC+jcVtOCeUd6Ir5EzEwWoYaVT9m5L+9dWFU/NOoNQntmcGABRz9xCYTVL2PIC+Msnh27n9LFEDOPqwrJmOJwEWCB6of0kDA+jVkTHKNZMn22b8QcvX/qlO8tA8bUedJKTeBcKwueYEneoU6dQAurJ8gGq50p1DBoST5tTUa X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2017 21:56:08.5065 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0147 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: Mon, 05 Jun 2017 21:55:07 -0000 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Hi Jordan, On 06/01/2017 04:10 AM, Laszlo Ersek wrote: > On 06/01/17 09:40, Jordan Justen wrote: >> On 2017-05-29 14:59:46, Brijesh Singh wrote: >>> >>> >>> On 5/29/17 3:38 PM, Jordan Justen wrote: >>>> On 2017-05-29 04:16:15, Laszlo Ersek wrote: >>>>> (looks like I was the one to comment as second reviewer after all :) ) >>>>> >>>>> On 05/26/17 23:05, Jordan Justen wrote: >>>>>> On 2017-05-26 07:43:48, Brijesh Singh wrote: >>>>>>> Changes since v4: >>>>>>> - decouple IoMmu protocol implementation from AmdSevDxe into a seperate >>>>>>> IoMmuDxe driver. And introduce a placeholder protocol to provide the >>>>>>> dependency support for the dependent modules. >>>>>> I think you split IoMmuDxe out from AmdSevDxe based on my feedback >>>>>> regarding APRIORI, but I don't think this helped. >>>>>> >>>>>> Ideally I would like to see one driver named IoMmuDxe that is *not* in >>>>>> APRIORI. >>>>> There are two separate goals here: >>>>> >>>>> (1) Make sure that any driver that adds MMIO ranges will automatically >>>>> add those ranges with the C bit cleared in the PTEs, without actually >>>>> knowing about SEV. >>>> Ok, this sounds reasonable. >>>> >>>> The APRIORI method looks like a hack. Why is this not being handled at >>>> the time the page tables are being built, in DxeIpl? Couldn't we >>>> define a platform Page Tables library to allow a platform to somehow >>>> modify the page tables as they are built? Or, maybe just after? This >>>> would also make sure it happens before DXE runs. >>> >>> Before introducing AmdSevDxe driver, we did proposed patches to clear >>> the C-bit during the page table creation time. In the first patch [1], >>> Leo tried to teach gcd.c to clear the C-bit from MMIO. IIRC, the main >>> concern was -- typically Dxecore does not do any CPU specific thing >>> hence we should try to find some alternative approach. >> >> DxeCore doesn't build the page tables. DxeIpl builds them. I agree >> that DxeCore is not the right place to handle this. In >> https://lists.01.org/pipermail/edk2-devel/2017-March/008987.html >> Jiewen suggested that DxeIpl could be updated during page table >> creation time. >> >> 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? 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/171f816376b3b0677cbfb90271a94a920d7ad72d 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). 2) override DxeGcdCorePlatformHookLib inside the Ovmf to clear the C-bit when SEV is detected. https://github.com/codomania/edk2/commit/914ce904ca1b7647c966562596ba53c95949f659 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 >>> >