/[linux-patches]/genpatches-2.6/trunk/2.6.14/1437_15.5_move-early-intel-workaround.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14/1437_15.5_move-early-intel-workaround.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (show annotations) (download) (as text)
Tue Mar 14 13:34:17 2006 UTC (14 years, 8 months ago) by johnm
File MIME type: text/x-diff
File size: 2032 byte(s)
2.6.14-11, rebase against local tree
1 From: Andi Kleen <ak@suse.de>
2 Date: Mon, 13 Feb 2006 09:34:30 +0000 (+0100)
3 Subject: [PATCH] i386: Move phys_proc_id/early intel workaround to correct function
4 X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.15.y.git;a=commitdiff;h=bcf2887b1416a506e3461c504642a1b7fad52ddc
5
6 [PATCH] i386: Move phys_proc_id/early intel workaround to correct function
7
8 early_cpu_detect only runs on the BP, but this code needs to run
9 on all CPUs. This will fix problems with the powernow-k8 driver
10 on dual core systems and general misdetection of AMD dual core.
11
12 Looks like a mismerge somewhere. Also add a warning comment.
13
14 Signed-off-by: Andi Kleen <ak@suse.de>
15 Signed-off-by: Chris Wright <chrisw@sous-sol.org>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 ---
18
19 --- a/arch/i386/kernel/cpu/common.c
20 +++ b/arch/i386/kernel/cpu/common.c
21 @@ -207,7 +207,10 @@ static int __devinit have_cpuid_p(void)
22
23 /* Do minimum CPU detection early.
24 Fields really needed: vendor, cpuid_level, family, model, mask, cache alignment.
25 - The others are not touched to avoid unwanted side effects. */
26 + The others are not touched to avoid unwanted side effects.
27 +
28 + WARNING: this function is only called on the BP. Don't add code here
29 + that is supposed to run on all CPUs. */
30 static void __init early_cpu_detect(void)
31 {
32 struct cpuinfo_x86 *c = &boot_cpu_data;
33 @@ -239,12 +242,6 @@ static void __init early_cpu_detect(void
34 if (cap0 & (1<<19))
35 c->x86_cache_alignment = ((misc >> 8) & 0xff) * 8;
36 }
37 -
38 - early_intel_workaround(c);
39 -
40 -#ifdef CONFIG_X86_HT
41 - phys_proc_id[smp_processor_id()] = (cpuid_ebx(1) >> 24) & 0xff;
42 -#endif
43 }
44
45 void __devinit generic_identify(struct cpuinfo_x86 * c)
46 @@ -292,6 +289,12 @@ void __devinit generic_identify(struct c
47 get_model_name(c); /* Default name */
48 }
49 }
50 +
51 + early_intel_workaround(c);
52 +
53 +#ifdef CONFIG_X86_HT
54 + phys_proc_id[smp_processor_id()] = (cpuid_ebx(1) >> 24) & 0xff;
55 +#endif
56 }
57
58 static void __devinit squash_the_stupid_serial_number(struct cpuinfo_x86 *c)

  ViewVC Help
Powered by ViewVC 1.1.20