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; |
