diff options
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r-- | arch/i386/kernel/smpboot.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 7c1dbef399cd..f14d93351a82 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -58,6 +58,7 @@ | |||
58 | #include <mach_wakecpu.h> | 58 | #include <mach_wakecpu.h> |
59 | #include <smpboot_hooks.h> | 59 | #include <smpboot_hooks.h> |
60 | #include <asm/vmi.h> | 60 | #include <asm/vmi.h> |
61 | #include <asm/mtrr.h> | ||
61 | 62 | ||
62 | /* Set if we find a B stepping CPU */ | 63 | /* Set if we find a B stepping CPU */ |
63 | static int __devinitdata smp_b_stepping; | 64 | static int __devinitdata smp_b_stepping; |
@@ -815,6 +816,12 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) | |||
815 | unsigned short nmi_high = 0, nmi_low = 0; | 816 | unsigned short nmi_high = 0, nmi_low = 0; |
816 | 817 | ||
817 | /* | 818 | /* |
819 | * Save current MTRR state in case it was changed since early boot | ||
820 | * (e.g. by the ACPI SMI) to initialize new CPUs with MTRRs in sync: | ||
821 | */ | ||
822 | mtrr_save_state(); | ||
823 | |||
824 | /* | ||
818 | * We can't use kernel_thread since we must avoid to | 825 | * We can't use kernel_thread since we must avoid to |
819 | * reschedule the child. | 826 | * reschedule the child. |
820 | */ | 827 | */ |