I want to break softirq.c to fix broken hardware
Adrian Cox
adrian at humboldt.co.uk
Fri Aug 10 04:08:08 EST 2001
Justin (Gus) Hurwitz wrote:
> #else
> __asm__ __volatile__("\n\
> 1: lwzx %0,0,%3\n\
> add %0,%2,%0\n\
> stwx %0,0,%3"
> : "=&r" (t), "=m" (v->counter)
> : "r" (a), "r" (v), "m" (v->counter)
> : "cc");
> #endif /* CONFIG_NO_ATOMICS */
Last time this came up I pointed out that lwarx/stwcx are for locking
against interrupts as well as against other CPUs. You don't seem to have
anything in your atomic routine to prevent interrupts occurring between
the load and the store.
--
Adrian Cox http://www.humboldt.co.uk/
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list