From: Borislav Petkov <[email protected]>

This way we can pass pat MSR value directly.

No functionality change.

Signed-off-by: Borislav Petkov <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: H. Peter Anvin <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: linux-mm <[email protected]>
Cc: [email protected]
Cc: Luis R. Rodriguez <[email protected]>
Cc: [email protected]
Cc: Thomas Gleixner <[email protected]>
Cc: Toshi Kani <[email protected]>
Cc: x86-ml <[email protected]>
Cc: [email protected]
---
 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)
-- 
2.3.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to