From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757525AbdDRVPa (ORCPT ); Tue, 18 Apr 2017 17:15:30 -0400 Received: from mail-bl2nam02on0054.outbound.protection.outlook.com ([104.47.38.54]:40750 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751678AbdDRVPP (ORCPT ); Tue, 18 Apr 2017 17:15:15 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; From: Tom Lendacky Subject: [PATCH v5 05/32] x86/CPU/AMD: Handle SME reduction in physical address size 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 , Larry Woodman , Brijesh Singh , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov Date: Tue, 18 Apr 2017 16:14:51 -0500 Message-ID: <20170418211450.9689.86636.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170418211400.9689.10175.stgit@tlendack-t1.amdoffice.net> References: <20170418211400.9689.10175.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: MWHPR17CA0055.namprd17.prod.outlook.com (10.173.106.145) To BN6PR12MB1137.namprd12.prod.outlook.com (10.168.226.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 992a4047-ede0-42a6-c64d-08d4869ff8c2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:BN6PR12MB1137; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;3:eTjUmkooi5uCtwoMNJBYIrYypG/QfV6ObI5mTY4vYLv3ntfiZXg4D39fS8GTHdwPPBHW+jtGOYQz+P8wQN2P1xwzN1vwnnJcFLq4Vd0JxxF2OvdWf69BYUrVQwCDfnn0avwIoj2PSXjfNjQZ4c+uPc2OYZMQ80WSxtGjpIkHS8tXRBw29zRLdrKnivyAJJZrDKGnp0qmX/UBrhA120/60CE3Z3yBmC42X92j6iowQRJtW5W/u3FrtSU1xM5HsNOT0JFTtAvcXFKfJjmp0YlX7x15mtOdbSKM1egO3S65oCP4CWXGQghf3RS629eFkTgFp8BeBZGcdb6Ofql4y6DThgMGkd3vLL6RIYq0MbfDF2c=;25:ek+aU9mkQYIEspmJsxCZwCHYkc6Vl6+6lc9gLB3Ujf90qaA8inbxCEcyAwzy1Vx0flC9BV0pnUUCaqs5SOYCRn4PD0aJzJtRJ+1/UrjAgzYDRAnVf/8ZNOci/JN61c6aBgbouvXmM0Elm20rljIJC8sXhR43Df/t/npp6uljQayZtK+MpjCKp9pNvlH/bt+ywdk6k8pPv3qup8IQCaEEbdiaab9E+6tYqvj0mn824kD321hdv7I2BqeNLPuCWb6pjdEa6pUjIXF03ITizg+aFZl5zcjDYVjY5GKb2kAC+NcsLmtm9p/XoQUcwgjWemGieDPTwe+NvJkmRKhFG+zpJXysS/ZYoG7DJZvJ6259guhA+RhMBzkwnQeUaPucbN15uRPbkOfXmh1VngE4+2XAI4eTlaJSNBJ7+vAWF2GIISWTW14MIhzAqaTUkpci9ACjTAYe6+mZUkvVWU7Q1/e0ag== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;31:xcqLG14igOV2HZ7f/B+1E8PgpzDtqZHk2TPDuonGdLcvI+pklVQNiGa6Ptiws3GITt+T5XTF9TiamQZ8VyIi07RoNjXm0S9FMvK5irUV4RlonFID3XSUmuOl4eJ9BA85N3Cak4ThLTqnc4Gd5fm7Dixd4dZfOVjuy/bnyN56hldo4fCew1wzewWhzfO1hJoY6Vm4q6355P4LGBUrx7azqZV6onfjG9icwzX/GriZm0E=;20:ZM+NGqO/88Kg92SjdArcFDu7VpZ9Cs9a994APCA6jYNqVbjfr1oA+BwyDAtoa9rXknY3V3zChXcHw6/OQUPTieFsHbrEaXkrFRS+1qhOW8Nke/8ezGwUONmjtMLl45vtNYBcaOyHlk5Jz6p41Kc7uaDc4iqSliPEzd07tOa6Cmh0br37qahNAhqjHqS5vmcYt3A+kozxIXsRAO6/nH8+Z+si3i8cAz/DqC6qmsAsbXvgfrIy/kc0ql8JsPYMck+xGXe/KSNC5I2TgKDxaUa5h+Ldxo4u0oqihy1MdkWNo4sryvC0+glXc/uZZ2RfySe6arTKdyCa2KUWsZHU5agbm2ZRAFBnSA6QxlOYDlPgncF+qrCGSRqz9eXKSY+nFJlNmKl5s8IVZ01DuGLfXQGaK+2kwqXDvqkO6e58qn/to90H4qFEcKIHKoSwpZUI5qlx7eq7tNEzcPGt80C9WRU1gKo2DeCLxqU9Y4eYmnJAd3Aiay8+UGbGQpgcy4UaVku9 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123555025)(20161123564025)(6072148);SRVR:BN6PR12MB1137;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1137; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;4:u68zoOh4Lp5OHpkmeGrUI3avzR6X2DUey/++BVsnG3wSYgkYg49V+zEYUCD2s1f77vZvbSejRkXIUsouRxFVc/27G6PyzYlBK1v6G3LXGLJLrHuYkTb18ZxTaYKO8dRC5eiuk4+8LYdfioIkt59KkuD4jElWKG8JycFlK5I0enPw4EgqNSUCenBg2729QUOF5gMpMscP1a+vj/wpsbC4VyH/J55oM8+AnLB2kGzy/8I2P3wT4TfGdiXeQEDf9k9RWVaW8eFhxBhaYpBfcnnJ/UHCmjuzRO8i/Ney/E6/r+httn+ONDlW4IldhUk9T6RTi3yZm+KGIqK7sdJ8N3cdou1JfewoWwqysUX4pafp7owYcuGO0ZmwCML7GbASrLEMRV5tDPTPkTmPIetXK0Glxv6dBGMDPR3cOX+tDdgEvAgFPC93sMkPm4nm0NDheLTXqNyinMoPlBdUcQq3MEwpxaS7ghU8aUtCfBbQ/rou6QwCN/QCPG2km8zGTKji0XG4tgb1z7CK7Ljdj6eE7mggv77+URhVPDJ493HqERoTDxQKyR508X3EUw4nhDT/9wYVyFIBSx1gl4+QUFCJJE/5u9FGOPn2HeLuOPrGMhfLZ9k7IaQXo0JxhtdsRzN4R8EDoMTONXIy2aIRQfeUXQmhktfahwzgMZpK4QClDn4LxTeXm3UffFI1ic+lEeQu2qwyGovAIHhjewG4cfUoZ88rX5XwXN5UnBx4NLLYOm0Kq5VHw0oMT5aEDM6Rmk/NBNNxkJahrwMmHqXmWxfkaZbCag== X-Forefront-PRVS: 028166BF91 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39840400002)(39850400002)(39400400002)(39410400002)(39860400002)(39450400003)(7736002)(7406005)(2201001)(6506006)(7416002)(23676002)(53936002)(86362001)(54906002)(5660300001)(9686003)(83506001)(305945005)(81166006)(8676002)(55016002)(42186005)(2950100002)(53416004)(230700001)(50986999)(6666003)(1076002)(76176999)(103116003)(6116002)(33646002)(97746001)(3846002)(25786009)(47776003)(4001350100001)(50466002)(38730400002)(66066001)(54356999)(2906002)(189998001)(4326008)(921003)(71626007)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1137;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTM3OzIzOjRiQ0lmam0yM2xYQ0QwOTE3U21ZbXpNQit4?= =?utf-8?B?b0hka3VqWVRpR254YzZaV3pWdlR3TnV6bjRpbW5tcjFiTDRzckt3RGZmRDht?= =?utf-8?B?R2pRMEFaRmFhWGhTKzZIQko0dTd6Q0JFYU9YRTNuanlaVEZzYlhUUmtJUnMw?= =?utf-8?B?ZXlRVS9maXVCc2x3ZmE3MnUwTFM4bmdaM0J5L3lQSHQ1ME5UelJpT2RUd0xn?= =?utf-8?B?NkpUaExHYUhJK3dHYTFxRXFCSkpKWW5hU005TVlWVC9kZHFPTStBNE82NE9o?= =?utf-8?B?Z2Q3TGlBWmUxbkFmUHZXN0lVWXU5VWRnMzNxKzhqbGFRTTRNY1M0TkpNbVJ5?= =?utf-8?B?VkVwSlBPcnpWTVUwRTlOQnJpT01tc2plL0NWdHZ3YWJGRmdjaDFUcm9WMytD?= =?utf-8?B?RFNkV2lMdVZMaFBISE85VTRTZTZ6YjJCd3VnR0prZnZVZU9mYUZYb2NGdktR?= =?utf-8?B?Sk9wMC9UbWUrelMwcGxQeE9PTVZtenpuODF1dFU2SUpWZGw3MFhXWk44Q3Mx?= =?utf-8?B?WVRnZ09sL0JFbmhuZ2ZjRnJMVDRxSmlJN0lWaUJEMGxma2l1VjdFSjNkaGt5?= =?utf-8?B?RURYRUpsT212N3JmZ2VEbEpvWnFQMDZjUEhoaDBJT0g5UXNVMXMwOHhQL3Zh?= =?utf-8?B?VERHbE1WcmxCalM0aVI4U3ZTdU54OWNGdmUxdWk1cXdTMTNvMnlQblpSUmhT?= =?utf-8?B?RzBLb3JjbndpY3R6NHVadlNnSWRJeFVJaGFFbUx2MWs5ajc3S2RhV0JqV2tF?= =?utf-8?B?dW9TQ3FvOWhXRGRPNUI2aGlkeVQ4OWh5S0krNmQ0N0dEeFN6UXZKQTIxMTVL?= =?utf-8?B?VFdWT0VmSXNTODFxOVlKb1pVb3pBSTBUWDd4dVZ1OWU3UkpFT1F0V2Z0bFBK?= =?utf-8?B?cHlsWU42SzVxTGlDbEtqSXJtekhIaTlRRjJ5RlNWM1JkNXB4dTM3ak14OE5C?= =?utf-8?B?REdFY3BZbHIraDl6aUhKazZDc2liSk9zMDFIUzlnS2ExTjVzcFNaN21tZ0RV?= =?utf-8?B?azJDdFdSNDVLdjNrRlJhNVN3MmRDUVdwMlhQc3IvTnFJNjdnUS9BZElSS0Rm?= =?utf-8?B?STZ4N1JkYVU4VHM5SEV0TFRDN1BKM1pKa3RrY0JhcWd3QWlxSWV4VGUybEkr?= =?utf-8?B?Mm9XdU9JUHZkWTNZQmEvbUlza2VNcjNHQURLcUwyc05uanNVeVZoaUQ4V2Vj?= =?utf-8?B?M3NZL0FDWVRMTklaaTMwQXFpZ3JPZ3lzcWdtZUIxN2NUOVlvTE5oUFJLdjU0?= =?utf-8?B?WnhuSjRWcS9sRHdoWkVveEZSY1dKbC95UHdmRzRaV1hHcFlYc0xtOXhHYS9s?= =?utf-8?B?Ym1zcVRmMkFXVFpCWE9zRTYzOE52RGNaVDUxY2dpbkc3cUduTlhhNSt5cW9o?= =?utf-8?B?eXdqRHFJUS92T2I2KzNnM2FSSGNIVXoySk10SzRTTzQzK2hVeVlFR0JHY2ZW?= =?utf-8?B?Z2VpNHE3dDQ0b1V1UWFsZnkyVlVIaDYyWFhGMXNwZG1yUG9CdEtyVkhicnQw?= =?utf-8?B?eEVLd3dwdEMzVWpaM1QxbTN5UnlRS2gzc3NZdmlid2xYTkgvVngraVBHSmdi?= =?utf-8?B?TmVRQ3NLZzVOZ011ZVh5MmJ0eHhBOGU2amo0bXdrcXdYNTZ3ekFCNXhLUTJY?= =?utf-8?B?ZVdrVk9LbWhMZ00xaDBlbXZLNmVlSUJjQzNYWE1EVFd4VmRodnEyM3h3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;6:mP82ow0zHyn1tmE6U6Qx3AQTFBEUtidqzNkWBlB0Z19SpbNnJ3n77+n7e95u+FLCfYlFETee8PH8VCRyB0BdRVCWiM200KktKgjBb/c3qZdgY+KJglA6mC5ohEznadv00vZFROFEm958RJvniWTcEP+nr1TRODz1YTCcSBNPb3WOI3eGpN8XxBBWH+Nj6eOE3kkM9H8HSjJwmVGYCDnHLFzHQrn+Vwk+i5nz52EyZXMPorPLWnUVKdcqVOiqf+hum8FvDiABsSPYYKKwglk5hTcCXrpDza+9tMgcic2aIbDQ+LR6lFNNN57ylKug4R7T7mE4nDHQLStqzNNKV8sLQz6Uu6h5F3yWDFSiyN4sveKxWBOt6EVIC0vzvokIgMR6LtIBGaNeVnyFJNr3rnq2zYybrxqacz6W5EX5+NKsmlkrcsEbath3vsVPlu+XKHU6w40maOnur46xb23Lmz4R3CC0sOEKdQUIamj+OeVy3mE=;5:McLP+oRDTyQC4fzBG+lXEf686LmPOHCr/lzS2HEZhse4LPW0Is3HPml7YymnPoLOy59lP/D+OXkoyEKJMq9qWVg/A1xottR22MT4qkjG+1wNhv5m7SGIP3AG7Yduy/0TmvK1R01DcMlDzEKaR08AJg==;24:7PhMLMmU4peVjZesqwnTF0hkk0G342nZO1kSNC2Bk7MJHy33D9dGuRRRu8rp8RpEq6TFaIxTx3DjR1Ro4m4bVP0H8MOUKRPLUP1o5HrHuok= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1137;7:KdTYpjTlOJfaxcKVWtVfM646TRjzuH4fHv4+H3MvB740ueTrAMrdwG+b8CpX+frdg3zj1RA6qXFuQmX3B2T/O+45Ob8/9oWfKxNkvHEV25Q3/tKr/fnWIHT9UZWbzzymn7a+kbb3mWp7x5q6EJSI/M0I47MTc2FcAQyAQKuAyL1tvBQ/EP4S/TqI+csDBZxEnAw+8cDI4BElL1j6iPM+YyPLJqKTIGgbDM2YQkhb6LY8GhKajBri6nXZ+vCvWzOQ06s3QL0n5XegRAD/+f2TTggGKu6T14KfXRuKq1FVn3AmoXHts8kb5Cs6exo9VZY+sN8rTaiO2BTb6jdlHK2lUw==;20:h7Sgd747o6GKldv0vWJclOT46xlNZ5nggYxquzvMA3h3cpJjFFotgjRQ765a1dBWgXUcVtSVg1dNUtzlX1kbbyHmZxabtfTq6wQj2v5JPoYFEXstFyfeN9QyGMlpmkiI97DZ3g3r+FaA9ceJE+mM5N7Te+EMaNZtIc25hVJJKp8brG2Ijr8WzltFfOxM4Hc/MUEm0v81lTvje62tojBnqOA43PmfukrmvBzpz1JWEvlBbxA/21bzUfCDk2eOGNCV X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2017 21:14:55.4092 (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/amd.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 5fc5232..35eeeb1 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -613,8 +613,10 @@ static void early_init_amd(struct cpuinfo_x86 *c) set_cpu_bug(c, X86_BUG_AMD_E400); /* - * BIOS support is required for SME. If BIOS has not enabled SME - * then don't advertise the feature (set in scattered.c) + * BIOS support is required for SME. If BIOS has enabld SME then + * adjust x86_phys_bits by the SME physical address space reduction + * value. If BIOS has not enabled SME then don't advertise the + * feature (set in scattered.c). */ if (c->extended_cpuid_level >= 0x8000001f) { if (cpu_has(c, X86_FEATURE_SME)) { @@ -622,8 +624,14 @@ static void early_init_amd(struct cpuinfo_x86 *c) /* Check if SME is enabled */ rdmsrl(MSR_K8_SYSCFG, msr); - if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) { + unsigned int ebx; + + ebx = cpuid_ebx(0x8000001f); + c->x86_phys_bits -= (ebx >> 6) & 0x3f; + } else { clear_cpu_cap(c, X86_FEATURE_SME); + } } } }