|
@@ -695,11 +695,16 @@ void mtrr_ap_init(void)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Save current fixed-range MTRR state of the BSP
|
|
|
+ * Save current fixed-range MTRR state of the first cpu in cpu_online_mask.
|
|
|
*/
|
|
|
void mtrr_save_state(void)
|
|
|
{
|
|
|
- smp_call_function_single(0, mtrr_save_fixed_ranges, NULL, 1);
|
|
|
+ int first_cpu;
|
|
|
+
|
|
|
+ get_online_cpus();
|
|
|
+ first_cpu = cpumask_first(cpu_online_mask);
|
|
|
+ smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1);
|
|
|
+ put_online_cpus();
|
|
|
}
|
|
|
|
|
|
void set_mtrr_aps_delayed_init(void)
|