local_save_flags(flags); local_irq_disable();
cris_atomic_save(sem, flags);
extern inline int down_trylock(struct semaphore * sem){	unsigned long flags;	int failed;	local_save_flags(flags);	local_irq_disable();	failed = --(sem->count.counter) < 0;	local_irq_restore(flags);	if(failed)		failed = __down_trylock(sem);	return(failed);}