On 05/31/2015 11:48 AM, Borislav Petkov wrote:
From: Borislav Petkov <b...@suse.de>
This way we can pass pat MSR value directly.
No functionality change.
You are breaking the Xen build with that change. pat_init_cache_modes()
is called from arch/x86/xen/enlighten.c as well.
Juergen
Signed-off-by: Borislav Petkov <b...@suse.de>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Andy Lutomirski <l...@amacapital.net>
Cc: a...@arndb.de
Cc: elli...@hp.com
Cc: h...@lst.de
Cc: h...@hmh.eng.br
Cc: H. Peter Anvin <h...@zytor.com>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: jgr...@suse.com
Cc: konrad.w...@oracle.com
Cc: linux-mm <linux...@kvack.org>
Cc: linux-nvd...@lists.01.org
Cc: Luis R. Rodriguez <mcg...@suse.com>
Cc: stefan.ba...@canonical.com
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Toshi Kani <toshi.k...@hp.com>
Cc: x86-ml <x...@kernel.org>
Cc: yi...@plexistor.com
---
arch/x86/mm/pat.c | 39 ++++++++++++++++-----------------------
1 file changed, 16 insertions(+), 23 deletions(-)
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
index 476d0780560f..4d28759f5a1a 100644
--- a/arch/x86/mm/pat.c
+++ b/arch/x86/mm/pat.c
@@ -172,32 +172,14 @@ static enum page_cache_mode pat_get_cache_mode(unsigned
pat_val, char *msg)
#undef CM
-/*
- * Update the cache mode to pgprot translation tables according to PAT
- * configuration.
- * Using lower indices is preferred, so we start with highest index.
- */
-void pat_init_cache_modes(void)
-{
- int i;
- enum page_cache_mode cache;
- char pat_msg[33];
- u64 pat;
-
- rdmsrl(MSR_IA32_CR_PAT, pat);
- pat_msg[32] = 0;
- for (i = 7; i >= 0; i--) {
- cache = pat_get_cache_mode((pat >> (i * 8)) & 7,
- pat_msg + 4 * i);
- update_cache_mode_entry(i, cache);
- }
- pr_info("x86/PAT: Configuration [0-7]: %s\n", pat_msg);
-}
-
#define PAT(x, y) ((u64)PAT_ ## y << ((x)*8))
static void pat_bsp_init(u64 pat)
{
+ enum page_cache_mode cache;
+ char pat_msg[33];
+ int i;
+
if (!cpu_has_pat) {
pat_disable("PAT not supported by CPU.");
return;
@@ -211,7 +193,18 @@ static void pat_bsp_init(u64 pat)
wrmsrl(MSR_IA32_CR_PAT, pat);
- pat_init_cache_modes();
+ pat_msg[32] = 0;
+
+ /*
+ * Update the cache mode to pgprot translation tables according to PAT
+ * configuration. Using lower indices is preferred, so we start with
+ * highest index.
+ */
+ for (i = 7; i >= 0; i--) {
+ cache = pat_get_cache_mode((pat >> (i * 8)) & 7, pat_msg + 4 *
i);
+ update_cache_mode_entry(i, cache);
+ }
+ pr_info("x86/PAT: Configuration [0-7]: %s\n", pat_msg);
}
static void pat_ap_init(u64 pat)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/