Problem when disabled interrupt in system call (ppc8270)

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri Oct 16 15:43:39 EST 2009


On Fri, 2009-10-16 at 09:12 +0800, wilbur.chan wrote:

> static inline unsigned long local_irq_disable(void)
> {
> 	unsigned long flags, zero;
> 
> 	__asm__ __volatile__("li %1,0; lbz %0,%2(13); stb %1,%2(13)"
> 	: "=r" (flags), "=&r" (zero)
> 	: "i" (offsetof(struct paca_struct, soft_enabled))
> 	: "memory");
> 
> 	return flags;
> }

This is not the variant of local_irq_disable() used on that machine :-)

The above is the 64-bit version.

Ben.




More information about the Linuxppc-dev mailing list