aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot_32.c
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 13:25:00 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:40:59 -0400
commit82389871b89467b4478e02d13be2f776e0138b5b (patch)
treece4129123216b84530abe2af284d654cb0bc1fc0 /arch/x86/kernel/smpboot_32.c
parentd0173aeac4f7fa90a63319b817bd207bdc0ac87e (diff)
x86: add an smp_apply_quirks to smpboot_32.c
The split of smp_store_cpu_info in a quirks-only part will ease integration with x86_64 Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot_32.c')
-rw-r--r--arch/x86/kernel/smpboot_32.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
index 8676eec2d00f..e05006416d8c 100644
--- a/arch/x86/kernel/smpboot_32.c
+++ b/arch/x86/kernel/smpboot_32.c
@@ -78,19 +78,8 @@ static void map_cpu_to_logical_apicid(void);
78/* State of each CPU. */ 78/* State of each CPU. */
79DEFINE_PER_CPU(int, cpu_state) = { 0 }; 79DEFINE_PER_CPU(int, cpu_state) = { 0 };
80 80
81/* 81static void __cpuinit smp_apply_quirks(struct cpuinfo_x86 *c)
82 * The bootstrap kernel entry code has set these up. Save them for
83 * a given CPU
84 */
85
86void __cpuinit smp_store_cpu_info(int id)
87{ 82{
88 struct cpuinfo_x86 *c = &cpu_data(id);
89
90 *c = boot_cpu_data;
91 c->cpu_index = id;
92 if (id!=0)
93 identify_secondary_cpu(c);
94 /* 83 /*
95 * Mask B, Pentium, but not Pentium MMX 84 * Mask B, Pentium, but not Pentium MMX
96 */ 85 */
@@ -138,6 +127,23 @@ void __cpuinit smp_store_cpu_info(int id)
138 127
139valid_k7: 128valid_k7:
140 ; 129 ;
130
131}
132
133/*
134 * The bootstrap kernel entry code has set these up. Save them for
135 * a given CPU
136 */
137
138void __cpuinit smp_store_cpu_info(int id)
139{
140 struct cpuinfo_x86 *c = &cpu_data(id);
141
142 *c = boot_cpu_data;
143 c->cpu_index = id;
144 if (id != 0)
145 identify_secondary_cpu(c);
146 smp_apply_quirks(c);
141} 147}
142 148
143static atomic_t init_deasserted; 149static atomic_t init_deasserted;