From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756672AbdESVi1 (ORCPT ); Fri, 19 May 2017 17:38:27 -0400 Received: from mail-by2nam03on0072.outbound.protection.outlook.com ([104.47.42.72]:42216 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751105AbdESViV (ORCPT ); Fri, 19 May 2017 17:38:21 -0400 Authentication-Results: google.com; dkim=none (message not signed) header.d=none;google.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v5 28/32] x86/mm, kexec: Allow kexec to be used with SME To: Borislav Petkov References: <20170418211612.10190.82788.stgit@tlendack-t1.amdoffice.net> <20170418212121.10190.94885.stgit@tlendack-t1.amdoffice.net> <20170517191755.h2xluopk2p6suw32@pd.tnic> <1b74e0e6-3dda-f638-461b-f73af9904360@amd.com> <20170519205836.3wvl3nztqyyouje3@pd.tnic> <5ef96f3a-6ebd-1d4d-7ac9-05dbed45d998@amd.com> <20170519212854.3dvtt3lawzij5cae@pd.tnic> CC: , , , , , , , , , , Rik van Riel , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , Matt Fleming , "Michael S. Tsirkin" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov From: Tom Lendacky Message-ID: <8baa170c-f0bd-3e5d-17d9-a031f4ff943c@amd.com> Date: Fri, 19 May 2017 16:38:07 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170519212854.3dvtt3lawzij5cae@pd.tnic> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR21CA0004.namprd21.prod.outlook.com (10.172.122.142) To BN6PR12MB1138.namprd12.prod.outlook.com (10.168.226.140) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR12MB1138: X-MS-Office365-Filtering-Correlation-Id: 17768bf2-ce54-4ffc-5ef6-08d49eff5b2f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;3:cBOuxCgVsKuaU5XxSiToUFSM9mE1UZIt3UXtmgJyarCiG+JCfH2IuL4WVxe2tlyraQS3JLrr/6Wu8geSzJxvYAsceRpZlG1SnRCmHHxnVhVhcCBMPOITrPnQVJnKlW83SaxjdoIjbGf6F5xPSZkJrOkkpYNARxT20NpvhvcsoL+xMmNk0sx2m5rVYhgUjKEC1OKfDUaXS0j01XevjCAuG8xyWVzgik2kBrpzFO+uOCtkgjnPvV8r2FvT8YOSg+ddTrREK0QCB8njwdYEyH5fLnWjMvW1UIG5Mvmu/NrU+F0+K1K65p88Xftbx08yiVm9nyxvMY/1VR54UrgBB4JX7JFtJlVAEZHrMWyczK3xjxU=;25:w6inW5Wo5uMFMYul/nxksmbCvPkhYMPSM3uO/rIu3lx8CkmJV3laTeKgG0726Ndm4CAdxtc0Ja8s3gWxbFv+XiAsFI0nq9HEwrB4WrdNxbwGVumu+Bv/2n6HJVUnaR5xUCrjAUxYJltkQz/O++4Bs7I+EgwV5geLrTuxWeVoFJdVnW8AIV79NIHRnBpEqODFu/P2ETC7P1EyPZy/4HYR36Pm0y26A27tG2aKdQ1Ow5TuI9BQb7iE95cmldjDpvfpCmNQgx49r2eIyF0Jj9xVAtQmEKjP0giWRi3+2vuDLlydALZREvRsbRjvUkIN9LqVLbWATjP5yCG65VNbR2BydFlnyvo4On9CdGcruynvXXUaRZmmNajrOaGTc857/0mscMoWuaihw4bnmLj+hRZ1zOvJFrY5XpVDEgF2VBJJtpTlWkOi7Ei0HCorg06yMlCLokqDiH/TPPhLJ0iv4Aqa3s+hH5Kr5mSprZlZ+w2XsKY= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;31:BF7Wbl2X03BJ7iFNQLlvKaXmSjUzZII779vnnoGbktfczKIRfgJhWLld0sYJrw8CWP9HIsaRhHvM5K+SncjlmA6jp+GWsKlWYfZGfoa5ASGVQFW0Ujmqs2b4JGypKEj7GA1rKsVvj3/J2ANWUkC8LIKyAA0Sdf7bmNzIrMKbPLDTXLqLi6FS9zPntwj1D8j55zW6cE0Jkp9HJkjYyOdszydirJXHR6TpRvf1FQEzlVc=;20:hz3Lmkf9dhkZTHvSjUVmKBdgRQqQwjs9hlYDopCvcjhcswmRCLCHXN/lDJXePBNYaZywdWlJNHkHHyZE+VGP0E7ESzvyGebiqp0MBniUK+E7Cr+4QHQsEoEDDTGY6EULZHoXlxh6JJMIf7HafvDit3UCN40Ax7OUyhC++am4hJk5bzPlR1WNubtGIQVvf0cfZEKRSTDJLmh1k9cUTqrBwyjoGlCG3tlau1xbzgqiIv16ke83kB0xmDGCevNLH+8D+yWfgu5+MUcTitP1if6dKqYCTuoRb6tiwHg+vTb/qIMHy3puf19905DZ7VjrlHjqk7IAmc7CB0yv9zhIPDPDxOIUJucbjlP5DMlcCKx/qNVocil8gVMPvTz0tHTkD2hpkDTw4oFys9ugVTbeEARPbv2+A3JQ2ILOoWN4lAz5guc61tcoSoU5WJ6fSejsDTeWF57YXx3QBFJstM0Y9wwYAw3Z+IeRl2KRsjRrF7cQ7C4jdz8/+9UMERc7zmkOECHN X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123564025)(20161123562025)(6072148);SRVR:BN6PR12MB1138;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;4:digG2Tpcn39SNjQT3sdIVQv1N6Jtug0GjbqRLTZtutV5ON/S9QTAcunvi/PN0vyY5eOFXR0iKE38Vj1MJKPFXpE5pj1E6Oz+nhhXdB1meufBrgEBarzDi2n9chLmxFUiCMwe76Oq4KPAZIk771GSzGGYredJb1z2pq2s7rIFynzVFPOtrWk+Tz+QP+AlCqWC0HrvC1LUeQ7wVcnXIvjO2ixP0xHjNHyK6/NK6Qa93U/GvAFpnAVGUhLRk9ngqzR9noTRrVsLuhmSRbhpnnr0O+M0kTFPUaHHH0HwjHwheIdJV+2Fm/1FaOd10h+MbLsZJF8Nljcw7XknYjQFINe4fPYFl633IRDQ+ozFE4aZhhXZE7OjUpoVzP/3oIDUUc/NhpUHIJJzTL32DO42LkyvLhHQvzlfFLIAgU3xYeCI+6C7MoioMRlleR5kRyqz/KdW4KksnpgQE9BPXLOFBQSshItYjZV/iGDjXAZ0zK3FvOOkJCxKosh17bB9kMz1DA7IIOlh89AooDkbe9ixfRcSI/W0ClL47TTZZwndYkjlsoPM0dwrDA9YarZUoi82BavPh3RPPN1DmM5NhAHMEllwzgrEdIMo5yHgQmRs8Igm7+iPrA9Z5LX53+JL1+QVMlh5D3XWj7S+beF96dYKnkkwJEmQSRqN645S0Q9D3tcdFgnYe1wftUpjSR922DCJ7Q99pIhfV55T0z0jKeZnG9oHJDTyMAGBRAddpl6NDLIt+H7Kre4lpVCorDidICDkoRGoRF7HTFqnlzWP+q8lNN8vMaMXH8WQdtlzF7gttXC69KgqcpcF1WDSJU1Q9cSmVoUv X-Forefront-PRVS: 031257FE13 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39860400002)(39840400002)(39850400002)(39400400002)(39450400003)(39410400002)(377454003)(24454002)(90366009)(53936002)(33646002)(54906002)(229853002)(110136004)(8676002)(4001350100001)(6916009)(38730400002)(23676002)(81166006)(305945005)(31696002)(31686004)(42186005)(6246003)(93886004)(2950100002)(478600001)(6666003)(86362001)(54356999)(50986999)(6116002)(189998001)(3846002)(65956001)(36756003)(66066001)(230700001)(76176999)(2906002)(65826007)(6486002)(47776003)(3260700006)(53546009)(77096006)(72206003)(25786009)(64126003)(50466002)(7416002)(5660300001)(83506001)(4326008);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1138;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTM4OzIzOkhMZmtvLzZwSVlwZnNjVzhWQ2w5N0xGRjhB?= =?utf-8?B?aVBGemFkSCtaTWxKSnRGRDhrbHlEdThYZk8wZDdDdm9LZGZyVnArUGNRMHM4?= =?utf-8?B?TGVjWDJyOGNuVlJDQ2REaU80NkFOL3RMVzJYVlIyUGYzVTNFUHZEOVZESUdR?= =?utf-8?B?QVluT1JRRFM4NW9mRnBjYjBlcHpka1FoWkpRNTFCVyt4SGVIZ1h2aDNKYS9k?= =?utf-8?B?UUZJTmVVOEZDWUNZMDg1VnpmbXF5QW13RlV3MWxTMEVuZW1maXRoWHJ2SHkr?= =?utf-8?B?cGErK3VlaFBoWEVRa1ZWeFJGK0hYN2tBLzlvelQ3RmpYK21EQ1U5Z2tIaHJv?= =?utf-8?B?R0NnVk9jRFYxVXNDZGcyYnQ0SEtqNzBUY0pjOHRHd0g1VHdTc05RdXcwd0xP?= =?utf-8?B?RHBEc1NHcUs0NWZUaUNwLzIzTFpTVUlvcWkyaHZNSFZSZXlWb1dJVGpnUS9T?= =?utf-8?B?dVRJcmxRcGRRQmUxcjlYYi9zcHN3OXA5KzJHc2MwZ3BIcmhLdW5DZ3Z0YXpi?= =?utf-8?B?Y05ndDVWUzJCUHg4Qk5LQ2c4SWtLemk2Ui9ESS9oclplRWU5OXViSDUrQmhm?= =?utf-8?B?VTMwUGZvVjAxTjNjak54akFvWEJtL2s5MmtIbmhRUHBsRE56Um1RQmdscTRa?= =?utf-8?B?VWJKTm15dStyYTJsSkVMR0dmS2p1elhhT0FxNkpoMFRNNjhLQXI1ZFZXdWdG?= =?utf-8?B?V2QzRGRJMWl4VjV4U252UGJyMlJyMWNxRnNuZkx2V1V0Qms3OFFrbFdCR3Bz?= =?utf-8?B?Uldpdk9wMU1uZnFRTERDZkMwc1RrT2tabG1hYWxPZ0hBeS90bWh6cVZHNDA4?= =?utf-8?B?dXptKzRCN2dwS1BmK2JPQ3gvcHJXNWh2N29UZlNaYUpjVTQ5dmR5Zi9CK0tW?= =?utf-8?B?RHN3R0ZKb05XTmJydFFlWXhMcWZBYmdBYWFqYnB0WFJvY1pkZkd0andjcG10?= =?utf-8?B?RytJMDhzaHR2V0F0NGdwRHBOOTVqS2Q5K0kyZGV3UWcxT1NrN2E0NGRqRmFt?= =?utf-8?B?TlpGYnhXNHFwRGIxWjg1ZnFtbXA1UW1IeDMzUHFFYnlvYk9YeGxXVlZVSDNN?= =?utf-8?B?WUFSRWJ2VllRS1RlbDBZcDJ1Sm12VUh6Um9rZVYzbDZzSEF0bjhGRWFwc1JK?= =?utf-8?B?RFFpU3A0eWpON2ppbEpyMXM4RFVrUWdWbkdIV0Q5dFVsV2xlTXFwWTJOa1ZN?= =?utf-8?B?bjNSQll6bXlWMlFZK1JoYjF1d2EvaE1KM1NadUwwMnZwRjdGMTI4dG14NWsv?= =?utf-8?B?RWs3aXI0YTlFdmVCT3BEZGQ5N1RXazZaODZ4UjJzajE4OGQ5d0tHcVhINGhw?= =?utf-8?B?bUpPRjR0aE14S29TMTl2eXVZVHNDQjhWR0xIODg2SllKSTNiSjBuRy9sZW5I?= =?utf-8?B?U3g4a01HZ0V0ZXdmNEpTYXBJVU5sWjM3R01hWFJsZXVKenA4TWhFQk5QbThR?= =?utf-8?B?VktIdmNCbkhnUmdPeEN5c0ljWS9DMkFhMFYxUHZUT2VWcWxmOXJMRXdQcFV2?= =?utf-8?B?K3NSRjNJRWkxVmtOVyt5NDhTQWNWaDFJRytMOWttb041YVlKSEw3Q3lSZ3hv?= =?utf-8?B?NE5LMjJPVVhxSUFGaHg3KzhJMXRJQ05vMUIxbEk1bnBkcU9ocXFHR25vbDRz?= =?utf-8?B?ZXA0aE9UajJ3OS9LZEZoQjRNT1dUMDZKdjNFM2UyMUdZVjYxV2MyMmVQbmUv?= =?utf-8?B?RzNMaFZIbFB4aENUcnE2WEs4VmEwcDQ0bEVGTnJHdmxleHlCVjJmTU9obEVH?= =?utf-8?B?SmgyTFRjczZwZmZHNzVna01wQlN0b21iUDlPeXF2WlhSNjE5aFlkMnZlQ1c5?= =?utf-8?B?QmE0bndIK1lBSStEb3A4ZTNjMkQ4LzE4Uk1TZW1OZnlDRUp5bE50ZUF2Sjh4?= =?utf-8?B?aWJPY2lsUDVzRlZJNGJnb04xK2U5em5vMDlTVHFqVVpFZ2dkNStFeFpTd0RS?= =?utf-8?B?U2ZEQktkTUxBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;6:hPc9iGa77wiSk5YyHrRgpWhiaEvYzQuEY26iiGoKLBrNk5WTfKVY7lsf2r4C4Ri0Rx1PYXynEJTL2H8khVcDgmonFasHkNPcIBhb6VwLxC1JoGRwg3XVxt3NEw9fscF2viK+2bTy9NRclbKBGMuFzgI1KkYEc8yeheaN8k4I2ZX4SseuUkv8YGH6Fj/en4N0N9xSnJgYBaQW9cIN6wM46h+cYoW7x3MSP2fCSqgim7OlTPMzSz0Qw3L+vNU0f/fx6rdQK2wjng3m/eYGfYB4aB3aNPhgxuxLTUyPiigsRs6odTyZIoDq0s/gNGAl4g+nwYdxeL0JrRobROd/yIyjb9YNuqeF3MPZj+HoL/MxZysFbEyWo93G1HVJW5mNxZKJMtU3R4eXfkji2jOl+B1rfQmXtVsO3n/U9n/oOGYUg25Nxg6xkw3rz8I9E9hkgkw5r1qG7SukuB3Jd29wHIdV0AeNP6rfLMVDJn0KwaNW2oTYIo/tAxqIYOzXuobhqr1Le3dOjW6o2LRJMFUSpyqmsjuueT2xE/ljrlukmbc9X64=;5:dOkBvRyN/Xcd0Pzkhc+KFOkVaZNs03e/2txIRxPmh+ThudEXpSTsvLIK982P7HwI4VIhrs7zCRZSMI2Af2txXnuRBxRdTN+2UDatYeJU6Ul5OyXhN+y4GP+FzpgBAxn26SfeJ6eh9aoACrVJdHcKMw==;24:laVL95N8OQLuG8YYQpWcVDBqItlZKuZV9TbvqfReoTlpEdD05s9A/MtOCJ00AvTrik/2y6Vim+TfORw3vCJ4RdftKRa/BQlJLtS4fNpasFM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;7:BW8KeTicHHinr5srGdn4byd6yOsvv7W7FSBWa9hJ5/86xmoDB4GRD2heJK1fMZYq7saNSbvz7S1C+WhTdOUHeKYVSbvmi7QAO+8I4mo7dHH4ja6o2+80/Hrjdb9hgOLYsjIZpfGFYHHz8aDHHtuUPEGWMwoaK7AVPTzS1HE9fCfhazs9TX66r/Q5cLVNQdoJzj7ou8h35FMtWIffsnrX8wk7mloxdYD95uhuyKyVzscvvlx0jkSrQrEcSPoz9F5r+hEHs8c3Z7wtdgWru7TgB39+1hiFCscIwfh8IDdNe+VETDNc6JLiK+w49Qxy3CgkjI8s2fuSdhBN+FxY9XlVcw==;20:YcHOGpCOIZWi9u8snhxVjVXAPqT6tpB7f0UJzxYp0zufiPvCmkrXjaBJYgxp7pSoK7597BAwT4bmJILohIu43UnXOQop6o8ierZ+ZpMtILvaXqKcAHp6YvegW4dE1OSxpyZywaMTgNQZuuqc9qXilFwK8GfVAE7/GjLgOxKJXrl3rFrTBHzMbAyYpG1qbYefpJYPRcE+IxU+FY7ntfQKeuzUP2MzU1rOmjPVFFp9mp55marHqfwUfOrwQDaks6/B X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2017 21:38:11.9337 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1138 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/19/2017 4:28 PM, Borislav Petkov wrote: > On Fri, May 19, 2017 at 04:07:24PM -0500, Tom Lendacky wrote: >> As long as those never change from static inline everything will be >> fine. I can change it, but I really like how it explicitly indicates > > I know what you want to do. But you're practically defining a helper > which contains two arbitrary instructions which probably no one else > will need. > > So how about we simplify this function even more. We don't need to pay > attention to kexec being in progress because we're halting anyway so who > cares how fast we halt. > > Might have to state that in the comment below though, instead of what's > there now. > > And for the exact same moot reason, we don't need to look at SME CPUID > feature - we can just as well WBINVD unconditionally. > > void stop_this_cpu(void *dummy) > { > local_irq_disable(); > /* > * Remove this CPU: > */ > set_cpu_online(smp_processor_id(), false); > disable_local_APIC(); > mcheck_cpu_clear(this_cpu_ptr(&cpu_info)); > > for (;;) { > /* > * If we are performing a kexec and the processor supports > * SME then we need to clear out cache information before > * halting. With kexec, going from SME inactive to SME active > * requires clearing cache entries so that addresses without > * the encryption bit set don't corrupt the same physical > * address that has the encryption bit set when caches are > * flushed. Perform a wbinvd followed by a halt to achieve > * this. > */ > asm volatile("wbinvd; hlt" ::: "memory"); > } > } > > How's that? I can live with that! Thanks, Tom >