From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752609AbdFUSap (ORCPT ); Wed, 21 Jun 2017 14:30:45 -0400 Received: from mail-by2nam01on0043.outbound.protection.outlook.com ([104.47.34.43]:52510 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752573AbdFUSag (ORCPT ); Wed, 21 Jun 2017 14:30:36 -0400 Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v7 08/36] x86/mm: Add support to enable SME in early boot processing To: Thomas Gleixner Cc: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, xen-devel@lists.xen.org, linux-mm@kvack.org, iommu@lists.linux-foundation.org, Brijesh Singh , Toshimitsu Kani , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Matt Fleming , Alexander Potapenko , "H. Peter Anvin" , Larry Woodman , Jonathan Corbet , Joerg Roedel , "Michael S. Tsirkin" , Ingo Molnar , Andrey Ryabinin , Dave Young , Rik van Riel , Arnd Bergmann , Konrad Rzeszutek Wilk , Borislav Petkov , Andy Lutomirski , Boris Ostrovsky , Dmitry Vyukov , Juergen Gross , Paolo Bonzini References: <20170616184947.18967.84890.stgit@tlendack-t1.amdoffice.net> <20170616185115.18967.79622.stgit@tlendack-t1.amdoffice.net> <8d3c215f-cdad-5554-6e9c-5598e1081850@amd.com> From: Tom Lendacky Message-ID: Date: Wed, 21 Jun 2017 13:30:19 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR03CA0015.namprd03.prod.outlook.com (10.168.230.153) To DM5PR12MB1147.namprd12.prod.outlook.com (10.168.236.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4858a338-139b-4b9a-cb46-08d4b8d39619 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500055)(300135000095)(300000501055)(300135300095)(22001)(300000502055)(300135100095)(48565401081)(300000503055)(300135400095)(201703131423075)(201703031133081)(300000504055)(300135200095)(300000505055)(300135600095);SRVR:DM5PR12MB1147; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;3:n0Nhvb9ghAdMnH649+2ak720iaP1iLjrEg7lpfKecjkp6wM+QZ7nRcSEEbIONVv6nSUEg+90Fc/S36c/vnNTd4nDioUlhMiJOv96ymGUWwXlTWBnboOpr5QRkia8Nk93d1Pov9nmxRniF63TRMxbXRUhSB9KaC9qAMVc1kSaqzwa22hwHUufyMuyTTVzm/wHJ8qj3Fydq0Y1IuZDbJ6NOI4YvOA5dobtU7O/NTwqRlvakZa3zU0ChP9HpOVNzTbmgrm4sAeYiFEMStHAgs+TaiJqECHdqZzbNRKNbRe8OwsroC+caAVYLNw/YnjmCPNED7guXUXgOUeCBsj71m9zIvc5+W7CKPkMMlvuN/F6LWsC3aVGfPIxiOTZN4fIGq1HwVHUSe0pF57LhRKNGXJ4f8Nlm205cZvXOlASyz8hMg/7XEG4KNLOlL7lCrfWpf+HUuQSmPbqUAMhNwnRgCZyEo61G3X19x4xwLmUkyYugmFdK69D8RoaaAOXrCg7atSLQw0Ntyhs/4wdCNOCGDLycDtRUwQ6DtbzFflOUOvClMiuWqtgGoDjUlHF6eLyGvyNfy5jI9OxFbxukYluQaOiAFHtrVSUryAVE9kn7gUJj7jsogmTDgmmJDtucJHdkDYB/3RR/qMkFbFyVVJV6zpAYHH1C6jcS2TRP6hn+RQWOBHsAuqjPdik9fwY/wD6hslq2Po7cu7RQyZPPrMxqgamgw== X-MS-TrafficTypeDiagnostic: DM5PR12MB1147: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;25:zG96/bxWD6tmXt+IOI/Hz2Afk3SrowzpLNyGdhP/zyey+P8PST6UviKfYOqtG+uqKFyK2G9DqvxBMANKTL/4p+IN8C4xzmf1Y2SC8RDKODGKmCagXY46u5/vcXSDhDIjcMME2ZDhNpmTEBhDz8Woeq1Rf0tOnFCeokh9T3s87Mj5h/+riYgtN9kuBk0RsOcKRXx3H+sjVjTVKsi8bB63ZX50DOFxZJXw/7S39XQnaN69D8dfxjsJfm9p2fADuoeCyz3m/28gBvBdr8uGZO8hAh9r06fQrvQPkean6oVnX18IUOWglapOudjIbGigjftcTwvFPR6Q6pXoMBivjhWqTdfMU6CPcD7/m2NMmWu+msp/77XbRDMpPwSQLd7f+xc9WGYz/jZv/vEyp5GbQsjew3PsRoO1e/GV9LM283mmaUmTu/XSpJVmf25fSAPvfrdhNGNQvZZhm4ktUOAVoRnHGRFLIaKQ3dMIRWpVoWiQ47NgvhcJHOxUEYXGFuxsyiPYGUkN7a1qExwO9M3HDpCJbCqxnoSDMRPjiptfFf9gglEb1E4qwNNEe2yM/6gMTZIf+rtJUivh6toOqDWvnHy/bU7L+Wi5S55Xg6olLFZnXZ7SifriUD7m2RF8eUqviYpwHUqkeMSdvSkB2LF3CwFZUzPQOnFz5CxsaZjhlbu4lR/wQAfeypHm+UN2Exj+EfOwjNLnv/YKof90QofLfwlikhZYaPSIufEbkoJAsLF2ey1MQhap3XvPEh8wDJiyjWmPLmK1G1TC8/SHwV5Iy9Pz9aCfaTqICFzel+AOjYlrzRPC0UDnC4e9F4iWZZSbk5b1UHmCtrmN8cBRsEr+AAqCkWTYjeLjAlIbktio0Ug6pGwL4qxuepHAH2PMm6adfyg6rYCftWEmxjBZrGOvxFGzLwPC5KAVNhtoWTxWQBW7RR0= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;31:/mSOcojB4w7vDDvSyQHvR5HHhISSZFlzKVL2LSmIdJtyJR4kOQwsu6GY9QMZvBycSRefUlL21mdUi5tFzw2GsTu19DugsSQgDu/bBJwvhWSUpc0d+X/VXQrQLWC3DTTa45sdhfHnWRb2AbzddxREU7BkDgPFqcudmxANGIKvcVrg25+9lsRHr1Gwv5yDF5MZKUILjnOEinQ9T+hdeYNjboXdjTtJ1yWGrFdSZenOx127VJe3xjXPP/awfqjWZvbc8FmDVKSk2HDQjRq/UKf1JhXrRNOGr2FKNwFLBhApGCb2LRM5uH4lFFSIxbFPVYkiJT4JIwcXDL0JQrSINg8jjMZ3xg2ze9C1XpvH64qf6ZygEkKOwL7cEYk6gcHU/FeBl9IXyw3gABoy9i2EpuoHnh2jE+oO7NfSLPjR/yk40pAici5cQDpuNpwbIaG5rAtOaldwuyKGg88x0EGLWcB0GFeC5Kp8nDWWO8VaoOFzwS6ph9RuHdTuiI9Izbmr0MWf3GZBHijbRs4pZYHQXCisMASOG94Diev2IhSKQJzKrizOJZUno5YO99JWIH9nrcfNFVpcLCZfEsqiGfKUrrrCm6pCF4q/0LI8Ue0g8F2eNyGdcdTk61+BnDBp1rI2gP6nDCk12qwKnJM72gFRoT0VhbYLmW2YnVh0SkTXEMyfk5c= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;20:mJd/ZE3rvosmT/Qdl6oldXf1aW7LWTzDjsfI+Fv+Tyume3GLdUYZGiP7VhM4fK1jbtxdGhR0VLJp0o+/61eiKXBQvvF3WX5gkQNaWToaNt0YwaOLYYroamwgtWiH5++bANH4uCWZyMeB50NJU9ZM1SSbGCYz0+Lfyir2hxyFhvqrmNsjUrXbImG17ndmvaVY8bGQOr1I/EIymHEqkyPe0SqfAwamqRif306cgZlmUmSgoJcgaU72OUSwvoYZRrfJw799oLNw7l5vHstNrxADyltscE2h2A35J9kR7vApTKTaQC3z6vYg9etia/h9lHqD/SHg5dHm6PcexIZDj0VYhCsj2fB54Ek6IhOSaht/ftSxfgfHqwWomYMTTupyRtcxwvTRHR5rmA914GPHIe9gFof8M4mmuY9tM9LyCHvs4BK5UqBrBQGtZCOJaDe/CzcqKLK+VQXZNBqY04/nZZRjNRjhs17QD+FJTTntrl6gM+Zh/v4DK81fxT0djzFLmEAr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR12MB1147;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR12MB1147; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ3OzQ6SVpTL3lDaTZNdC9aSWdBU3RXVVBvRjg0eklM?= =?utf-8?B?YnE1cU5wbVI4WGxCWFRnclRFTEJ5TkhFRWdNMEk2Z1dhNDRUcnNXbm8rWHdF?= =?utf-8?B?UFpmR3pXMWJ2Q2RRNVdOYnhpWjNMbFVlRksrWE0zdHRkYmE2d0E5YWZvM3Vi?= =?utf-8?B?aG1mM2hrd3RmcWJ0Q21wakhOVjVrMGdLTytwNjNRQUdSR2pYZVdwZ2FCM0lw?= =?utf-8?B?VncvWUhwSGt4NXdteFE4TzJ2K1dMRHNyemdiSStQMm9qbWEreU5BTGRPbHZH?= =?utf-8?B?dWk3WmVndlZNekJXa2ZLeFZZVzZ0OHRQaXhXd29ERmVCNThDRDR0N2lhUnJz?= =?utf-8?B?QnlOdmlMME1zWjJVTFZqY2NLVnc2ZE1Bdk5aTzB5VE8wZXVUTnUwcXVnWHZp?= =?utf-8?B?WkZGVGo4dEROYmt4VXN5Skx6RXVkdkJ2anZMUDBoT2o4VjkrY3M5R0wxN29G?= =?utf-8?B?UXB5RjBWZUJPS1k4NlVsRVo2N3VEd1lQWXAydUhERlpleWdwSk1WcGVZVTlp?= =?utf-8?B?QkxCVGRwcDhGRGZRcFA1U0xHVGpuMlpxaTYxd0Ywb01maUdjdlFlK2ZuaXVn?= =?utf-8?B?Rkk4NngyRFBVMUNvRE9FcVRoSm8yaUZRMGh3TTMrVnBkTitBTVg5SkVMMmVQ?= =?utf-8?B?WjlFQ1Z3VURXeGZ1Q3E5aWVuN0lQZDRsTkhoaDk2YURrSG5WKzNCY1h4ZmZH?= =?utf-8?B?WGZWTmcrek13am1VeVp1TStWNE96eXRTeUFzd3o3Y2JwdENsZWtKbGo2SUFT?= =?utf-8?B?OEdESGFrT2ZnYXV6aWp4ZDF4T09oN0dXYXJnN2lOcnNOYkR0em1xTmYrNkFF?= =?utf-8?B?UWhRWTY3Um05UmozWXlSY3JwVGcrdExENnhFUHJZcEh6Umw2SUxjakFLZTdm?= =?utf-8?B?RjBjRk1CRm03NS83M3BsTUdqaVZaNXZrNVRSNUU2ajhvWktIajBFM1hEd3h4?= =?utf-8?B?MnFZQklwbmI3dHBtNE9wYzNnZG02MXlRb05lb0hxYUNXbVE3U0VxTFl6UTdH?= =?utf-8?B?bnFmeFQzREl4U0RScDBpa2JMTDhKbmlEME1DMHArRUZoTUIrOG1BRTRYTXVJ?= =?utf-8?B?TjhwODJlLzVTNnhtUFBrYldScFM1QjAyVjZ5RUdCSWJnVmJiWkpvS0wrb3Rq?= =?utf-8?B?Si9oS2VXdmxLUkNXTGVOd0FDSTdiNEFWUjFtTnlpak9NeFVrdk5iSDN6WitP?= =?utf-8?B?M0dsL1ZmUXhrY1ZBU21ybk8xZEJPdWg5RDhMdGhNdnJ4UmNRendYOGcvbnV6?= =?utf-8?B?MHlXeW1veTBLRG42bjkxSDNxMXZLcEtpVkNYTmhKQXQ2UjVGVm4yZUIxaEdB?= =?utf-8?B?c1hNMGYwajJHYlFOQVRic3N0aUJwQVJ0YnFNMVhMaEJ4em14TUZmYjVOWlBB?= =?utf-8?B?YXVKbEorSG9hcW9VcytkeUd3ajlDQnRubEVMby9tT1RUS2dqQ1REazc5bnhW?= =?utf-8?B?bUQ3NWNZU1RQTzM4T3FJZWo3Z29sUzlHMy9kQkxZUXQ5VUJlUGQvaHdoRmpl?= =?utf-8?B?Zlo1UGxUMmxHMlJSUDRScFVJeFhjMHd5bnhIaVFROXVsbkFFeUJLT1EreVZx?= =?utf-8?B?dUJScGlvTzlvSnBhWHJ6S0pXRFF6UT09?= X-Forefront-PRVS: 0345CFD558 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39450400003)(39410400002)(39400400002)(39840400002)(39860400002)(39850400002)(377454003)(24454002)(7406005)(50986999)(7416002)(31686004)(25786009)(42186005)(54356999)(4326008)(65806001)(66066001)(53936002)(54906002)(76176999)(6246003)(47776003)(110136004)(38730400002)(93886004)(83506001)(8676002)(81166006)(33646002)(90366009)(7736002)(229853002)(2950100002)(6916009)(6666003)(23676002)(6486002)(3846002)(230700001)(77096006)(6116002)(4001350100001)(305945005)(36756003)(31696002)(2906002)(478600001)(72206003)(50466002)(189998001)(5660300001)(86362001)(53546010);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1147;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ3OzIzOlMwUDJLN3V5Z29wc3VlSGwrT29QTG9IbG1D?= =?utf-8?B?Yit5SG1iTlNidXJMVkdiRjBuZHpkY2R3VFVyK1NXbU44ZmprZzI1a3lmWjZa?= =?utf-8?B?a2ZDVnRJVjRmZDZhKzY4VmRoSmlzRXh2cDBQNUxrYkFUYy9qcXFVSkM5TFQw?= =?utf-8?B?UmRpV3NBTlhWeDAycVFxcGxqd3QrU3ZUdnNROWJPRFFQVVFXWldRRVZua0wz?= =?utf-8?B?dWZIZGJQSERQM3NqN24wbGZSZWVyNWNtcUhLTUtWcVo4ZklveU4yQ2IxeHFt?= =?utf-8?B?Z2VtbGsybW04Sk8wRUM3Q2ZFRlp6dmpDQjZGY1ZIbzAxVU1XQ25wZmJLalJR?= =?utf-8?B?TU5GKyszYWRqZFBDK3JCTWdBaTRKOSs5Mm5Nclp4eFgzVmtKeU8rRms4VmpO?= =?utf-8?B?VGNKbGV0aTN4ajdTOGIyOUtQM3MwTUlSR1M5R1E2bXN5N01GS1B2QU0wMzFL?= =?utf-8?B?ZHBhSi8wcnV5Tm5Yck9jTU9BTWFyNEE1aTdKbmIweDNNNDZBREhxdXJyRXdj?= =?utf-8?B?cjFUMDlBYVlCYmRPT0U2S1E5ak1qQ0VoWUJoL0xZL2ltNVdyQjFEWUlXZ2c2?= =?utf-8?B?MXdubW9lUjlwNDErY0hEWWhVS3BOajlUbXZnbEhydE1xK1hHRnBIT3dQczBw?= =?utf-8?B?YWd3UWFRUENjQXlwMkFkcE16K0hEWWZyampxQTBzaUNpZWRLblRZRC9QeEsz?= =?utf-8?B?KzdZZnZWVzdhdGRkS3M4VzY4RDhUdjVOWWswTWhSc290NTJIaVIrb2FIaURU?= =?utf-8?B?U3J6bUhLMDdrWVMzeThBQldnd2lTWStLaVp5VldTZGFORjhMZ0s4TVdmeGNh?= =?utf-8?B?WngrNCt2SkZBUDN4b1JDQnhPekE5K2trQmY5YXBCWHd5bUZ0ZFh0ZkFZblNJ?= =?utf-8?B?dW40T3lyK1dMcENRSmszSEFZMEtYa2J2VllCSG4wcGY3SEpCb0xTbnpBMm9o?= =?utf-8?B?UlZLUDdRenN0akxmbEI5NjNtWVArZWs2dTBzcFFKL0QzNEUvV2xsZThYK2dO?= =?utf-8?B?eFFvQWtFazVJZEVPQmd1RUgwSE1ZSlZGV1VyNWlLbU13NC9lTHE1c3BUb2VB?= =?utf-8?B?R1lCdUxpRGNGQnFwTzZKaWl2WXNqdWo0SU1zWjJ4STdjSTl0RGJUU0ZZVlp4?= =?utf-8?B?aHQzcXpQeDJqSjVUVEtYUzZzUmk3WDM3OVdFNFhBdDAvelh3Y1ZwTWJEckRy?= =?utf-8?B?WGQ3Rll1eUJzcGN3c2hKcVFLWm1HcFJSelpEZk1PdEZSUFVkdXljY2IyK2VC?= =?utf-8?B?Z3crY0VFaDV1M2IyOHg1MTFZL1Zwc1YzY0MyVDRqRHBkRXJucUhrQ0NxcDh4?= =?utf-8?B?OXhaMlQyVjNTL1gvQUhrNXd0cHkrYXE0WFJ2eDQrRHJnQ294dG9BQ1ovcHpG?= =?utf-8?B?dUVTTXNwblJiODRYTUpReXFVUzdLb2FZMUpqUGdSNk5Ba0JFbGNteVRsMllY?= =?utf-8?B?cjdZNTduMUxHQmIzQWxmWmJjdTc3L0ZpOTlHam8remY0THp3aUM3ZUtJMmVj?= =?utf-8?B?NE5jOS9OK1c4bm1QUXpNVWg5bC90L0FmQ05tT3l3QTBSc0pMQTF5akxJK3NU?= =?utf-8?B?eUFxUVhkTHY2WXk5VVdRd3lIdVc5QUE0NHJrNU45VTRUYUo0MU1IbWYvSHA3?= =?utf-8?B?cmJLUWE4R1cxdFNuTnZZZjVIM0lsSFFoNmtjUEhrNjRJd0lDajRjTGZSbk9n?= =?utf-8?B?UERhQ3RuNytsNlU1UE5PUUQwaTVIUHZjMXNnZzJUSTVxejFWODJXNS9mRTQz?= =?utf-8?B?cURDallzdGlzUTF2YTIyUkRpOVBwaEU1VU92RzNUWENoTVdEQ2h5RkZoNHRH?= =?utf-8?B?V1hDWUQ5S3ZOTmdwRTVaNzBRdE5nOUZGSjd6Z2M3dDhlRUNLWllnbjhnMmU5?= =?utf-8?Q?K4yPu2r0x4Iq2Amxr3Cc4XMV3DF3YPo2?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ3OzY6VVo3cWdva3RGT2RJMVBKcWlzbEFhenJxd0pW?= =?utf-8?B?QTRZWGwzN3Fmc1JzdE1idUlRNE50NTByb1FQYlJPMXBvMndVeHFYOXlHRnY4?= =?utf-8?B?bGN0RWpCdVphb1RPQ2hYOHhkR0Nldk85UUtHQ1hyTGNKbGVteVJOSHVHYXVY?= =?utf-8?B?bC9LcEtaM1J2d0VGM1gwOExZYlZCZjlML2tkOCtqT21Dcmhjd09abCtuZEVh?= =?utf-8?B?ckZGZnNiWTBCMkg5OVp1cURaWVNSV3hCbmR4M0ZsU2xTUnNFYU5YMFpRdlRH?= =?utf-8?B?dFBTcG9wbGd1UkJDV0VEMWJudWdjcnNDY3FHdzhtV21jc1NraDAxMDZYSWtX?= =?utf-8?B?UzFQeWF3VUducWtMUFJjVTgwaHZQVFpMY2QrSEI1MjMraWtUR05tUHA3bUFQ?= =?utf-8?B?SUd1RjcrVDFGTnFZakxlRFRrNVNzY3ljRnFhd04yTzg2L3BkNHBWc21YQmJR?= =?utf-8?B?V3lxN3RhK1RYNHVwZnBGOGpzZFl3RExiSVM2V21SWlg3eW5hNDRST1BtUkJH?= =?utf-8?B?WmIzdWxJK1FzTm55NG1MMDBLek0vMnF0QnpMazRhTWcyUklvaFRtajV6YU9V?= =?utf-8?B?a3hWaFlMbHE1aHhZbXRhUHBXdlRueFByRlM3REhPT295SVJ5NVBoWmpWMWpN?= =?utf-8?B?SWg3ME1UcmxwcEFYRzZpRllCUk1PTndtbTVtTC96RnNqbnc4RVoyY1dOTldQ?= =?utf-8?B?Z3pYVllYKy83VkM2NFBHZHRaS3BZcEowK1dvZGdocU1yOE1sVitLUnplWHJP?= =?utf-8?B?SHFOVFZhdk1tYUd6Yzd1SzB4ZkIrb3A3SFlLenB4ZkJOVTRXMkZZZU9iWTky?= =?utf-8?B?cTkvWVFlTmk3UVZqekRnZ2wvd3IvUkRTT0ZDeFJaNjV3ZGVtTEJKMFBLd0Nz?= =?utf-8?B?SlJpUHpBVUU5Zmdsc2lxMFQrN0pGK3hqTXJLcVFPZ2NMK1NQdWxIQTB0bW1s?= =?utf-8?B?MitZNFlWemR2WFNDeWE5R0lXZDNuVGdwNmlSWHprSmloNGZOZUozSWV3MmEr?= =?utf-8?B?cmJic3NzbURvSDRPUXIyNnhDemFlUVVDK1JqbjZGeVlkU2cwb1RpZUhIN2NR?= =?utf-8?B?R2tYREpOK2EzUVVVRDJldEJ0Zk5CM0p6Q1BrNm9TNkNIRjYyS1ltbjY3U3Jw?= =?utf-8?B?WDBUeGZtbWJ1dVltNDMyODNyQzhrUlQyMWh4MVlIRjN3MmFKSW16RHFxOEhO?= =?utf-8?B?L3p5MVZBMWpuYm5MU2RacWcvK3VQVElxQU5pc0FkMzk3SEs0cUc1QXRkUTVG?= =?utf-8?B?TVRlK1FtaXdHYVJONXFWc28zcGNEamVjTHhqTHZ6L09OU0RTeUhNek9mYzFD?= =?utf-8?B?MldySUFUSVhLdFZBckMwOWs4NXJBVlprc0NHS081SjlnNmwxRVMydEdzeGdt?= =?utf-8?Q?ilfWY2M?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;5:olFgRt2rXw2W8b8gMVF+AvP1aGq9Uua1KKcz6azVb+Azt0o1wSLpzhfGpx9oQyVGbusJWqWUOpnuRTKkwzNVef8NzdCQdm/GtSi+nuUvx0FLVn+Pz+7WwPfX6ctfCkWHsu33TfUs67CNT7g8SQLewfDXEHDwGDZDt2UrYj3ANhACcbqxbcYEuXht4pM/YY14osi9oIzQmmlZJh+go9aSPPEjiaxFtcH0U0FQZkXtkiibxygY5jffQ9lUtVzh8QZrnPDpTnLWDy/tGldJh9NVd6SeDeRLJqLiE6EOWVLLLLWga2keAAZ46fBQStJj4ghHl/9Y9V1OEn8ihmvTp7NAKRAbKnKunvcBkG2fA4cYB8oJyUj352xFYwoXys50MSshVfA31rcs63nirZbmRTTEazkeMT24Mws9GTd6PkiAcvUA1dP3TY7HIHooM94YFVIHQ5bNDXAXb2Ehcp6et4yNxpVUV6SefBJs7lf42gsmnX+yrtECgoOCW8cxZDe7Wd6X;24:97ipVq50MWZQu/Pr3YrnUpBuwAj/wQyTWplkPBP0o0elmI8VfRlgfQXTJUC/LrLlaael232i9eFMCZL/2w/ALV/E8y0ioLf86MnacCIg/Ms= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;7:nLO4vqPWsKbgOmz1E48zDy7LRg5OEn8FyOtD69DXmzsuyCZ1cwQnr5GVCWWB2Z0NzTIgwgyqqqCkfhheFJ/Af4xpJI1Zw1aKyYjf3EK9q98GUbGdJgK4rhMxW1ka4DxCDR8FIVciAnQ+HwheEExyRKHBEbOCCXSlkStr1XOZNy5xTFwpR1pGOQ3yMyXWszHBEHPIBEtSJwNTbNvcFmpCQTapxMDcNynNEnSz8RO57mwOjM0nfpGZb7zIBPgv9skTYsLQzV0TzLPJPFrty4FR/Vxz9E3kNH078luXj6gHgqAbR5d73PwWD1NwnU4lDa0m7MrbD8F6gPxm/9ByXhi5tsj9gGrTvodiNPDxbKWX4jLCNBifGhSOd1fAHoZ47UfJ7EWNXe60NxdRQ/dS9Xcazk+SOtjFIfHYEuh45d7w8MRdQbtf/d8lr78TT1rOwOiQ7rWD4p5oYF43wkXesIkdKM93GQo7L8zmn0XC/7uN1enLUnDJCSiPF5dCep1P/Qz8uq4NOOPm+ZqGzVMvoWWLcgSXtgFJWxZ0l57tit1UoEe+FOcyHaxW8TBzXTZsHTi8IeV6+q5xVKhDtubWeKU5uSFfqZ4D2lY2unevZxiYl8kyng037PrMg9vtZJwzvSqJG/KwZFGsuilPQ6bOCKKjtCIKdNtSaSZdH4mifO7Yagh/T4u58snVsxJJ8mSqeSqT/tPAN88gBMwoqGoAM3s5V7KlIIPeRl7UW8yftrRi/TSWgBhOU55N7TU9hc9KYusjF13+T9gzkAH/bKN/wTTw8WizenswM/DOPXU45CouA4w= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;20:I+3tsu1FU78HyMwN1q+Rv8PfH6kD0UWOjA8H2dpXDotttTzg7AXwL/oxqbAoVr1ZHKJNmrrz8HEgQ7dM/N/kU5XOGKcUJ6xUgBQqcXrGuEPOGSSNrHJidOogt2kt0JoRe4VkQwXujADfd8YBZFI57xQaamiYYC/6K6R8Bw3lKKVhBsS+hcmYoeT19a+KFvTsDneRG716ripw5D4hcJOLZBk7TB1Nu5FB2t0auYr1uy8gHegRdgluGMgtCSKrdwD0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 18:30:23.3011 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1147 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/21/2017 10:38 AM, Thomas Gleixner wrote: > On Wed, 21 Jun 2017, Tom Lendacky wrote: >> On 6/21/2017 2:16 AM, Thomas Gleixner wrote: >>> Why is this an unconditional function? Isn't the mask simply 0 when the MEM >>> ENCRYPT support is disabled? >> >> I made it unconditional because of the call from head_64.S. I can't make >> use of the C level static inline function and since the mask is not a >> variable if CONFIG_AMD_MEM_ENCRYPT is not configured (#defined to 0) I >> can't reference the variable directly. >> >> I could create a #define in head_64.S that changes this to load rax with >> the variable if CONFIG_AMD_MEM_ENCRYPT is configured or a zero if it's >> not or add a #ifdef at that point in the code directly. Thoughts on >> that? > > See below. > >>> That does not make any sense. Neither the call to sme_encrypt_kernel() nor >>> the following call to sme_get_me_mask(). >>> >>> __startup_64() is already C code, so why can't you simply call that from >>> __startup_64() in C and return the mask from there? >> >> I was trying to keep it explicit as to what was happening, but I can >> move those calls into __startup_64(). > > That's much preferred. And the return value wants to be documented in both > C and ASM code. Will do. > >> I'll still need the call to sme_get_me_mask() in the secondary_startup_64 >> path, though (depending on your thoughts to the above response). > > call verify_cpu > > movq $(init_top_pgt - __START_KERNEL_map), %rax > > So if you make that: > > /* > * Sanitize CPU configuration and retrieve the modifier > * for the initial pgdir entry which will be programmed > * into CR3. Depends on enabled SME encryption, normally 0. > */ > call __startup_secondary_64 > > addq $(init_top_pgt - __START_KERNEL_map), %rax > > You can hide that stuff in C-code nicely without adding any cruft to the > ASM code. > Moving the call to verify_cpu into the C-code might be quite a bit of change. Currently, the verify_cpu code is included code and not a global function. I can still do the __startup_secondary_64() function and then look to incorporate verify_cpu into both __startup_64() and __startup_secondary_64() as a post-patch to this series. At least the secondary path will have a base C routine to which modifications can be made in the future if needed. How does that sound? Thanks, Tom > Thanks, > > tglx >