From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932787AbdBPPwv (ORCPT ); Thu, 16 Feb 2017 10:52:51 -0500 Received: from mail-sn1nam01on0061.outbound.protection.outlook.com ([104.47.32.61]:10896 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932338AbdBPPnE (ORCPT ); Thu, 16 Feb 2017 10:43:04 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; From: Tom Lendacky Subject: [RFC PATCH v4 04/28] x86: Handle reduction in physical address size with SME To: , , , , , , , , CC: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , 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" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov Date: Thu, 16 Feb 2017 09:42:54 -0600 Message-ID: <20170216154253.19244.70114.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR15CA0010.namprd15.prod.outlook.com (10.173.207.148) To BN6PR12MB1137.namprd12.prod.outlook.com (10.168.226.139) X-MS-Office365-Filtering-Correlation-Id: d0424f72-094d-4734-3097-08d456827bd0 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:SGZjt6hLLDE0b8TyTHB0ovwlz0uJFOM9lTgvcUXmgsyhZXi3m0nXL1poZN6rgCmKA0FP4YM//G9bc8eDUVAgY+q1lJSmL28f+moKxHGh9JXubBBCKrrNnEDEvY24Ob2wRmIA2O+oD+6ussAxVOWEgjsiYyG1Gt3KgCMCZNQfmSOL5ExGhoGQ8t1ZcG6kkD54FDoocaM9FYfbGz04OG6pvB47jaEgZWAsRa/2ehjAhSbom6Q+0zUTBuUDy3/0nCGocaR2AaMHBfmlNhZy6dHVHOk6ZAO1RBM3uDzR53OO6Fc=;25:dGJF7ilDoOp40d/w8vjqRPDmhyGPs83rhcUUAR5uDugLP0LoNCvTlo+c6ThTcVMTUCLpU8ViPW+6mdDd7ft5H1OSPRF6HEosoVDOSY9UdJ1VFZ2YEfGXLLJj5mlbZiVX2g2qJbkLCuLVD//L5zzs41BfvaHHKVyx0Z6P3Qdz7dkjn7R/aKdTat+9sBZNd/GfT7FCGdhq4L5jqECthSl4mi5hqJEJsK56sJV7dmB3ZBZVylw3/9YRKf6jnnnArJRMHev9c/aaHMW1KbajLkjXobMgCbk1TMp/4fL2BBWU217Q2fRrMPnjRBh4dK19oUaRXMMrgOxruvDsjo3q5l5VXOCr9Y+8GHRLVf2BnDt2W8b9O8yGjeSmc+F85W+ybhJXxfEPNgsiXkqQ/Gy2jLwTKYjARdmWoU57IZHhPiXdJyB1Qi8Ie4uvLlQmq3E5KUUAFum711WUQ8wMi58dRwb7jg== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;31:y05uAn3C8nA09zo/98rMxGpfM+4T2/AW4FcC6aGuaVwNyvKsl2IPs99OoNPr+x475ToGlWVjznBaRlM8ChCx/NedcLNk0VxUERnYWnp9qu5I/faCpP/oZg8+z1bzh+CX9AK6FrsEEtKP2BkwS7FI0jBHEj3TWcmOcJpUxAHee4Zqhu2+Tg4zJVAuHtH58e7tnOyiH0dE0gIAVLCu60i+75M6qJbPo6jwOPtjz5RsUSzBWBmXaz+iZJL9QkHG8e2X;20:V2WGASwOZz02Xs8IaLvgcayPASxypuo6vzIuztHeRUnk1ygHrn/DLXHp4uZba+7flfiXxC6TcnDVgDRMB5HH3o2V3MCxh6AcJf/yDjPvPQY+WmfGcIqA2UMacsWrG1a6qnsZ43XjIFGyKhtghY/8sDgoUykFwbSbN9wa0B8WKF6TJbxYelHG6VhOBrumBwlW9n86WG+D+8W40YyQXuKvWyee8wEiBFfnlrNdhfghDHrO2MT2IRcjaJTZsZdwvwNRVr4cgXn8NzwA9oPK8hS1EfWaGQrws6vjrAobOoKOKm4QWQW8oqdg7C4C9XiT3VUp30/5gT8GdhbjPRTfZtZ7NORsISABIsHmhe1Nra9z9gnLnHLhegL1bumpq4TaG0vcrrWGJ/xxjq65Tz4Yxc8ZonVLmwfGxIdSgUNHIZJyVUfynhrmbP9cbPctyDUb9cyDdaVUbxeax3soMaKWXQJaAGtHTEGJQZC1ccsBIXO5wduwo4jhcX2UwTac0DOSBBBp 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)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123558025)(20161123564025)(20161123560025)(20161123562025)(6072148);SRVR:BN6PR12MB1137;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1137; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;4:vnT+FVIxIxARKY0ipdJgws+qi/36oW++wzZ4vWeYbUTrbFBrEf2H70req5VjYDOO9SMVXIGfpEGEMiNu6ie6qvMRlsnQUxabqfGSq1za9rAqwYRXhm5aU+UuJdvAtJCx+twRd8eOgTPrjUp3APtlxofcqZ8r+lvLS3gD5BaPijFhw5xTyVD5gkWoRcRfmdHxXbx/TzcR0H4pvBJL8KmtQrB78iWvCTyVJCKW4djLFFCBI2pZrlFWsUwCH+mgb+REvzhe5E9Ai/inVY2G+dxdor+ErTBqcpA3ldHWgs34HgYEE5R25nywX1RvCEwwaviSvpJHyHNeuatS+0QZQVCoXkqJbRg6FZjdyX9poP6KcjwRN5x7Ep7Y1y/puCKmp3MIzM3alh5hDgRi19Lmxc9OLEtYjGh+xAreq9Ll0F0YB6kxN+CBtKE1kkWsuvVlZZQJU3ySsR/hkZJuNaHm39Fwc0X4e/gqtmZ9uB50A7nOM7ao7luG8daG1zO5Ocj7O1mzLnfiBz2Tg1vJGZXQz+MxV0f06AClvn6d1DjqsnPo/x8INRNMQTkQRqpTguX4HZoY252T/+iEAThKEdLxZAozfWfPHqQJAS8gkLG0KJNU5i5Wmfkl0v7g5eRlo907Q5T22W3G3wGG5sAIsVxXwClAtgdcVyXfTaAk1VTwVppSIVk= X-Forefront-PRVS: 0220D4B98D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(39860400002)(39840400002)(39850400002)(39410400002)(199003)(189002)(5660300001)(4326007)(2906002)(38730400002)(69596002)(6116002)(7416002)(389900003)(1076002)(9686003)(3846002)(68736007)(4001350100001)(76176999)(6506006)(50986999)(97736004)(54356999)(6666003)(106356001)(81166006)(54906002)(33646002)(81156014)(8676002)(103116003)(92566002)(53936002)(105586002)(2201001)(50466002)(42186005)(55016002)(86362001)(7736002)(2950100002)(101416001)(83506001)(47776003)(23676002)(97746001)(189998001)(66066001)(305945005)(230700001)(53416004)(25786008)(71626007)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1137;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTM3OzIzOklsbGg0UXZCc29ZOEVpS1R0dWhyNHQ2blJm?= =?utf-8?B?NnpLUmlrSEdlRHp3ZE0vaTZucWllKzN2SzIwSm9wVGxZRzYvQjB6UzgwaG5j?= =?utf-8?B?UnRmWVNRR3JOVUhZcUYwTEx0Rmc5R2o3NjdneXRVRzh4TEJONnREakEwL1Bo?= =?utf-8?B?em53bDRLVVA1YU1JU0VFNDNBY0FSczR2aVgwUXY3MS9BVHdNRmpzRkxyZyth?= =?utf-8?B?ZDZkMEo0MmlYamdzRmVmM0VlNXg4UEdHU1ExbmNOaHl6YVlTM0l2OTRHTlUz?= =?utf-8?B?Wmk3QjJqdVJTUkdzNFFKa0ZvTCtaZG9pbUxnYSsxY0FreWxPSDNEMTFQMzRa?= =?utf-8?B?VnpyUTVuaW5rUFd5MjZMMFVmUlU5S2tpdFBYNzV6a3Fxd1JnajZwYjdrcExF?= =?utf-8?B?R0ZINzZpa3lEVEc5Ynd4SGlPNFF4VnBReTBYdmlEQWE0ellPL1AzRHdOdC9H?= =?utf-8?B?VVpjd0FSN1AwRER5ZzlWSlF0Vk9aNm1lSFpxeXFnUjd1eTB6ckxLandJWjB4?= =?utf-8?B?LzlQY1JKbFdDN1gzdTNiNm1jVFVVSURQWjFRaCsycEx4d1dRNm42dCt5T2NR?= =?utf-8?B?eDdMaE1XeDBvdTVtU3lHSG1aSHhEdC9ybGNhc1hEYVJOem80K0tDdjBqcDNl?= =?utf-8?B?REdHbzBwK2VUOVp3UURjbGRhWDMzUHlQSllTOGw4eGtqZDhZMFM1WGJrUkI0?= =?utf-8?B?VHhpalRnZmI1Q2cxd2V4UHkzY1JvcUZBMDlTUmwzUkRtQUM5NU1NZ0tjSnYw?= =?utf-8?B?RDZSK2ZTd2FIeXBnTDFOVGxsenFCaHZiU1ZPbXdGMWRabGU3RDRWc1F3SWNv?= =?utf-8?B?UUFsNi9KTXlzVWkxMi92aGpqNG02a0Y0dW11L0Y4QnR6c3ZPZkJ6TUh1dmJR?= =?utf-8?B?Z1VHKzFCNm9sVHNWN3lnWnhXK3c4REs5S1A2Y0s5ZExRZEZEZ254S2VOaE9K?= =?utf-8?B?enNuaU1TUzlmOStCSzF6OXVLT1Y1VUpFekszcFlXWm1NMmxWelB5aHlUQWw4?= =?utf-8?B?OVozL1FrVk5Ub3h4cmtMb093WjlMUVo1Q2dVRGY3SjR6bFVRWDNiVWQzKzMy?= =?utf-8?B?ZThCbUpPVzBlalVXeWM5ZE1qNFRmcUJsbHlFcFVlRWFMOGZIVzNIVysrajhM?= =?utf-8?B?WTVPUm4vNmZaNUFJenB0U2hjUjM0K2Z6WkFia0ZUY3F4T2VYNElHc3JjZ1Rq?= =?utf-8?B?VFZGcUlVclBUMytQN2hrNWNoOVFpcHNUU045d2RFQ295TEpvQkdKbEJWcTVI?= =?utf-8?B?c041WjBWaC9hWmd4Y09QMGR0RHVnQVYxb0cxSnZjelJLL0toTWtDbkt3YUlY?= =?utf-8?B?R2JNbGszSzNYSDZsVnI0ZXlhYU80NlZ4a08zUmNGbXVDdDVGM3NMS0N6ZUNH?= =?utf-8?B?Nnp3R3hjOVRwdW1DelRjdE1hUnVsTWtDd2xWcytadlBhbXgxSXZqTTFUaDVq?= =?utf-8?B?eTlVNXEza05IRS82RUdqZVllc09NZkI3enUwcmQrNVBSa3IybklVRnhsanZM?= =?utf-8?B?Y3VObFF0RjVodEJYZ1h0clduNW0wRzZkaUh0ZDhKb1A2L0RKVlpkR0Uwa3V4?= =?utf-8?B?VGdOcnh2S2Y1UTVscjJwRzVRWWlyc1hMQkNTc09hbW5FUTRkd0p2RmhMeVph?= =?utf-8?B?YUIzdVgzUVdVYlFUSkhadnFXTVNTZHBXcUd4Yk8xZ0J1M0ZiQVNaN0Fyc0Vi?= =?utf-8?B?YVJHMUt6Y0JiQ0tHMVZ4SnhmaUgrVEliNlowc2pHOHBBTjUzN21BTkJ3TmU3?= =?utf-8?B?Vk5lWGVONGsvaU8xM00rVUVQR0tuejBMM3pEZlAzM290VEQzdjUyVHRJNm14?= =?utf-8?B?T2hLaXVTMDIwdFVHY1d2RERkTHlxTTJyWlRtRmJGKzQ5VnJoam11Um8rMDUw?= =?utf-8?B?YmlRSExRM2JoUnFzVjNoTms3bUNBMlh6L2J0ODcyaExRaVEwaFpwZVl2OHh2?= =?utf-8?B?NHRoc09wWmN3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;6:vPYC/gkKUOoeT8rHsYI44fnTBYu7F8tBLsUcSNo2zsHpXkewt96HHouhX5O5mgYCCVI3Jzubap18hOhBwzjJCZP5vM4t63H75SZChpUPqY5rNZhi6BJFICCkLtmVntiZCpxGqjRfPWGq3mLvCup8s9BleNxvk+5AN5z40AsX1bt88K0cAPkahLhE3Kp1TGzWdsx2uLnEGRQz8A2U5bwAtzS2bo7rMHt235k/U2tDi3s2F8G46QOTZZ6fv8+EzP9AsVFq4/2Fqufn1r4QEpS4ta8om687wBIiQ3TmOPr7aE6IjwOH78bo7pWTwALvUggRcuB3IXNZ2qlp7/dNsIo52VzTSRaGuRXF07ye19vc34Ckt1AowpZIPyfI/Yy5R+9yr3Xq7mhpVj5Xh+jzSreFLV8n5Qwb2efeJe+CvUbvJGw=;5:+J2/4C+nDvmwj33+g8EObpoQpFaU690lVG71MBSo5+fPRtmf/PXYWcmVF1mgrEEDWN3rF3oFcX+i1/SDDCXJqwcHZF7EukyXDeUruFbgNZybof5gizr78WA8yPrrr9MvP2sT8OFM6lRSNAsEQzEL6g==;24:MPqj3/cpT1RtOQchmkhT3oJwNBJS31thGEhJxG7kc/4Dq8f35BFgHUNbQBNu3uJs5/vZZNyTeIHC6SK9rKaYMyeL2h3J3UCBDwHFYfXfe7Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;7:uT0K8vvg8XFnMqguOFL9Dhz7Nr4AH0wHA0z2pCAkBK6bR4y9H+GezDNH6AMXfaJDhhEXn/zwBpU454S7Vr+svt3YUIeVYZc5kXk0bdEuEfd4ucAXotwc0PSrL7M1sMMlNg47SYXjrpRaDC6PwY/sWRC0JZ3QdEw0I4l9nj3WHAf0buwpe1QT586/GtwuVE/yIJpGAGCBL1TNkO3onxfRZt+ew/sY1nQoBDjR2aOe58H3SCz6sfugqtPW1oyXjaN4CFmH5MQZawz035cj3pvNTBVW+p096wTv5dtGVoRaawUFHHjxBeWNjspWZPc7gJsSCDselnajJBLgeC7442SQpQ==;20:HMrZmNWW7LRd2lqV5jDaoFtwfiIbSnMwMaHaOQRuNmjM5ksOlUJTSH85h23/64ImZ7WaxZCuCNVWRSu8aZBKt/4BoFk0JWP1M9K6vcikCoPD+vU7iXxdaikC10WIsBQPFFhLBQF1xB07b1O49+Jl8ja/MZ/8OA0SSgkc0Zt6Gpn+xgQyu0lGuqJcI3qtGfnMMvP1yWiW8HX7ith2x8vBsRHyeg6R54Ly0LCnRqHRVEkxrewsUSJmjKDhEJyPTsLm X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2017 15:42:57.1405 (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 When System Memory Encryption (SME) is enabled, the physical address space is reduced. Adjust the x86_phys_bits value to reflect this reduction. Signed-off-by: Tom Lendacky --- arch/x86/kernel/cpu/common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index b33bc06..358208d7 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -771,11 +771,15 @@ void get_cpu_cap(struct cpuinfo_x86 *c) u64 msr; /* - * For SME, BIOS support is required. If BIOS has not - * enabled SME don't advertise the feature. + * For SME, BIOS support is required. If BIOS has + * enabled SME adjust x86_phys_bits by the SME + * physical address space reduction value. If BIOS + * has not enabled SME don't advertise the feature. */ rdmsrl(MSR_K8_SYSCFG, msr); - if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) + c->x86_phys_bits -= (ebx >> 6) & 0x3f; + else eax &= ~0x01; } From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Lendacky Subject: [RFC PATCH v4 04/28] x86: Handle reduction in physical address size with SME Date: Thu, 16 Feb 2017 09:42:54 -0600 Message-ID: <20170216154253.19244.70114.stgit@tlendack-t1.amdoffice.net> References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> Sender: owner-linux-mm@kvack.org To: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org Cc: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , 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" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov List-Id: linux-efi@vger.kernel.org When System Memory Encryption (SME) is enabled, the physical address space is reduced. Adjust the x86_phys_bits value to reflect this reduction. Signed-off-by: Tom Lendacky --- arch/x86/kernel/cpu/common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index b33bc06..358208d7 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -771,11 +771,15 @@ void get_cpu_cap(struct cpuinfo_x86 *c) u64 msr; /* - * For SME, BIOS support is required. If BIOS has not - * enabled SME don't advertise the feature. + * For SME, BIOS support is required. If BIOS has + * enabled SME adjust x86_phys_bits by the SME + * physical address space reduction value. If BIOS + * has not enabled SME don't advertise the feature. */ rdmsrl(MSR_K8_SYSCFG, msr); - if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) + c->x86_phys_bits -= (ebx >> 6) & 0x3f; + else eax &= ~0x01; } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sn1nam01on0061.outbound.protection.outlook.com ([104.47.32.61]:10896 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932338AbdBPPnE (ORCPT ); Thu, 16 Feb 2017 10:43:04 -0500 From: Tom Lendacky Subject: [RFC PATCH v4 04/28] x86: Handle reduction in physical address size with SME Date: Thu, 16 Feb 2017 09:42:54 -0600 Message-ID: <20170216154253.19244.70114.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org Cc: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , 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" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov Message-ID: <20170216154254.OalY-fPSgQ5Dsyc52UG5gxsYDF2zMvH2eapZH4ANh34@z> When System Memory Encryption (SME) is enabled, the physical address space is reduced. Adjust the x86_phys_bits value to reflect this reduction. Signed-off-by: Tom Lendacky --- arch/x86/kernel/cpu/common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index b33bc06..358208d7 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -771,11 +771,15 @@ void get_cpu_cap(struct cpuinfo_x86 *c) u64 msr; /* - * For SME, BIOS support is required. If BIOS has not - * enabled SME don't advertise the feature. + * For SME, BIOS support is required. If BIOS has + * enabled SME adjust x86_phys_bits by the SME + * physical address space reduction value. If BIOS + * has not enabled SME don't advertise the feature. */ rdmsrl(MSR_K8_SYSCFG, msr); - if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) + c->x86_phys_bits -= (ebx >> 6) & 0x3f; + else eax &= ~0x01; } From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Lendacky Subject: [RFC PATCH v4 04/28] x86: Handle reduction in physical address size with SME Date: Thu, 16 Feb 2017 09:42:54 -0600 Message-ID: <20170216154253.19244.70114.stgit@tlendack-t1.amdoffice.net> References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , 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" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov To: , , , , , , , , Return-path: In-Reply-To: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> Sender: owner-linux-mm@kvack.org List-Id: kvm.vger.kernel.org When System Memory Encryption (SME) is enabled, the physical address space is reduced. Adjust the x86_phys_bits value to reflect this reduction. Signed-off-by: Tom Lendacky --- arch/x86/kernel/cpu/common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index b33bc06..358208d7 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -771,11 +771,15 @@ void get_cpu_cap(struct cpuinfo_x86 *c) u64 msr; /* - * For SME, BIOS support is required. If BIOS has not - * enabled SME don't advertise the feature. + * For SME, BIOS support is required. If BIOS has + * enabled SME adjust x86_phys_bits by the SME + * physical address space reduction value. If BIOS + * has not enabled SME don't advertise the feature. */ rdmsrl(MSR_K8_SYSCFG, msr); - if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) + c->x86_phys_bits -= (ebx >> 6) & 0x3f; + else eax &= ~0x01; } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org