diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-03-19 13:25:00 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:40:59 -0400 |
commit | 82389871b89467b4478e02d13be2f776e0138b5b (patch) | |
tree | ce4129123216b84530abe2af284d654cb0bc1fc0 /arch/x86/kernel/smpboot_32.c | |
parent | d0173aeac4f7fa90a63319b817bd207bdc0ac87e (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.c | 30 |
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. */ |
79 | DEFINE_PER_CPU(int, cpu_state) = { 0 }; | 79 | DEFINE_PER_CPU(int, cpu_state) = { 0 }; |
80 | 80 | ||
81 | /* | 81 | static 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 | |||
86 | void __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 | ||
139 | valid_k7: | 128 | valid_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 | |||
138 | void __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 | ||
143 | static atomic_t init_deasserted; | 149 | static atomic_t init_deasserted; |