[PATCH 3.16 09/76] x86/cpu: Merge bugs.c and bugs_64.c

2018-03-11 Thread Ben Hutchings
3.16.56-rc1 review patch.  If anyone has any objections, please let me know.

--

From: Borislav Petkov 

commit 62a67e123e058a67db58bc6a14354dd037bafd0a upstream.

Should be easier when following boot paths. It probably is a left over
from the x86 unification eons ago.

No functionality change.

Signed-off-by: Borislav Petkov 
Cc: Andy Lutomirski 
Cc: Borislav Petkov 
Cc: Brian Gerst 
Cc: Denys Vlasenko 
Cc: H. Peter Anvin 
Cc: Josh Poimboeuf 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Cc: Thomas Gleixner 
Link: http://lkml.kernel.org/r/20161024173844.23038-3...@alien8.de
Signed-off-by: Ingo Molnar 
[bwh: Backported to 3.16:
 - Add #ifdef around check_fpu(), which is not used on x86_64
 - Adjust context]
Signed-off-by: Ben Hutchings 
---
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
@@ -16,9 +16,7 @@ obj-y := intel_cacheinfo.o scattered.o
 obj-y  += proc.o capflags.o powerflags.o common.o
 obj-y  += rdrand.o
 obj-y  += match.o
-
-obj-$(CONFIG_X86_32)   += bugs.o
-obj-$(CONFIG_X86_64)   += bugs_64.o
+obj-y  += bugs.o
 
 obj-$(CONFIG_CPU_SUP_INTEL)+= intel.o
 obj-$(CONFIG_CPU_SUP_AMD)  += amd.o
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -16,6 +16,10 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+
+#ifdef CONFIG_X86_32
 
 static double __initdata x = 4195835.0;
 static double __initdata y = 3145727.0;
@@ -63,6 +67,8 @@ static void __init check_fpu(void)
}
 }
 
+#endif /* CONFIG_X86_32 */
+
 void __init check_bugs(void)
 {
 #ifdef CONFIG_X86_32
@@ -74,11 +80,13 @@ void __init check_bugs(void)
 #endif
 
identify_boot_cpu();
-#ifndef CONFIG_SMP
-   pr_info("CPU: ");
-   print_cpu_info(_cpu_data);
-#endif
 
+   if (!IS_ENABLED(CONFIG_SMP)) {
+   pr_info("CPU: ");
+   print_cpu_info(_cpu_data);
+   }
+
+#ifdef CONFIG_X86_32
/*
 * Check whether we are able to run this kernel safely on SMP.
 *
@@ -99,4 +107,18 @@ void __init check_bugs(void)
 */
if (cpu_has_fpu)
check_fpu();
+#else /* CONFIG_X86_64 */
+   alternative_instructions();
+
+   /*
+* Make sure the first 2MB area is not mapped by huge pages
+* There are typically fixed size MTRRs in there and overlapping
+* MTRRs into large pages causes slow downs.
+*
+* Right now we don't do that with gbpages because there seems
+* very little benefit for that case.
+*/
+   if (!direct_gbpages)
+   set_memory_4k((unsigned long)__va(0), 1);
+#endif
 }
--- a/arch/x86/kernel/cpu/bugs_64.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Copyright (C) 1994  Linus Torvalds
- *  Copyright (C) 2000  SuSE
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-void __init check_bugs(void)
-{
-   identify_boot_cpu();
-#if !defined(CONFIG_SMP)
-   printk(KERN_INFO "CPU: ");
-   print_cpu_info(_cpu_data);
-#endif
-   alternative_instructions();
-
-   /*
-* Make sure the first 2MB area is not mapped by huge pages
-* There are typically fixed size MTRRs in there and overlapping
-* MTRRs into large pages causes slow downs.
-*
-* Right now we don't do that with gbpages because there seems
-* very little benefit for that case.
-*/
-   if (!direct_gbpages)
-   set_memory_4k((unsigned long)__va(0), 1);
-}



[PATCH 3.16 09/76] x86/cpu: Merge bugs.c and bugs_64.c

2018-03-11 Thread Ben Hutchings
3.16.56-rc1 review patch.  If anyone has any objections, please let me know.

--

From: Borislav Petkov 

commit 62a67e123e058a67db58bc6a14354dd037bafd0a upstream.

Should be easier when following boot paths. It probably is a left over
from the x86 unification eons ago.

No functionality change.

Signed-off-by: Borislav Petkov 
Cc: Andy Lutomirski 
Cc: Borislav Petkov 
Cc: Brian Gerst 
Cc: Denys Vlasenko 
Cc: H. Peter Anvin 
Cc: Josh Poimboeuf 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Cc: Thomas Gleixner 
Link: http://lkml.kernel.org/r/20161024173844.23038-3...@alien8.de
Signed-off-by: Ingo Molnar 
[bwh: Backported to 3.16:
 - Add #ifdef around check_fpu(), which is not used on x86_64
 - Adjust context]
Signed-off-by: Ben Hutchings 
---
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
@@ -16,9 +16,7 @@ obj-y := intel_cacheinfo.o scattered.o
 obj-y  += proc.o capflags.o powerflags.o common.o
 obj-y  += rdrand.o
 obj-y  += match.o
-
-obj-$(CONFIG_X86_32)   += bugs.o
-obj-$(CONFIG_X86_64)   += bugs_64.o
+obj-y  += bugs.o
 
 obj-$(CONFIG_CPU_SUP_INTEL)+= intel.o
 obj-$(CONFIG_CPU_SUP_AMD)  += amd.o
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -16,6 +16,10 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+
+#ifdef CONFIG_X86_32
 
 static double __initdata x = 4195835.0;
 static double __initdata y = 3145727.0;
@@ -63,6 +67,8 @@ static void __init check_fpu(void)
}
 }
 
+#endif /* CONFIG_X86_32 */
+
 void __init check_bugs(void)
 {
 #ifdef CONFIG_X86_32
@@ -74,11 +80,13 @@ void __init check_bugs(void)
 #endif
 
identify_boot_cpu();
-#ifndef CONFIG_SMP
-   pr_info("CPU: ");
-   print_cpu_info(_cpu_data);
-#endif
 
+   if (!IS_ENABLED(CONFIG_SMP)) {
+   pr_info("CPU: ");
+   print_cpu_info(_cpu_data);
+   }
+
+#ifdef CONFIG_X86_32
/*
 * Check whether we are able to run this kernel safely on SMP.
 *
@@ -99,4 +107,18 @@ void __init check_bugs(void)
 */
if (cpu_has_fpu)
check_fpu();
+#else /* CONFIG_X86_64 */
+   alternative_instructions();
+
+   /*
+* Make sure the first 2MB area is not mapped by huge pages
+* There are typically fixed size MTRRs in there and overlapping
+* MTRRs into large pages causes slow downs.
+*
+* Right now we don't do that with gbpages because there seems
+* very little benefit for that case.
+*/
+   if (!direct_gbpages)
+   set_memory_4k((unsigned long)__va(0), 1);
+#endif
 }
--- a/arch/x86/kernel/cpu/bugs_64.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Copyright (C) 1994  Linus Torvalds
- *  Copyright (C) 2000  SuSE
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-void __init check_bugs(void)
-{
-   identify_boot_cpu();
-#if !defined(CONFIG_SMP)
-   printk(KERN_INFO "CPU: ");
-   print_cpu_info(_cpu_data);
-#endif
-   alternative_instructions();
-
-   /*
-* Make sure the first 2MB area is not mapped by huge pages
-* There are typically fixed size MTRRs in there and overlapping
-* MTRRs into large pages causes slow downs.
-*
-* Right now we don't do that with gbpages because there seems
-* very little benefit for that case.
-*/
-   if (!direct_gbpages)
-   set_memory_4k((unsigned long)__va(0), 1);
-}