Bug fixes relating to IPIs with interrupts disabled.
#ifdef CONFIG_SMP
cpuid = GET_APIC_ID(apic_read(APIC_ID));
+ /* KAF: Need interrupts enabled for safe IPI. */
+ __sti();
+
if (reboot_smp) {
/* check to see if reboot_cpu is valid
*/
#endif
+ __sti();
+
initialize_keytable(); /* call back handling for key codes */
serial_init_stage2();
init_xen_time(); /* initialise the time */
schedulers_start(); /* start scheduler for each CPU */
- sti();
-
check_nmi_watchdog();
#ifdef CONFIG_PCI
#ifdef NO_DEVICES_IN_XEN
ASSERT(!in_irq());
#else
- ASSERT((p != NULL) || !in_irq());
+ ASSERT((p == NULL) || !in_irq());
#endif
spin_lock_irqsave(&free_list_lock, flags);