aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-28 10:31:52 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-28 17:20:33 -0500
commit7bd06ec63a1204ca44b9f1dc487b8632016162d1 (patch)
treef9c89011185f9ba4be2a20e7d9fed14f3b50ab7e /arch/x86/kernel/smpboot.c
parent333344d94300500e401cffb4eea10a5ab6e5a41d (diff)
x86, smp: refactor ->store/restore_NMI_vector() methods
Only NUMAQ does something substantial here, because it initializes via NMIs (not via INIT as standard SMP startup) - so it needs to store and restore the NMI vector. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r--arch/x86/kernel/smpboot.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 10873a46b299..1492024592ff 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -826,7 +826,8 @@ do_rest:
826 826
827 pr_debug("Setting warm reset code and vector.\n"); 827 pr_debug("Setting warm reset code and vector.\n");
828 828
829 store_NMI_vector(&nmi_high, &nmi_low); 829 if (apic->store_NMI_vector)
830 apic->store_NMI_vector(&nmi_high, &nmi_low);
830 831
831 smpboot_setup_warm_reset_vector(start_ip); 832 smpboot_setup_warm_reset_vector(start_ip);
832 /* 833 /*