return;
 }
 
-static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
-{
-}
-
-static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
-{
-}
-
 extern void __inquire_remote_apic(int apicid);
 
 static inline void inquire_remote_apic(int apicid)
 
        return;
 }
 
-static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
-{
-}
-
-static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
-{
-}
-
 #ifdef CONFIG_SMP
 extern void __inquire_remote_apic(int apicid);
 #else /* CONFIG_SMP */
 
 #ifndef _ASM_X86_MACH_GENERIC_MACH_WAKECPU_H
 #define _ASM_X86_MACH_GENERIC_MACH_WAKECPU_H
 
-#define store_NMI_vector (apic->store_NMI_vector)
-#define restore_NMI_vector (apic->restore_NMI_vector)
 #define inquire_remote_apic (apic->inquire_remote_apic)
 
 #endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
 
        clear_local_APIC();
 }
 
-static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
+static inline void
+numaq_store_NMI_vector(unsigned short *high, unsigned short *low)
 {
        printk("Storing NMI vector\n");
        *high =
          *((volatile unsigned short *)phys_to_virt(NUMAQ_TRAMPOLINE_PHYS_LOW));
 }
 
-static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
+static inline void
+numaq_restore_NMI_vector(unsigned short *high, unsigned short *low)
 {
        printk("Restoring NMI vector\n");
        *((volatile unsigned short *)phys_to_virt(NUMAQ_TRAMPOLINE_PHYS_HIGH)) =
 
 
                pr_debug("Setting warm reset code and vector.\n");
 
-               store_NMI_vector(&nmi_high, &nmi_low);
+               if (apic->store_NMI_vector)
+                       apic->store_NMI_vector(&nmi_high, &nmi_low);
 
                smpboot_setup_warm_reset_vector(start_ip);
                /*
 
        .wait_for_init_deassert         = default_wait_for_init_deassert,
 
        .smp_callin_clear_local_apic    = NULL,
-
-       .store_NMI_vector               = store_NMI_vector,
-       .restore_NMI_vector             = restore_NMI_vector,
+       .store_NMI_vector               = NULL,
+       .restore_NMI_vector             = NULL,
        .inquire_remote_apic            = inquire_remote_apic,
 };
 
        .wait_for_init_deassert         = default_wait_for_init_deassert,
 
        .smp_callin_clear_local_apic    = NULL,
-       .store_NMI_vector               = store_NMI_vector,
-       .restore_NMI_vector             = restore_NMI_vector,
+       .store_NMI_vector               = NULL,
+       .restore_NMI_vector             = NULL,
        .inquire_remote_apic            = inquire_remote_apic,
 };
 
 
        /* Nothing to do for most platforms, since cleared by the INIT cycle: */
        .smp_callin_clear_local_apic    = NULL,
-
-       .store_NMI_vector               = store_NMI_vector,
-       .restore_NMI_vector             = restore_NMI_vector,
+       .store_NMI_vector               = NULL,
+       .restore_NMI_vector             = NULL,
        .inquire_remote_apic            = inquire_remote_apic,
 };
 
        .wait_for_init_deassert         = NULL,
 
        .smp_callin_clear_local_apic    = numaq_smp_callin_clear_local_apic,
-       .store_NMI_vector               = store_NMI_vector,
-       .restore_NMI_vector             = restore_NMI_vector,
+       .store_NMI_vector               = numaq_store_NMI_vector,
+       .restore_NMI_vector             = numaq_restore_NMI_vector,
        .inquire_remote_apic            = inquire_remote_apic,
 };
 
        .wait_for_init_deassert         = default_wait_for_init_deassert,
 
        .smp_callin_clear_local_apic    = NULL,
-
-       .store_NMI_vector               = store_NMI_vector,
-       .restore_NMI_vector             = restore_NMI_vector,
+       .store_NMI_vector               = NULL,
+       .restore_NMI_vector             = NULL,
        .inquire_remote_apic            = inquire_remote_apic,
 };