[PATCH] linux-2.5.45_notsc-warning_A0

From: john stultz (johnstul@us.ibm.com)
Date: Fri Nov 01 2002 - 14:49:01 EST


Linus, all,
        This patch is a minor cleanup that removes two instances of
CONFIG_X86_TSC (lets the compiler optimize it out), and adds a warning
message should anyone pass "notsc" to a kernel compiled w/
CONFIG_X86_TSC (which ignores it).

This is basically a forward port of a patch I got into 2.4 a while back.
Please apply.

thanks
-john

diff -Nru a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c
--- a/arch/i386/kernel/cpu/common.c Fri Nov 1 11:43:09 2002
+++ b/arch/i386/kernel/cpu/common.c Fri Nov 1 11:43:09 2002
@@ -51,9 +51,16 @@
         tsc_disable = 1;
         return 1;
 }
+#else
+#define tsc_disable 0
 
-__setup("notsc", tsc_setup);
+static int __init tsc_setup(char *str)
+{
+ printk("notsc: Kernel compiled with CONFIG_X86_TSC, cannot disable TSC.\n");
+ return 1;
+}
 #endif
+__setup("notsc", tsc_setup);
 
 int __init get_model_name(struct cpuinfo_x86 *c)
 {
@@ -304,10 +311,8 @@
          */
 
         /* TSC disabled? */
-#ifndef CONFIG_X86_TSC
         if ( tsc_disable )
                 clear_bit(X86_FEATURE_TSC, c->x86_capability);
-#endif
 
         /* FXSR disabled? */
         if (disable_x86_fxsr) {
@@ -443,14 +448,12 @@
 
         if (cpu_has_vme || cpu_has_tsc || cpu_has_de)
                 clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE);
-#ifndef CONFIG_X86_TSC
         if (tsc_disable && cpu_has_tsc) {
                 printk(KERN_NOTICE "Disabling TSC...\n");
                 /**** FIX-HPA: DOES THIS REALLY BELONG HERE? ****/
                 clear_bit(X86_FEATURE_TSC, boot_cpu_data.x86_capability);
                 set_in_cr4(X86_CR4_TSD);
         }
-#endif
 
         /*
          * Initialize the per-CPU GDT with the boot GDT,

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



This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:21 EST