|
@@ -394,7 +394,7 @@ __setup("serialnumber", x86_serial_nr_setup);
|
|
|
/*
|
|
|
* This does the hard work of actually picking apart the CPU stuff...
|
|
|
*/
|
|
|
-void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
|
|
+static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -505,15 +505,22 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
|
|
|
|
|
/* Init Machine Check Exception if available. */
|
|
|
mcheck_init(c);
|
|
|
+}
|
|
|
|
|
|
- if (c == &boot_cpu_data)
|
|
|
- sysenter_setup();
|
|
|
+void __init identify_boot_cpu(void)
|
|
|
+{
|
|
|
+ identify_cpu(&boot_cpu_data);
|
|
|
+ sysenter_setup();
|
|
|
enable_sep_cpu();
|
|
|
+ mtrr_bp_init();
|
|
|
+}
|
|
|
|
|
|
- if (c == &boot_cpu_data)
|
|
|
- mtrr_bp_init();
|
|
|
- else
|
|
|
- mtrr_ap_init();
|
|
|
+void __cpuinit identify_secondary_cpu(struct cpuinfo_x86 *c)
|
|
|
+{
|
|
|
+ BUG_ON(c == &boot_cpu_data);
|
|
|
+ identify_cpu(c);
|
|
|
+ enable_sep_cpu();
|
|
|
+ mtrr_ap_init();
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_X86_HT
|