On Wed, Mar 31, 2010 at 01:47:23PM -0700, Yinghai Lu wrote: > On 03/31/2010 01:40 PM, Andrew Morton wrote: > > We have two checks in start_kernel(): > > > > if (!irqs_disabled()) { > > printk(KERN_WARNING "start_kernel(): bug: interrupts were " > > "enabled *very* early, fixing it\n"); > > local_irq_disable(); > > } > > rcu_init(); > > radix_tree_init(); > > /* init some links before init_ISA_irqs() */ > > early_irq_init(); > > init_IRQ(); > > prio_tree_init(); > > init_timers(); > > hrtimers_init(); > > softirq_init(); > > timekeeping_init(); > > time_init(); > > profile_init(); > > if (!irqs_disabled()) > > printk(KERN_CRIT "start_kernel(): bug: interrupts were " > > "enabled early\n"); > > > > perhaps the second one isn't needed? Perhaps no architecture requires > > that local interrupts be disabled across the above initialisations? > > spin_unlock_irq from arm is different from other archs? We use the standard generic kernel implementation. Is x86 different? ;) -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html