From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932465AbdBPPmn (ORCPT ); Thu, 16 Feb 2017 10:42:43 -0500 Received: from mail-dm3nam03on0080.outbound.protection.outlook.com ([104.47.41.80]:35008 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932437AbdBPPmd (ORCPT ); Thu, 16 Feb 2017 10:42:33 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; From: Tom Lendacky Subject: [RFC PATCH v4 02/28] x86: Set the write-protect cache mode for full PAT support 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:25 -0600 Message-ID: <20170216154225.19244.96438.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: CY4PR21CA0006.namprd21.prod.outlook.com (10.172.122.144) To CY4PR12MB1141.namprd12.prod.outlook.com (10.168.163.149) X-MS-Office365-Filtering-Correlation-Id: 5beefa2a-4922-41b0-2010-08d456826a41 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;3:TlIJ6ScN/lq76iU7G40aYbb2DcJj/AXJ7XHicdtyfcX8SIjmxKQDfDuuuyVGWxSmeMLHpOQal4BjwTcbqGzXed7gAg/4rr8/fgDxjWijXmd5G+8RjbXirGxJGFKqu5AJ+G2OMc7FpYFPCmQgGg7qmOu/GsTnL2ca7b3mQEkexKhmMUaUBH2oNgTHkuUh1CP3Vgb0im1qALoNUHL+qODsF3OfsZPRcggaYIpcA4D4umgpXdhE3ddmIoxPAE5STTWGJog/4zCHxgEvCNUtpfvylzt78w2U2IGLcqbwbGF8DYY=;25:UJ+UeVGN7A9M9D7yY9+NkWiwHEn/pkXGEjJR5PgOq9CSE4EQvNyw1FsQzV42Pk6ekfVdwJVMr9Y1x+ZWqt44fq0aXwy60nJeo780jV4wK1gwTjvD5MA6SImJZuoWo1NfeJvJcF0zooTXik/dUiifufVh8GQvJvtQEfRov30dPfrcrH7wTETDX8epzEAIgFN+O9xbYOFyK5LrE5R/A01OAxIIh/ik9ANVpEz/76Mz4MjykVvxqU4ZD28bAxbrPfIJI1AFmpgrbz/a1LabUt07MI3Q6C+V8RI1tdS8s0FJZRLAxKfaoYaPLFb/U5T71d+7EdrxnOESp2pLmyvKei/NzW9Al0hbk74RQi7G9V43Osg1JfIbkx+g3AyLj/vaT2OQTag9xkxBRjJEtFEvBMII4L8aQJVx6K7SDdfl7+8+6/nMMjGOJf7oL2kRQf+zIWA/0KhwP6fOt2jgMoHnYWncEg== X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;31:44TJfovrSPK0SvxQNuFbCkR+ivck1gyAf3XYMMFeBpwyHgMpnxTmhNGux2+0ZZJyJljJDQlL8xZhM47dWNA9jCeNV7FDRgRXFm4a6Oe6Y6DLv8yis8R3C4DSoz7ME6aGOlDmERPvwWSY2uJa9Q/MdvBErNzu93iRI8qejTD3Z/4lRtDV0DmO4HqkuMIVXF69aDPYF4qw4D/pdvW5XVW6WbOB4FJsc1lNwPusD+TSF4Q=;20:usirtSyfSw5ClJzlSEtLgZqjVkBMiJQftbswB1Rc0VGa55fU7D45kvPAvo3xDILn0oZw8ztwJI9BylYics4vHHNE70mN8RnNR1DPoCJsAfK8EetKCiJlOpdODoxT/ArMgwFXeTMZYJUhqie1zaXHCohiVEy6t2nsutCsPLdWvP7MShskfyKxWBwsnSgjEy7zcDBKJZqjV8iDGc3f5jczok80Si6rMQpdnD4bSRICRbzJsaKll40SY/MJAitKe2JlGUueCPrHqETtoecm9ZaTExBbK21Q722N0olcTcDz73bUdunF+Tz8huigSobZYZ+gXKfiNZZ+eiRqBh6cY+jW/dUArxBDMEorL2lcpIaqh/V3DJ8cVN8/RA3SRSidm3fSzhHF5e1MPDi2gB3sQ+D9HBQhW6ZC9kJkhciK9SNgj9YhD5Bv6U34F5SH3mshtrhAjXrMuhW+QTO5DiPvvIz9GdcS0Bjo/HA+PE/1EBR9HR8K29VKl8JZixUD6x0t8ikG 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)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123558025)(20161123562025)(20161123564025)(6072148);SRVR:CY4PR12MB1141;BCL:0;PCL:0;RULEID:;SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;4:3t2cMA8RVo0wnPj5ylOcipbTy6+mOtC8qzymOTlmKs2BkULwZDQsOYKf9XU/spA+QaNFjpea+moBmCKWi+qxWcNe2jvgyZ5+rL3SiRaMYnJpTcdT30NLYqG5/MKfepT7pQ2HHnlqkRUyqxsGltgGhkBoMhNvse+ffu/hmfpJJsX/90A5CRKeALCcj4EiTNMRSysYsCLDFfTxKqOzPb51J1a2Dxr69KCb51H7GFOC+acvnthSSxzkVc0phWgjZ0T7Afs3aNCBCvhY2RUCXcyo1LNyOwInQ/av4xFPONIbUOac8fVMmnR+y9BIvJWeSM/HafkDXdMP4nYVJ1LNy9Wur3V4rWuaoEnxyAmxNyMH3EhlyoEigDcxNnItuEB11Vx94G9Y6sGce4fXn4H7S02PDJZ+TfJF0LWcq5/Dvr5ZQek9f0YDUMQzHuRmgPDU6RvaaRqhTgq2DHmmQHtCDd0xnlkURQnIhqbMnX7OKjb3wgbUkk9xt2mdgs4R3auElf/+5yXNUHJWWVkFvyjUwBs/Zm0ZSSW9OsajLWI8myajDKKFhvkWWkL6irxRF6UHGk0MHbeAVMQwwqFAgzacBGJrpWPE6JBQwcOAJJ2qG/vRiK+YT7Ui6KJbKnLF8JfpYdIWL9vKJZvm2ceg3R9ASAwTbSQ9icyCmhNkpNF7BRLfiko= X-Forefront-PRVS: 0220D4B98D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39850400002)(39840400002)(39860400002)(39410400002)(39450400003)(189002)(199003)(1076002)(47776003)(9686003)(2906002)(66066001)(97736004)(92566002)(53936002)(25786008)(6116002)(103116003)(3846002)(54906002)(389900003)(53416004)(6506006)(23676002)(230700001)(4001350100001)(55016002)(68736007)(7416002)(83506001)(50466002)(106356001)(38730400002)(4326007)(101416001)(33646002)(6666003)(86362001)(2201001)(5660300001)(76176999)(69596002)(105586002)(189998001)(97746001)(54356999)(50986999)(81156014)(81166006)(2950100002)(42186005)(8676002)(7736002)(305945005)(71626007)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1141;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzIzOlZhbjlMZEpnOFFYdnNrNVpxVTZ2Tm81VFdR?= =?utf-8?B?WDN0T2w3OGxRa0Q0SXlSenNTY0J5U2JlMThQZEJKZWxBcFcvY3c3SUJCNVFo?= =?utf-8?B?V2VQOFVjMEdYcGZXZEI5K2ZiS1RPdjBudkpwVlQxL3dWSW81LzQ5L0RZZ1N3?= =?utf-8?B?SWljVjhEUGFsZkJFK1JGM3R4aSt2bk54T0syQlRFRnM0bWFWQmF1R2NsWU1w?= =?utf-8?B?U2g3dlJid0g2YS84bmJDS1FvT2hJaGMwT2dqb3podmlDZHdobFJQRzI4RUZk?= =?utf-8?B?dVcvWW0vQUUycU9GQXpHRkFNWFJaV1dLMVF2UHRZYkxDUURZSkNvRmJsTHMy?= =?utf-8?B?MVpscVQzTVdnUU5nVW9HRlJSKzJPZ3JBclRmVFlFSUVYOEVkYnVRQktYQi9n?= =?utf-8?B?K09nUjNZTWVISm1jcWQ0ZnY5MnA4bnlob3Z1V01ub0xzVVg2WEI4YUw1TDhi?= =?utf-8?B?QzBHTFFWMm1scDIveVpCV1NPNEUvUElzbllmekRaVjgwSmtKR0NyRi8yL1hr?= =?utf-8?B?TVFObWIwejhRNDU3TjZFZkovTTlZTEUwSk1ocjRhQzFTT09lMzNDaktXaUkr?= =?utf-8?B?b1FJbHlnNUtIeVFmS1huOE94c2xucHpUeWN6SlZ3NDVpWUg5MmdabHhPU01X?= =?utf-8?B?TWYyRDdvL2lsT0Q5bGMyTlMzVTczWWRwWUlhZEhWbUxRSFBMM1NRTmdHVTJt?= =?utf-8?B?ZzlDRjRxN1VmTEJTSkthUmNFcjFMbXBQd3VCVG5JM3BmQmY4cTRadU8wZVVE?= =?utf-8?B?UzBDNUV6WStjVlFtWENkb09UaDZHL2J6RjhybzdYQjB6ZkdXa2syQlNVZXNS?= =?utf-8?B?WWtINnlDMERDQWhiQzYyN0UvK1NQQ3BuVmtOTTZFR3liVGhzb2Zlb2lrWGpn?= =?utf-8?B?U0ZVSmwwNSs1NHpJUElKTzZLSG1xSkoxaHlyVDhVQ2RIWEFNOFFJekJOZlBp?= =?utf-8?B?RlhaRTdOZE1meHpUS0FpUmo2U0dKM2YxUWtSTFpHTVluVDlsTUdNckIwZnNU?= =?utf-8?B?OTd1eWpUTEZGU2ZmNzB3R1lzV3pwTGxXOFNSam5zQVlkaXVJSmxCTTZhMjZ2?= =?utf-8?B?NnpiaVFwS0dnbVNNYkR3Y1Vsc29od01JZjEwTFJDRUkwVzFQbmUyL3ZHSGxQ?= =?utf-8?B?NUduY0ZjS2NiTHUxVUJHajdTYks2bUdFR2x2SFlsblhQMmhBdy9OeDlVRnZW?= =?utf-8?B?d21zaGF5djRIOEdJenBYN1FtQkF6bllmOGZycXRDM2g3NFRjRjBqZ2t3TW9T?= =?utf-8?B?NjJPckZ3VmRiZVZuelhwLzAzNDdjQm4rSmMxbWRoZlNEM0dqMEptRXRoUGRs?= =?utf-8?B?OHc3Q2FHS1BERkc2YjlsdVJyZjQ0ZCtzd3VZRC9DekMvUWN3bzY4d21NNXU3?= =?utf-8?B?OUcvaFVPMDh6aDkrV0VPZFFmM0JwcnhEb2kxeUFsbzg3YStlcHRSRzg0akZt?= =?utf-8?B?bzF3bUtrQzRFbDdCVU54TUFGajFhYWsrbFgyQnhYeUlpdUhwK2lrbEwvdzFF?= =?utf-8?B?MFVHZXhrVmpVNmI1cFdDSDM0UnpWZTJNR0lBWEFQQjJ3UzJ3MjBPRFZQTVBZ?= =?utf-8?B?YWJubXVSUGQ4anhZcnB6Rm1GNiszTnNmaUF0V2Fxc0hKb3Zsb3RROWQ0WGxQ?= =?utf-8?B?U2QrS1R4RHVWbGFwdnh4UDlUdlBjMGc1Q0tzS3ZGVmhiWkpIU2NCbFQ2Y21a?= =?utf-8?B?MFZvQWt1UGMrTTJ4TmhLQ2dhOEsxS0hiTGs2ajhESk5hejZXMTdodjhJTEtt?= =?utf-8?B?eURFcndhdGRycEJQMUlBUldHK25MTXhKOFJTTkJDZWdUNVVXSVBZVGtrUEhj?= =?utf-8?B?Ui9GTUhoRGtFZUcrbWdGSmp4WFpzS1FieFp0V0lpRDU4a3hkRzFSQk1lN21O?= =?utf-8?B?Z25yVE93WEVnRWZuRGUxQ0ZUNDdNd1BvTDVwalBreURQNU1FVHh6VDZHdFIz?= =?utf-8?B?aGtBamR0L1dBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;6:+UDCAjQasForYxJMnc2LG7D8wOYM2zW3xIFN2n6Y01ly2nxCNgetMqd8oX2jV6/pNyPFRT7JKeww8QVzH0TlHh/8riIQD4YTrj1JBTPVjYySPpW5Cy1zUYNIETAxxCSRsuTGDDiOQ8RrTlsXG/YrQdOcwWpAZER39FwxHGlmRDvjHZZ8y1mNgNYRguicGfK8SjAlQh6sZ+aRNcpzFGAz/mBmY04zPstBybk/ZwDvM3QE6Q+vFnvJD5FfB+nhXqlsPvbjF3Er1GvAR+7PkFNv9kF7CpalrEltwizfN756wFlKKsTq5b0N6fJ9xBf+Vy3MrJgUe+Ay0IYZbI4OFrInz37+Z+2ao5dLyaQYfkhdmDDWKa2d9prqSR/7JLmI7ZpFTqCBspdEIj6WgytU005wO4yElsUxvB3QXBPclOjv56s=;5:JPEyeIt/oIrkzTIbjNUVL4VcuDnJaDtSgw62Su6xJfsU4Z4Q5n0h7Oi1BQPgExaAQU1O0ZONHbK/10nfYM0SKlaVQy6rkcsl88Ziohn4d9neg4djh9ZFoH6SGP2Hw5xEuGQSaHx0Isvs50to3zdwOg==;24:kJLXzR8h8F/Q1vVXYnYhPGv/aEmZMs+d43ci97zJNFI2H2FsPlFpc99DXvr9ptv0RaPYAPouT85O/2zq+A6KSN1LWeFUtdwy/Rov5KlNO2c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;7:lCRKSATnb/Xbwrd99GlyG5COl4mo5JrHj7F95A8qrE18CkYoRDnRz1NoiJl3S9f53j9oyia81Q7Z0V3FND0RT0QEcsZAYtpp+eHmPtEu5zMrK1uc8xfIZy6YAt5ZRBRscKfjdqDKN+GT7PiNg0XRJvvAwPnaDalIdILoMJLS8mlywgTUWMVA5XWaeWb15I7V6c/C2PXjj9zJJG9N2oHOJe/5i0q5p9rmEGDl6rFohmbHH6eUkrLQH/2UvzUWeDx+lym0fqaaBVvIXHIc2Q1ZdDQbIFZ7LYbOebTgPiKPeDK1WCmCS79Xv5KCiOXXhm+j63Csy6jzZAHJcUD+4R+L+g==;20:15DOZcXhvXeKTrr6Xs0aOkQin2RGAEDiJoU+Nv313MnCVpqKHy+XkriBqIhjdNVB38sDLUPnZkbb6bkS7rK9xUckSBJoh4fhJRxmKBUUoYhOtBypHecynTkIFtcmRw/NWb1ThLYmKMshTigSaOP0kAgzZDJa6bbt9A+TaMYOkKRZgTjVxoUmg1R6xS6ALXD1X4+tye3Od/h4yeCdqvNNDFguOvqbL85LmFsWvm069BXzSH1+MRuwhxZsaiUXVyPq X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2017 15:42:28.4634 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1141 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For processors that support PAT, set the write-protect cache mode (_PAGE_CACHE_MODE_WP) entry to the actual write-protect value (x05). Acked-by: Borislav Petkov Signed-off-by: Tom Lendacky --- arch/x86/mm/pat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 9b78685..6753d9c 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -295,7 +295,7 @@ static void init_cache_modes(void) * pat_init - Initialize PAT MSR and PAT table * * This function initializes PAT MSR and PAT table with an OS-defined value - * to enable additional cache attributes, WC and WT. + * to enable additional cache attributes, WC, WT and WP. * * This function must be called on all CPUs using the specific sequence of * operations defined in Intel SDM. mtrr_rendezvous_handler() provides this @@ -356,7 +356,7 @@ void pat_init(void) * 010 2 UC-: _PAGE_CACHE_MODE_UC_MINUS * 011 3 UC : _PAGE_CACHE_MODE_UC * 100 4 WB : Reserved - * 101 5 WC : Reserved + * 101 5 WP : _PAGE_CACHE_MODE_WP * 110 6 UC-: Reserved * 111 7 WT : _PAGE_CACHE_MODE_WT * @@ -364,7 +364,7 @@ void pat_init(void) * corresponding types in the presence of PAT errata. */ pat = PAT(0, WB) | PAT(1, WC) | PAT(2, UC_MINUS) | PAT(3, UC) | - PAT(4, WB) | PAT(5, WC) | PAT(6, UC_MINUS) | PAT(7, WT); + PAT(4, WB) | PAT(5, WP) | PAT(6, UC_MINUS) | PAT(7, WT); } if (!boot_cpu_done) {