From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752619AbdGQV1W (ORCPT ); Mon, 17 Jul 2017 17:27:22 -0400 Received: from mail-bn3nam01on0083.outbound.protection.outlook.com ([104.47.33.83]:8586 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751335AbdGQVK4 (ORCPT ); Mon, 17 Jul 2017 17:10:56 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=amd.com; From: Tom Lendacky To: x86@kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, kasan-dev@googlegroups.com Cc: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Konrad Rzeszutek Wilk , Andrey Ryabinin , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Alexander Potapenko , Thomas Gleixner , Dmitry Vyukov , Rik van Riel , Larry Woodman , Dave Young , Toshimitsu Kani , "Michael S. Tsirkin" , Brijesh Singh Subject: [PATCH v10 01/38] x86: Document AMD Secure Memory Encryption (SME) Date: Mon, 17 Jul 2017 16:09:58 -0500 Message-Id: X-Mailer: git-send-email 1.9.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR03CA0008.namprd03.prod.outlook.com (10.168.230.146) To MWHPR12MB1151.namprd12.prod.outlook.com (10.169.204.15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d912123d-df68-412c-5ac9-08d4cd584da9 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;3:ZfENOL9pYvrdHAV3zSzS270JzZii39evcRks0WkgZBPwI3wx47I+ddq/U3qtqJ/ko3MpnAZPxQpyIofuzV+F61+73v6B25/K7MmzfVVbsx8DbxZnHwMr8EaCeUcvHznNC9z3nvNaOe9jgVe8Ow/sOH5VhsFcCYEGclgL0TXLSSaW8RqXVHhFaeGso5LmIy4nL5hAgRs81UD+hWjbu3r2knfa86rMha39bZiGRXhEmfURTvIfutqC0/pYd9DXS8cOGxlv7eNVJ35apDlqV0fLPf+EIc4p8iupypNjyTcjL8l6D2ntvrhDbGpeuEVnz0m4X81+iOSAOpmI54/1lGAAjsk97shnMNyNlEpAJHLkUw7GwNOgPXbL0JdXtDmHySj9j6DS6aeyi4NM4gk9m+CgVm4iu05ICJRvCkRsEZSdHOIwnjgwbjOBxTq0MF1xA3/77m1d/CyagTJ8gNTMw1OgNURSzE+BQd6L/ElgNtqTiWw0juzARvnGtNr4PNt3YrpDYaiqlAwP0QfekPeth2DEZY0YSAf6DFEeWe7CZPsBkDJzKDjWxmrPI98f7DN4mhoph1M5qOo3EttPfaMsnOXxEy1UH3nVVpD7xo2QX7wGuzx7zp/MDKriWGYpaPo50ke/e5a1OLbud6FalAikSk19D4ka4no/cKFUFJrubODOwILOweLt9RRTXfz18OmmeDREeNGpo+KlMfzp6nfVvu/VKVdSxNQPq7MStzUnYOLPSkj+Utt71Oa1CwyJLg/LeX23iVm1k5v6k1YkwQR5Ix+IjA== X-MS-TrafficTypeDiagnostic: MWHPR12MB1151: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;25:AA08hLDoZ4rqlyMTeWyA/HGKRdtGmBe8GQLF9cKo3S4eBQ91FhpRe4C0O0bRVdvlYL6EoaLa3AhmUh8uigOLHKP1tHpg07QL7glhvSTZOTzJySDzSVJRbMuoJjgEwGfIAKYWiiAItJ90NJkrZO9xXZ7+arAHg5XKFqSnrsaZMAIwuNjP1L3Rw7tKqDBjM44e8DTQkzZT0+bBm2xbtx8SITA9JOvU0LR30UkR7cWAdr0fwWj8TVK2jHSbVphECiWBmimZn8kP74fAsDuQMHQrXmaQqWHeDCTkWa/Z+Xj25r8/GVYYgSUWDhvzhKpiG+GGhzlKO7dbPN207azuosMu3nqV/nggkYp7yXkd2g1AAIvZmZYMy084jiwP2lC7pwXWQUhEMk1tqcmGxkePX23znCtm4WW5oBMnEF7eGVxjWUyLkQy6P3HNRLnsWTdxwBg9dBIBMHUzBDFzFN0QMoxKs7tLf1uBThjPsKM1/jLMWwbut9M3HuVnIzbPZr2w3FBtwbzxr7QDh9oW62ozc+WQfDGMvsZhCoxTJrxEB+ldnftRgVA/DoaBAnkf8QI2Pv9wcE5AcD31KK1Js4coY+vrxd2vSF/LHO7gWMrtEVHcBkzCFUtQsdXDzqr2k9YTeJPBM2mw+hVvprWRVd179Md8HaRo4ERjXl+cILWXOx4TpFBACmOapUdmbfcKqTwJ86U9BunFbiUIYlydjkBGXjWIPUPfbqTrNMrZD28ALHulkWIxgnn2FkJ11+MxHefNgoLr/lxuvwj/zcMeZCIlY+28tEZM6ewe/oEFhlUj05IsCOxKa6zpTY3yUQNlgaKMWqaZEjUpck93mdWL+fpHK1rJRz4jIaI6/XKY8W8CvyIoS3EHgFlg2EPLXll7nx0AmtqSzjnCZg9sVAZxjpsYTDQUpxxwE0rKVtkOC8I9VfzWjCI= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;31:BnBiRk542XIi8aRXySZVoJId4ChLUED37A2ScYGe+IAhBuKzc/nKe7VMkzQ9n5sQoIF/l3tl3UdI8/YP2Pgnsi+BRzi1+y4cIrp93u5ekbrZCT33vyS4fAI+7pv0NovEMZvO6jYUiR5Zl2LaWD72g8ZMS44JLWvezl1J47H3JYt6KME8GfG0/k2Q05z/JCW/4j9UISZi0P5GESJpqo7m6e7grBSI3jeZif+Qqs+igkAfeObEUbY9zHwVmklGbPZeMgg358d+zCeNdqognJ4A+lhWlW5Jw77zT9iEy35cmePFfzKk3wOXjYmYbd0tmunuzYMwQRxwJ9PqdatrNGK7N7Cri23Q0mZDTuRDTzjs6rwg9NIfn/7ZugZg2Xh9R9gyJV8YMvNSd0GpPX9lHcv9MnkUeHSvQDPbV/GNAt+mT8psO1mWOBxLaHDSVNSmM7P5fzRDvd13boAO+8i2ydm7LyzX9dovfP6PYwtUy4/5rSeilzcaIxJ3YkytJU+Omoii3QuCQYNvmRlLTvqThbT3yEg5r7K8BI3v/HOywV+aPDEtTQEU8Q4t2XRYYkT2/0hGAFbvLUH68Mf+QHY18+XDt0Ru9oWwGuJblahiNvb7vz9nOoBRfHoGcSbhZi4ntAgjs35Wcg4NVHVHFULE8wgKgwufHksFVz6W1I5xd9A/UxE= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:0Rbc575nnNvtf60I133rKiRH5wtGD/CH+qdjTU8DS2VUgFh305e0Wvhc71+Qw9X0eBfOearQPLo45hwHaT6ly0SoNtfLpHJqgFePYBKz/m8ZyKdxnD9uiN3bZiIbDpRj376sGzwmxlte78++A0lEYui8xgOIuNTP9XPtjIpJIq+kST3JW4O07Ua85UtWxFxbLU6gj/bd4QLi0okuHKEMH8nIVSOoODJvL0DnV/GfhJtIqldVdoQXrPE0KFyuZfU9g8oGmF7xJEDmtyqi5n5MrrhAgvCbjtq8ZLmSKXsOR8D9kCi16Y+Fn72uwjR1nXiLa7iC7QJOiLk+UpoNThPaVKlVAXkkTzfb7pM8SwhZ4jDIEJWdrHRaFKEP4WF0TY6D66vCDqNSZbBUobXWMVSH7YYzbG/x0gP8sBztZ3biJj/N4+60MxwaXkMODrRybl8ZrdK8tbDxblBTcepx8UDiS4n1gZKnmPm0SJpRe+nJLf9fqcnqCLhiyLPblKNf3Czr X-Exchange-Antispam-Report-Test: UriScan:(125551606395959)(278178393323532)(20558992708506)(133145235818549)(236129657087228)(767451399110)(148574349560750); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123558100)(20161123555025)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR12MB1151;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;4:Vezwo0rsSmPEcA80IRRpPcgz9VpTLFZnGsLw4G2T5F?= =?us-ascii?Q?NMJ7dV/8jZlGpGEzATVkF+4gpzIsNpHEE2eyrtiOIntsVZFVQodCWqg2ddM1?= =?us-ascii?Q?qQ61HhfzT3mmzhVq3MkEGYbiFjLU+UzcCiQRW1zO9L/ZRv9ggcs/0jsnisaI?= =?us-ascii?Q?IcS90Rni4rWOf7SHMcOqlt4Og2rNTsmVuBwpPoOXRv2p5IXyzUCANVhzjbB8?= =?us-ascii?Q?bqZWvw9xLJTBMQ0+xsdeZqQYPnC+fM7Y5CgM6F8vTljgUlW2Fz3PGCbOKNMf?= =?us-ascii?Q?FFc+Z1DYRJoUbscPSj6DfTc/LrxPXtaA60EpR4CHRAuKEPUNKiuHX+j+Ca50?= =?us-ascii?Q?HOeC4ZpH1vY+LwCObESutFYHfwnvWGXUhbcjdNJLSG4tynNtCwuCGpu9juna?= =?us-ascii?Q?xQcKEozY6i2EO/uwI7cT96i4NqpKPmpHMhPKLc3hawgY9w95cWidOzTYZz1Z?= =?us-ascii?Q?f6aSwPpaZcLM4TujCdBWD3WUnb4DyBbW2/x9RhoL9MCf6TghvZLq2TyDILku?= =?us-ascii?Q?gHxnd2BAD6EhNqgX6ZkmP5hMYGS1KKwQ2DhyQr0nj3eMdDE7orGTKhLy4vF2?= =?us-ascii?Q?C7CgoEP/qL2x+tfW45H1AT+1T1cpqc+Xwm1C65YtF+Ihg3D1gmnzH1Yep78C?= =?us-ascii?Q?l+LmtUOH5JRC5rqk1XS1+HFRV5up/+ekio42SjjUcpOGxdT+QNbV/szECkRe?= =?us-ascii?Q?pankjRCTQgW6z99ZqgfelhXdl6ByxdCi/tUjifjyjPA7F3s36mefFeWJRYDM?= =?us-ascii?Q?V3cZX4xlNbFMpuL7EYsv3YewGBjfFA+R9dROtB+4xIoauMkHHaLk5H3ZM/Uq?= =?us-ascii?Q?zX2zlY2+F6N0BLQNtana6UmLYKJE58ft7z8zvhXhP4AbgLKKBnCmRO1WOM9Z?= =?us-ascii?Q?zCfdL2qaZ4iS0F2BqnVMgPyeSk8zILxT7SmMJjRV6uiyDHbAe7xtY2WeOzWv?= =?us-ascii?Q?y8bMAOYHbkBiRObO5gWR7+8Ntlr/Qn19PEz05sfkKjb/W0KumOA5443ujlNo?= =?us-ascii?Q?Pkz6UFUePe6fXTn3wC+MBKKHzaQIBAYoteYN/ZVbjB8+IWIBdISaiPDG20Eu?= =?us-ascii?Q?PkOO0HVKBMRVDBycIBSvmAKsmGAGBZ4Xt/Np/ZwdZ2d80vWumZodGZyEnZdO?= =?us-ascii?Q?iDnl1Nk+pCcg0zgzSmln63AUTHJnEcA+7YW/FLb6cOndcs0qCL4PaJ7Ucp32?= =?us-ascii?Q?BXAo3cRW9SGmqkk4dz3zgJfm3pcPpeHmqT1ocBDTgTwOpIVVnPEe0CfkSNXW?= =?us-ascii?Q?FMGLEMk2e24DTWuUmifyKZjdEu7DReo68yQkhKiN7Ic9hM2CwTqmEDiysMqV?= =?us-ascii?Q?4+BHOvruhyMLssEwbJVHso4lxLMsQxUv9FrWrw65JMfRyR3WRhlO+0iS1ja4?= =?us-ascii?Q?pdjQXGmcULKzZuQyLBgZEiy9WwYOZjkliA4Dp2cCzp3YGVV8LjT1+UuBKVyv?= =?us-ascii?Q?nWaSUiFURYuFIm+kT/kI5/Ye436bs=3D?= X-Forefront-PRVS: 0371762FE7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39410400002)(39850400002)(39840400002)(39860400002)(39400400002)(39450400003)(25786009)(6506006)(33646002)(54906002)(7416002)(76176999)(478600001)(8676002)(50986999)(6486002)(47776003)(5660300001)(189998001)(42186005)(38730400002)(305945005)(72206003)(53416004)(66066001)(50466002)(48376002)(110136004)(118296001)(2950100002)(81166006)(5003940100001)(3846002)(6666003)(36756003)(53936002)(7350300001)(6512007)(2906002)(7736002)(6116002)(86362001)(4326008)(50226002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1151;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;23:HccBoP5CDyM1/zQ/fuKu4qDyUr+rFw4kp5c1xCr+e?= =?us-ascii?Q?5KG6Obma5DmsCT5SU39bwDgC3Zf4jGhYH9jfkLO2i+5SkdN4kFgAU84OQGK5?= =?us-ascii?Q?1xqAGf/X0hSC1rGF6BJUzKH2+mfQmSVlz4qo+u67Q67AskU4eeFawXvrtJuK?= =?us-ascii?Q?NWOZAsl5rDfp8QcQypbOdOw/RezrFLvEe/kr6O1mWiY7jovOEvZcKdyjgv8f?= =?us-ascii?Q?p0IrpMVJjymjK6iu+vzFQSLhi4AYP3xSgzaTFO+Xo93vNPOeLnz8+NIWxtY1?= =?us-ascii?Q?630QiBlqIRZJNxU+vygddYfFdBO7VUfKyh5EfAVoUmqzc34INH5k1tijjDOu?= =?us-ascii?Q?cS5C+OUSXY4UqmmOIaoonS2A6+8D/F1vbeZZwhMgLY8JmWmOqn+eh8VZgj0B?= =?us-ascii?Q?jw6e+MEQYbd8crEfwxgVChcR8I9sq5M7aT2xiTGi+zy9OleyFAZmmy9+KmPd?= =?us-ascii?Q?T1Jn5pGIDknBIdP233siLd5l4hoKAUW7B0vIXqIxl+e5ltyfE49gWD43fSet?= =?us-ascii?Q?wGhxJqBz1OSrC7nuzGeb8mFiMNHvakRXifqocHigcBgcquLodQLpK9qmxV7/?= =?us-ascii?Q?+52Y2FJ2e7yB5CviOstaFFoXPTIXfvaHcVJKICSpmFhptnRIHZwpRbbAciul?= =?us-ascii?Q?hJjE/POAGF0BiU2W+OdK0Zl+C5bF1D6d2tABT/sL2CTeaQxLpon8834wiBhg?= =?us-ascii?Q?VL+Il7rvm8b7Rqov9lRUAq7IZ2YRBkx8tk1cP0OzyGrlPHrqKmNq5EZ7jaLI?= =?us-ascii?Q?sRkovkl+2U3AJRKQjdxhOKliRw1LNzXm2NGbNUh4yhgxttLD/DnTzzED4Bre?= =?us-ascii?Q?MBmA4ew1pLLt51ZymASNiSM/jkDfOAqMNEnyDqppzvbdmJmkXV7ScldBYAcq?= =?us-ascii?Q?2bi0HvLb9tR6jATvVS/FcH9uJvbdQPNIf9+PGWwoNGOEsjWMVCXzZ3K2ufXa?= =?us-ascii?Q?jQVbxL6BdmeUU9MFjvhIJ1MZAxXcbMUye1szNw89ZYuRtCWndi7xSWg6A/93?= =?us-ascii?Q?dBBx4Bp4aXlOPNOX/QFmM9Y+tjLYw788Dl3wP0dK5jGKey6JfVbHrpSTk4Tl?= =?us-ascii?Q?4p78YmjySLkWkSCqu8Ob3YVTAk2h5Ni7sgOERIi/TPa4xhGOaQqXHa1T1f7m?= =?us-ascii?Q?24k7otEqBONTKNDBq2T+ymBgvNLn7z4P1Du4I5myFgftaeAw6N/nTC8HlwOM?= =?us-ascii?Q?Rm5NhJgX7N8hrw=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;6:egsoHzDMWxy1nx/WQMUd/Lvy+0DAONqz9RraGeTRpJ?= =?us-ascii?Q?7SxmyNhfI+vObE4UiLG9q8NPDFl4eWiRS0ZlEIKJa5+mAPfmQVdQxl8etWIW?= =?us-ascii?Q?oamd3FFcFZI7QUiO+2kmxH6tP7tfQ3ASG6kWnSGvEX3yq3elSXTiaYTrcS6K?= =?us-ascii?Q?bJ4jgoc05GQFD4i7I0qB7+TBDXfMtzpw0SeQYfZXMTIDkvJxW00RFEyCbbeZ?= =?us-ascii?Q?A59QfRAREtIwCrBRrzJ2ozTaU0pkWp+N56ocJoG2nSDVPTbJp3ar1ejtRpdT?= =?us-ascii?Q?ocBVrDPFZkHxBfomy77QxukodGvvovz9SwsIybtD6ctCGMP29LuTMViWP2+r?= =?us-ascii?Q?Zo1iTXIrGsVuggusrLQjzLUKx3jn5sNsgIQzYYcwLVNQ1vSrwmwzKoQGVjLX?= =?us-ascii?Q?/gmcAz2Wre2dVQVqatXeNmG5mwZqDGf/6zTy+xeNuL//tRq6CKCvwuVsvize?= =?us-ascii?Q?BjjlpW8YPepXSty/agf1GsqN7WKsMETm9yCEs1evaf8L36RbAjZhdD+Z+vRo?= =?us-ascii?Q?caGo1/WmNDOn+EITplX+FPGE/rJw7l2wHbpyJlysRe4Msk+nu3/OjVcSAHzh?= =?us-ascii?Q?geo7hkXb0/oZDPGwO7Qc41QyblB6aju6m7oF+MzhvagWQB45UFYuwHhTfQOH?= =?us-ascii?Q?GZPxF2p4JVAZhJkx/bj+V+bPH8YN44ujC+Nj36hj1b2pSd0C5h9Vs9XxfzPu?= =?us-ascii?Q?50d2H2WLRC5/KXaRORhs9bqhVnswjfZ0JAy3wjnYDS4ehu37kWoeJ/r8F7uw?= =?us-ascii?Q?UWXtb517FAQZoHWcwKMNuorrYGtVU1suGQXixdHJHx1LyAfybJ9lo8e72g4o?= =?us-ascii?Q?Z4f1qUljyYz2wLDZ/jod2eRQ/P9Oo/6tVB4sR7LbmAq55hqlifhivu/KM1V9?= =?us-ascii?Q?RSb1vxRBaUs3+fxxF4c9wdHvGRCcFSUxGYkDMyrDJRJRJZ5uXYVb/ndvNZWt?= =?us-ascii?Q?TdKfEtiB0ybFL7bn+DqIqYygxGuVM5530UY+E1pq/FLXUDbgmqMRSPdwcI8V?= =?us-ascii?Q?ufWpdITQpIVYv3kgS6MHf+?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;5:I+ZkDektV2BoIRWlRKipAcgODdLq+0J3Ni0nGhFvEYcamYZi6wbWAVMKiSaFKMZlBEXU5aoKCO8ZGxC3t31GNjnyh3LD4ZojWq4F02iP4dYbCntrcU64JBTWyAA/1Ru6syK4bG1Q3PRZedkdbLin6we0FgTP6+L3gQOue7+iKV41p/BrUTn1I5+Plx47XtEIegkNlv5dQM/T7UbAB6fn/qaE+hRr9X7h3qzl878oRqSJ7P6W58Ltep7VRCQ1r510rzaseiNq6ELdX6nvUSZOeyul35LOsfhIwFAlh3CBUofJOkwbGR00RwFiOIxmZaEBuBG7K890koaBfhFAsRzh/BB7d6p62tzWiYC1a6bqeHiG0/37sTkjZELpQWqjKlbOco5DNAoBC3A+YeCjf0ZCiYTlP3NaqF2+oaXKvsinHAkuvbGWtqANJZRt0hF3LvjQhGtUEIjina5Q+95w5PgJ8PDboF+kHaNu1oYhoyLv9ntf8LuAsFfcqUCld+x4BWXb;24:2Kb0EZSnMuCoEZWj7FHnU2TLXbxFBXg+7NtW0QdgFbTldJT5tdXVwIYsMuf3fKalA3fib21wJbZkQ5ZDyGmEQUQ68+AnjOk+IXBVVrKZ4Fg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;7:oXjazVslAShnTVDKarNFLcJEeCo1BjYFR9o7YqBr6BOhiYBXAgRcW0wZM72X00LrxWT5LH88QHbYauQre20yR6R3/7yBiavQhWOHjahrbxlPzglnKouny6GAMS+qjdJVBxsplp4W9YLp/gXQKOGTP04mgL3hPV2ugJdSetogsYoL132CGbpcYS2H9vnYkO3bwdd57/wKuWlK0FuGVBluiQc8gjbvZ4keBKWmG5YXlkTirFoMB+v4LLmSzPdMOnhLE1+NTmOjTMEe1O0msjpt/lfoi/S7swy8v2LtK+TemsbsvKaj+G5gtFTQQbSwdVb7y4acXBLBYBPTk2JOmzaHtncc/AzukSFn9FkAmOrlSwvF2EQ4mj3RwlutGGLIHCGOCB6yaTXxOQ3OdNdYVpCqXwR2AiQihitkLSji8aSl70Rdb5wPy7TeZbI5wlGyw+L6e/oY6vPymMQaR3hjwxA3fKXWYLj0X/dQmLypZBcwVDjebVl6WoBkC/YjNuyQCNn9xDN6HFVN0x+5XMmz/C35HI8402II1ni0B+il2YU7EJYjOXNu5MlbePEqiDz01eiaY+wccnhJTa+yN7qzJeYo+u+mvy0cYKFIWKoyNVGMDIXVWNH1NUKyMR7r/c6g7XaHAF756pw4Iwxck070kMhly+hN7e5c7frYfK7lgg9mhjmZQSZP1ws5mbCt14/FDB2iZZv3hneoNVZqgc9642D24uugyGeRQPRcGAuKnbJu+Wu0uoHlAdUZcM1Mod2zWUN7VzwRHv2PGm6Xazrz/tTy8IiCzBNKKaygvKjf2gMWbLw= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:V1HMg6GkI5is9XWF1iwYQ+JIOJSm8l44YcrDgDl06pwzqU5/HxyZozbdlxydfQlLH/Ecl1X/z9AnOyqyqLX4QVHK7PvEWL8Wvj8vzsoHbfb7sJApIonW4jMKU2ae40Ayzr9QJyVJywcyuCYvLIRwdYYUtUwbL0u8Swe9Kp1RQbRQ3ZScCpjeg6U3zatpoq33O/ixmhg+lVY0W7dRrCEf6Iw8hwoRMRZByzBqppaEYVwqO2rn6XPOhLVEUdix6now X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2017 21:10:47.4543 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1151 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Create a Documentation entry to describe the AMD Secure Memory Encryption (SME) feature and add documentation for the mem_encrypt= kernel parameter. Reviewed-by: Borislav Petkov Signed-off-by: Tom Lendacky --- Documentation/admin-guide/kernel-parameters.txt | 11 ++++ Documentation/x86/amd-memory-encryption.txt | 68 +++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 Documentation/x86/amd-memory-encryption.txt diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index f701430..372cc66 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2233,6 +2233,17 @@ memory contents and reserves bad memory regions that are detected. + mem_encrypt= [X86-64] AMD Secure Memory Encryption (SME) control + Valid arguments: on, off + Default (depends on kernel configuration option): + on (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y) + off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n) + mem_encrypt=on: Activate SME + mem_encrypt=off: Do not activate SME + + Refer to Documentation/x86/amd-memory-encryption.txt + for details on when memory encryption can be activated. + mem_sleep_default= [SUSPEND] Default system suspend mode: s2idle - Suspend-To-Idle shallow - Power-On Suspend or equivalent (if supported) diff --git a/Documentation/x86/amd-memory-encryption.txt b/Documentation/x86/amd-memory-encryption.txt new file mode 100644 index 0000000..f512ab7 --- /dev/null +++ b/Documentation/x86/amd-memory-encryption.txt @@ -0,0 +1,68 @@ +Secure Memory Encryption (SME) is a feature found on AMD processors. + +SME provides the ability to mark individual pages of memory as encrypted using +the standard x86 page tables. A page that is marked encrypted will be +automatically decrypted when read from DRAM and encrypted when written to +DRAM. SME can therefore be used to protect the contents of DRAM from physical +attacks on the system. + +A page is encrypted when a page table entry has the encryption bit set (see +below on how to determine its position). The encryption bit can also be +specified in the cr3 register, allowing the PGD table to be encrypted. Each +successive level of page tables can also be encrypted by setting the encryption +bit in the page table entry that points to the next table. This allows the full +page table hierarchy to be encrypted. Note, this means that just because the +encryption bit is set in cr3, doesn't imply the full hierarchy is encyrpted. +Each page table entry in the hierarchy needs to have the encryption bit set to +achieve that. So, theoretically, you could have the encryption bit set in cr3 +so that the PGD is encrypted, but not set the encryption bit in the PGD entry +for a PUD which results in the PUD pointed to by that entry to not be +encrypted. + +Support for SME can be determined through the CPUID instruction. The CPUID +function 0x8000001f reports information related to SME: + + 0x8000001f[eax]: + Bit[0] indicates support for SME + 0x8000001f[ebx]: + Bits[5:0] pagetable bit number used to activate memory + encryption + Bits[11:6] reduction in physical address space, in bits, when + memory encryption is enabled (this only affects + system physical addresses, not guest physical + addresses) + +If support for SME is present, MSR 0xc00100010 (MSR_K8_SYSCFG) can be used to +determine if SME is enabled and/or to enable memory encryption: + + 0xc0010010: + Bit[23] 0 = memory encryption features are disabled + 1 = memory encryption features are enabled + +Linux relies on BIOS to set this bit if BIOS has determined that the reduction +in the physical address space as a result of enabling memory encryption (see +CPUID information above) will not conflict with the address space resource +requirements for the system. If this bit is not set upon Linux startup then +Linux itself will not set it and memory encryption will not be possible. + +The state of SME in the Linux kernel can be documented as follows: + - Supported: + The CPU supports SME (determined through CPUID instruction). + + - Enabled: + Supported and bit 23 of MSR_K8_SYSCFG is set. + + - Active: + Supported, Enabled and the Linux kernel is actively applying + the encryption bit to page table entries (the SME mask in the + kernel is non-zero). + +SME can also be enabled and activated in the BIOS. If SME is enabled and +activated in the BIOS, then all memory accesses will be encrypted and it will +not be necessary to activate the Linux memory encryption support. If the BIOS +merely enables SME (sets bit 23 of the MSR_K8_SYSCFG), then Linux can activate +memory encryption by default (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y) or +by supplying mem_encrypt=on on the kernel command line. However, if BIOS does +not enable SME, then Linux will not be able to activate memory encryption, even +if configured to do so by default or the mem_encrypt=on command line parameter +is specified. -- 1.9.1