From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751686AbdB1XSR (ORCPT ); Tue, 28 Feb 2017 18:18:17 -0500 Received: from mail-by2nam03on0075.outbound.protection.outlook.com ([104.47.42.75]:61408 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751709AbdB1XSG (ORCPT ); Tue, 28 Feb 2017 18:18:06 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [RFC PATCH v4 05/28] x86: Add Secure Memory Encryption (SME) support To: Borislav Petkov References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> <20170216154307.19244.72895.stgit@tlendack-t1.amdoffice.net> <20170225152931.p4lws753myepkkb3@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 , "Brijesh Singh" , Ingo Molnar , "Alexander Potapenko" , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , "Thomas Gleixner" , Larry Woodman , "Dmitry Vyukov" From: Tom Lendacky Message-ID: <9ea3d871-e4ae-2408-1bd0-9820cc5826d6@amd.com> Date: Tue, 28 Feb 2017 17:01:36 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170225152931.p4lws753myepkkb3@pd.tnic> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY4PR12CA0039.namprd12.prod.outlook.com (10.175.82.153) To BN6PR12MB1137.namprd12.prod.outlook.com (10.168.226.139) X-MS-Office365-Filtering-Correlation-Id: 1007cb1a-f2a7-429e-4510-08d4602dc23d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:BN6PR12MB1137; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;3:ZrQo9o7lOvZNLd4t0zuJR6S1n/N7eFWvR5w1RhdIlG6ILL94HMqyrig5eRpCdwsBve4UO67LdiJMdjVPPt9OFOG7Y442lo+SMiLtKNMeWy5GBzwc5miHdaxQRGLXZQiJe5hNJIGxja4442wOxp5H4ASvmEcrNY6pUepgk0Yd4v61rfi6RItp4Vl+Q2mpxh96/DHdnGe8dNHsohe09vXQhX3jIx0opqRKVnN9mZ6bQdeDZgPklobjdavH500HyKFRM4gXx/ebq/4urQoJBvkjrPfTNm9uPZnwzwSz5rk8X7Y=;25:UJG82DC1b3v/slu3eJutSddegbqFKScTWa3bAi678mRbAxuIiulGR2cp6GXcmHl1RMVL3ApdKsvRpzyv7VceecSssQfdo2YBKLtVrdo5DLOS7uwhnBBEF3trbLU7ZJrgCTZYKU5+Gcta3acHNr6wSusi077t3Bsz0blMXbAWgxmLdpTa5QF2KtUOUnPHgZTLh5BqCCJhBpOy94DSfXQcKaYhrJFeWGEqi7UJw0IXjY4q7V4cldBjj6gfi1+g7FI4IzlOThU3n3Y2WtYLCLI2cXnEC65R7vu80USsoDW3mPVY5RaH0hVrnq5zXODoOthkC1KbY3vfUIreZw7XHYPupmsVRJ7BTRstd+7EkZWa7SUqBFySW7OEWisVRq8Oi0xM3bIxGtYOU9T3qrvV55KiEu4sE5UB5wQ0EXJhjBWUNeI14VY2QSOiUJxSvNSAOabKRFRj9jMVY9HwQds6oVH8Vg== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;31:M9Oz8TctFtqlqvNDPQUWGNy320DMrQfMBZSJ6IjhVeNC7pBbHxuSSuyGRsxwOmWoZ2rhBwh7LjtnD4EojQeDpwEvcvaeSfHhIpCt3J5BALWsRquFUTxwNoeQZoprdiEYKSQpvWJUTJUmGx1aoJFd48F8Czd3DMiegFV3goFeniTMtOhJYfrqu9pleB8FQTSVWK9ZR03+clycJVPUL0nHp1L8/EJIPdyEDywhqxdXn1I2soj0nxAE4phA7EWUxl21;20:wPKv7K6ZwAjQSQzRSTArGnD8m9dqVXKqeW8h47P/BKgP8qyLRnQ1C0VZ+XfQjP6T6ATI7VM+a4INNzqxKnpAX1HYc/alC3F/3Nb1U+8/AKDueO6o8hIQFB3PFL6j+/1D3SEVI44eXZyoDXKMuigdzsGRefrMOpyQ+58nWSkFDPoE0Qr920Lgne7cF8w+1uATCP5vi7Dtg5TmOnavi8LykMIEvXr1sLlMTq90+Oe+JvWs+E8Xgvqa5ZL6kUnzn/7YAohck9gDkbioXLmw6F4C4MQ4SIlL0Z7tJEwzgPHzk4/iblv8rUzPHPq1SV/iq8sphRl0m7+P77g0VAUya6CF5NmY7jBc69CRc5FTmw1U74AbVDSAjVXUMt6WPsiA5hY5sHpzVPgFx0/H/Tw7dceuyLZk2QSIa6MneIYxPmB6Y1v+UBGJhXpK/DpJYvJ9Fs35lR53tXGh06fUSJQBJR+Z/+z6ht4jVTI0DIZKkIXW5cZYk90HXhkGeK5q8DASeN13 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123560025)(20161123558025)(6072148);SRVR:BN6PR12MB1137;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1137; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;4:efpnZkNVFeM5P1r97RjHiuqTM7xq+q7W3hsXtPdC5XLWusfHYo6U9lSrB2WZHLn+FciKaW3mDtDv+79lAqF0DWoBdeKwgEDVY/bk2LOn/SoGYoymfNlO+rlNK7DCpD/6fIBDVtcVacFrWejpwyJ4ysXOVCZRUAlozp6CllJ7etQIk+GEj0/iDCrJfbwmKLJUCtF4rfV+plA9RCUMQlD7hWboAOmepFBJmsMtbtV9VNxoe/s6LPa7eGYhnYLpFlpsdEXygsngJFwS0c9mdpvC4LJDbCCsEsZkkj7vSbU4L4dqiZEpfNX3+Xfxvg1dWDBiLMEgeBg5vBvFWastuixWOitT32zmLiHS1Zg40FMUh+fyuZpP7W4UGrnosoSvfloSCcstcm0OaQutywrmvt2RbRluR0Kls8ZOoLrGVof2EpChNBPy0J7+9VTymRU0mwo/2BH/cmdVn86A/16oH7Q4f4QnlEWjr3K1rLggV2CVKLRYRaPzziecqP1dIicFSS4eVQCp/8vPQdNLZzCKnApw99yE1xny+hFbdkptdbRr+Mo05B5vkIRfPngwkX+hv2F2NnIcG79nDVv966tuu+8s2Aw1j9q3O9VDsN20FXEoSVJkW1mYOL24sfXPbP5Zdb4NrJnB4Ar42dR0DTDB+p3Igs7dLC691B8uQ/e771LHbmE= X-Forefront-PRVS: 0232B30BBC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(39860400002)(39840400002)(39450400003)(39410400002)(39850400002)(199003)(24454002)(377454003)(189002)(53546006)(110136004)(38730400002)(6246003)(2906002)(53936002)(36756003)(81156014)(81166006)(8676002)(6486002)(305945005)(230700001)(68736007)(64126003)(83506001)(23676002)(3846002)(7736002)(7416002)(6116002)(50466002)(86362001)(47776003)(31686004)(50986999)(105586002)(25786008)(90366009)(65956001)(77096006)(65806001)(66066001)(229853002)(54356999)(76176999)(101416001)(106356001)(54906002)(2950100002)(189998001)(6916009)(65826007)(5660300001)(31696002)(4001350100001)(92566002)(33646002)(97736004)(4326008)(42186005)(2004002)(217873001)(309714004);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1137;H:[10.236.64.179];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTM3OzIzOnU2TmM3NTRteDA0NUtIRCtsSEJnWmQ4bno4?= =?utf-8?B?d0JUOUFtSXl2T0xBbk5mN2ZudS9PSUNxcWhXWlIzSUpVWXNUNHk4ZWVCTS9E?= =?utf-8?B?MGRzS2ZaTURLVDNmaHc5UXNINFFzR3gyUGhmUjhHQVE3bnFZSkk2cUlBeTBK?= =?utf-8?B?bHFMRGcxbWtyMkx5VFRFVUwyQllLanZlMlNqQlJwdWFnM3RKcnNxRHJ3VVFF?= =?utf-8?B?U3ZMTW13cUo3ZnZiY1ZLL2VlRkxLYmE5VEVXeEo1WGZUTmt2bEpNWmNPWlQ5?= =?utf-8?B?NWJTTDdHbFZiMzh0alppV090NE5NRmUwUlhWQ2Fudi8yeUpydGMzL2c5c3Rl?= =?utf-8?B?NVpSNStFRnU5c2VtS0xrMzVRdjBZakViNGp0elp4VVBOMXZWVmxLd0pDRHN2?= =?utf-8?B?bXl3SHZuTEtDay9iN3Y4Wm40RVZ1ZFRTbWZlZ0wwOGFvQlJabTRQZUo2Y0ht?= =?utf-8?B?NnR6VGhMU05LLzIxNHltRHhTT2lDT2xObjFKdVFyTzA2eWNqamY4MmNIQmdw?= =?utf-8?B?bUVUMkg2am4vV3ZRSU52UUVFUHYzVStFZW5JWHJUM1ZMM1BZNFZ6VlBkSWVh?= =?utf-8?B?bi8wVHB1S2lrcVg2TEF2ZFpYSjdWempBY1BRTVJEZ0I5OTNKL2ZvNEFWckNB?= =?utf-8?B?VU93M0paTVprT1g5dUg3ZEE0b3hrUk0waUJLK1p3VmJGVDIxOCtxYysxU3Zn?= =?utf-8?B?cDVNOHNGRmFUendrcmdUUlZoRExnVVdiZXFsand6am1jdmVmVGN1dzBiWG1w?= =?utf-8?B?UFJtZWFSUGNaQkp4UmFWd2RpNklQSmlPLzJGSEx5bno3MUtKb1BWcjI4Qk9O?= =?utf-8?B?NGNwK0NQZ3ZTTkJ1QTFCUnBHbTZMckFYK3ExdVROWTBCaVRBSGZ1Q0ZkeVUv?= =?utf-8?B?L0tsSXNZRk40dFVScWZaNXVmZWFOelNSbkVScm91ZUNyYll3NzQ5RlJ3RklO?= =?utf-8?B?Z0I2TFFOamZnbmdkc0pUOFpUa2pWczE0RWpSaGdGNmU1bitsc2RuRGxGMUJk?= =?utf-8?B?MDhpcitEODdWUTlVUGljeDNZNmhVeE9idFVWMzNueDZ0OXJLWXNqYU1ONzRK?= =?utf-8?B?QmJqVVduTmg1azEreTdSdE5uWDNSSGVVSWZ3K0sxMTJtMzVHblBGZUI5NnU5?= =?utf-8?B?ZmVBcWUwY3IrTDVoWDJYbXlJQ1Z6SzlGVURKdy8xWE5VcTl5VXdHN1NyMGRw?= =?utf-8?B?c0U2T2hSVCtDRkNnSnBCdkE2NHV5cVhWendkcXhSWElybUlmeURhbnFvRW5X?= =?utf-8?B?RFVhZHc4R2F2VnBoMEcvQ3ZqMU5nQkhNVE9pd0FyZ0c1L0FsMlQ0YVczanhi?= =?utf-8?B?L1kwViszZ1ZwbFhuYTlsT1l4b25kUkpTVXV4ZUJmVWovV2FUL1FrcXFjakZC?= =?utf-8?B?dWtURjkwY0Nzakxha2xja3lpVFhDS2pmM3Ezd2lJaU1BQnBGN1BJZ3huZU8r?= =?utf-8?B?eG82ZUFJcVhmOTU2YWUrU2grTndxVnE4R3dyVFJVWnNCYVh3czZ0RDJzNkpo?= =?utf-8?B?d2pPSDRwS296OXpYQVhFczg4QWpwVXZBVmZteEtXZFBjcWZpdm80R084bEwy?= =?utf-8?B?TUN1UTArRlA0TU1XdGxndUkvcHJOUkR3K3lDVWM0UThRcXZ6cS9PY0hxR2JY?= =?utf-8?B?d2dYSll3RndFUUMxVHE1U1B5RC82VDJTYzNCNDNWSTZVVFhFS0hxK1JRSjVh?= =?utf-8?B?ZU0raEpWL1NqMS9mdDY0a0hhRytTWGJIUGEwQWZnUUhlalJGbGdzNHhRaUFQ?= =?utf-8?B?UzVyNWs0NnZrNFk0b28vSGY0OUptZm5qWEdpTjJLaWZ6bVNMR2ZtenpIcWw0?= =?utf-8?B?aTBKbUxya0Q0ejVWZEh1VlAxNmNhbVdQSWRtR0Zqb1ZEbis2K2JjbXFMU1Iv?= =?utf-8?B?cnQrWDNqekFmeG1vUzlmK0NuaVZOMGY3ZjRxeCsvd0ZjUmNPaFgxOFppZFlS?= =?utf-8?B?VDNXZFNhWVRHcXBxSnpkVTFEK0wxVFg0MkxwbDRmNmVEa0tUT3BiNTcvTC85?= =?utf-8?B?aXExMXRFSWlTT1RrYk1oZFZJQklVWVhVM0MrRHJIVmNKd1hCSmEyRStJbnVR?= =?utf-8?B?WURwOVZmWkZPcjgyRkZIWDBLRFJRNWR2c3l0VUViRkpwUUtCdjNkYTVQYjA0?= =?utf-8?Q?0ZIoVfCrbwnvJqN8dpjY+iU24ELh4PIhG+DCZSA1HO9U?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;6:Pf5E6VXc9ghkLo2/bfUbDEv4IUTen/GcuXYVGy0k1b8A0i+4ar5RgafY4MhvjVxwslI351OKy7RlGDkwYxqUB8OHcZ0n5JHz3B27fntcL5fG+9SuF8QraFKbEDwTbcZeGSG1w1eP8QS2+0vPqSCrHKdkBHith/mirhCrR7kNQjLfilxmZroFVhYd/JfhTd718nSlhveUzA6u7lUfiPf8FPRN1f/vmfrRpSv5ENXmFz3vPWktwO9kYbShfy7EoiuCTYYhAZOYX0P24mw4t0Qeko/ckRMYGaqrQkbMzeie0tfxRcqxnuVbjTzh/v839W7OPmn8+RJ9twg3r81klCEcG7Cw3kKMCaFPJWfV4J/4iJwpXIdGo7cYpLCM689cM136yrDX1ZXj3nZNSeaJMkWc9sG13fNfch2yCbOQdCJQplU=;5:MBQbDNgxXgSD7/kPagWhBJeRJIuQA/7VtDMcxuNNRC1TUEVfLlbOJwiH1i2uv3hdgpGhRK2RKmYTaETWOqgVAOVuv7Cci+avdgI/cm7xMgpcHpqUBPtIvdehDArBgngzgtFhrG+yDafoN+DTXBUxFQ==;24:lCupxQ9+26IBJwUczWtv5FDBZ3UqCpBSDgP5zCyTRYBDiNdfsOAnB9xRCFo9JEBnEklXRfcHftT6TshmXx6IX1HSR0Ma3pLAp7D5qdvz+QY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;7:F5X8HXremWUerYUifb26vnCa1Anp63Bnp1/byo6wTG9w8jCvinT0oxDKfb9YMG4r/feG1kXjqUaI8mRZVhpezAzQv+FZMmd19lKknqnzCmYaRXXcsqBXCbs9PDqrPDOE0muKMIWv7av1osPaZARH0A9oDGDzzUrgX2VBGAFuyYpA3g7fZjFdX6PEejZHWGCNqB98h1i7/PpK9U1s7puKKSDFSmLrT8ug3cXLnhrjPmbgyJtbt8b2diV1psBENCpx2Y7FyN/gQaBRxnsI/T2IFWlJDeEePrNlxgaK8NZ34YstYfhG6iE6yaArCTW/w4f6g2UsXAClBjfUHUzM+/TYkw==;20:yKrHZuPKwHT0fs8lDlGjeNcPkO/JkMDIyvCG04kLRrKXDaLbpX7tbCKjcfSPtD/+3jzedxLj1y6D7GwFjchqkY5lyyJOSFx6WGZWNm2VMdMADetcNW39SH70oBvOahCkGl60VPvFxAJ9ll5mrYunUpmf/i7u9/uQwVWZ4cq+FqroA/WwrqKO5Vr9gzFGrCuxhJZUKaWG2lHiYh+RFAchxuKit0ELl4gKhGyCIhPSzQ8jqauTyESHF9rmQzjDhDta X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2017 23:01:38.7797 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1137 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/25/2017 9:29 AM, Borislav Petkov wrote: > On Thu, Feb 16, 2017 at 09:43:07AM -0600, Tom Lendacky wrote: >> Add support for Secure Memory Encryption (SME). This initial support >> provides a Kconfig entry to build the SME support into the kernel and >> defines the memory encryption mask that will be used in subsequent >> patches to mark pages as encrypted. >> >> Signed-off-by: Tom Lendacky > > ... > >> +++ b/arch/x86/include/asm/mem_encrypt.h >> @@ -0,0 +1,42 @@ >> +/* >> + * AMD Memory Encryption Support >> + * >> + * Copyright (C) 2016 Advanced Micro Devices, Inc. >> + * >> + * Author: Tom Lendacky >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License version 2 as >> + * published by the Free Software Foundation. >> + */ >> + >> +#ifndef __X86_MEM_ENCRYPT_H__ >> +#define __X86_MEM_ENCRYPT_H__ >> + >> +#ifndef __ASSEMBLY__ >> + >> +#ifdef CONFIG_AMD_MEM_ENCRYPT >> + >> +extern unsigned long sme_me_mask; >> + >> +static inline bool sme_active(void) >> +{ >> + return (sme_me_mask) ? true : false; > > return !!sme_me_mask; Done. Thanks, Tom >