diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 2fecda69ee64..d720b7e0cf3d 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1116,9 +1116,22 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1116 | 1116 | ||
1117 | if (is_uv_system()) | 1117 | if (is_uv_system()) |
1118 | uv_system_init(); | 1118 | uv_system_init(); |
1119 | |||
1120 | set_mtrr_aps_delayed_init(); | ||
1119 | out: | 1121 | out: |
1120 | preempt_enable(); | 1122 | preempt_enable(); |
1121 | } | 1123 | } |
1124 | |||
1125 | void arch_enable_nonboot_cpus_begin(void) | ||
1126 | { | ||
1127 | set_mtrr_aps_delayed_init(); | ||
1128 | } | ||
1129 | |||
1130 | void arch_enable_nonboot_cpus_end(void) | ||
1131 | { | ||
1132 | mtrr_aps_init(); | ||
1133 | } | ||
1134 | |||
1122 | /* | 1135 | /* |
1123 | * Early setup to make printk work. | 1136 | * Early setup to make printk work. |
1124 | */ | 1137 | */ |
@@ -1140,6 +1153,7 @@ void __init native_smp_cpus_done(unsigned int max_cpus) | |||
1140 | setup_ioapic_dest(); | 1153 | setup_ioapic_dest(); |
1141 | #endif | 1154 | #endif |
1142 | check_nmi_watchdog(); | 1155 | check_nmi_watchdog(); |
1156 | mtrr_aps_init(); | ||
1143 | } | 1157 | } |
1144 | 1158 | ||
1145 | static int __initdata setup_possible_cpus = -1; | 1159 | static int __initdata setup_possible_cpus = -1; |