Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756892AbcC2Klg (ORCPT ); Tue, 29 Mar 2016 06:41:36 -0400 Received: from terminus.zytor.com ([198.137.202.10]:47348 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751410AbcC2Kld (ORCPT ); Tue, 29 Mar 2016 06:41:33 -0400 Date: Tue, 29 Mar 2016 03:39:58 -0700 From: tip-bot for Toshi Kani Message-ID: Cc: toshi.kani@hp.com, tglx@linutronix.de, bp@alien8.de, luto@amacapital.net, bp@suse.de, hpa@zytor.com, dvlasenk@redhat.com, toshi.kani@hpe.com, mingo@kernel.org, jgross@suse.com, konrad.wilk@oracle.com, torvalds@linux-foundation.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, peterz@infradead.org, mcgrof@suse.com, brgerst@gmail.com Reply-To: konrad.wilk@oracle.com, torvalds@linux-foundation.org, jgross@suse.com, mingo@kernel.org, brgerst@gmail.com, mcgrof@suse.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, peterz@infradead.org, bp@alien8.de, toshi.kani@hp.com, tglx@linutronix.de, toshi.kani@hpe.com, dvlasenk@redhat.com, hpa@zytor.com, bp@suse.de, luto@amacapital.net In-Reply-To: <1458769323-24491-7-git-send-email-toshi.kani@hpe.com> References: <1458769323-24491-7-git-send-email-toshi.kani@hpe.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/mm] x86/xen, pat: Remove PAT table init code from Xen Git-Commit-ID: 88ba281108ed0c25c9d292b48bd3f272fcb90dd0 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3643 Lines: 106 Commit-ID: 88ba281108ed0c25c9d292b48bd3f272fcb90dd0 Gitweb: http://git.kernel.org/tip/88ba281108ed0c25c9d292b48bd3f272fcb90dd0 Author: Toshi Kani AuthorDate: Wed, 23 Mar 2016 15:42:02 -0600 Committer: Ingo Molnar CommitDate: Tue, 29 Mar 2016 12:23:27 +0200 x86/xen, pat: Remove PAT table init code from Xen Xen supports PAT without MTRRs for its guests. In order to enable WC attribute, it was necessary for xen_start_kernel() to call pat_init_cache_modes() to update PAT table before starting guest kernel. Now that the kernel initializes PAT table to the BIOS handoff state when MTRR is disabled, this Xen-specific PAT init code is no longer necessary. Delete it from xen_start_kernel(). Also change __init_cache_modes() to a static function since PAT table should not be tweaked by other modules. Signed-off-by: Toshi Kani Reviewed-by: Thomas Gleixner Acked-by: Juergen Gross Cc: Andrew Morton Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Borislav Petkov Cc: Brian Gerst Cc: Denys Vlasenko Cc: H. Peter Anvin Cc: Konrad Rzeszutek Wilk Cc: Linus Torvalds Cc: Luis R. Rodriguez Cc: Peter Zijlstra Cc: Toshi Kani Cc: elliott@hpe.com Cc: paul.gortmaker@windriver.com Cc: xen-devel@lists.xenproject.org Link: http://lkml.kernel.org/r/1458769323-24491-7-git-send-email-toshi.kani@hpe.com Signed-off-by: Ingo Molnar --- arch/x86/include/asm/pat.h | 1 - arch/x86/mm/pat.c | 2 +- arch/x86/xen/enlighten.c | 9 --------- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/x86/include/asm/pat.h b/arch/x86/include/asm/pat.h index 0ad356c..0b1ff4c 100644 --- a/arch/x86/include/asm/pat.h +++ b/arch/x86/include/asm/pat.h @@ -7,7 +7,6 @@ bool pat_enabled(void); void pat_disable(const char *reason); extern void pat_init(void); -void __init_cache_modes(u64); extern int reserve_memtype(u64 start, u64 end, enum page_cache_mode req_pcm, enum page_cache_mode *ret_pcm); diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 59ec038..c4c3ddc 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -192,7 +192,7 @@ static enum page_cache_mode pat_get_cache_mode(unsigned pat_val, char *msg) * configuration. * Using lower indices is preferred, so we start with highest index. */ -void __init_cache_modes(u64 pat) +static void __init_cache_modes(u64 pat) { enum page_cache_mode cache; char pat_msg[33]; diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index c469a7c..d8cca75 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -75,7 +75,6 @@ #include #include #include -#include #include #ifdef CONFIG_ACPI @@ -1511,7 +1510,6 @@ asmlinkage __visible void __init xen_start_kernel(void) { struct physdev_set_iopl set_iopl; unsigned long initrd_start = 0; - u64 pat; int rc; if (!xen_start_info) @@ -1618,13 +1616,6 @@ asmlinkage __visible void __init xen_start_kernel(void) xen_start_info->nr_pages); xen_reserve_special_pages(); - /* - * Modify the cache mode translation tables to match Xen's PAT - * configuration. - */ - rdmsrl(MSR_IA32_CR_PAT, pat); - __init_cache_modes(pat); - /* keep using Xen gdt for now; no urgent need to change it */ #ifdef CONFIG_X86_32