aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/setup.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-04-16 18:25:05 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:25:05 -0400
commitc29601e9c1e7893d1755364e350c9188bd56d69f (patch)
tree14813ddce4d8897b40cc8b3a2f76ace3ac58b36f /arch/x86_64/kernel/setup.c
parentdc37db4d8cb376bb67c6357c50d707ced3d71c39 (diff)
[PATCH] x86_64: Support constantly ticking TSCs
On Intel Noconas the TSC ticks with a constant frequency. Don't scale the factor used by udelay when cpufreq changes the frequency. This generalizes an earlier patch by Intel for this. Cc: <venkatesh.pallipadi@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/setup.c')
-rw-r--r--arch/x86_64/kernel/setup.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index a191d4831789..b06221e31952 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -855,6 +855,8 @@ static void __init init_intel(struct cpuinfo_x86 *c)
855 855
856 if (c->x86 == 15) 856 if (c->x86 == 15)
857 c->x86_cache_alignment = c->x86_clflush_size * 2; 857 c->x86_cache_alignment = c->x86_clflush_size * 2;
858 if (c->x86 >= 15)
859 set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability);
858} 860}
859 861
860void __init get_cpu_vendor(struct cpuinfo_x86 *c) 862void __init get_cpu_vendor(struct cpuinfo_x86 *c)
@@ -1055,7 +1057,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
1055 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1057 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1056 1058
1057 /* Other (Linux-defined) */ 1059 /* Other (Linux-defined) */
1058 "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr", NULL, NULL, NULL, NULL, 1060 "cxmmx", NULL, "cyrix_arr", "centaur_mcr", "k8c+",
1061 "constant_tsc", NULL, NULL,
1059 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1062 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1060 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1063 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1061 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1064 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,