static inline void arch_write_lock()

in include/asm/spinlock.h [76:88]


static inline void arch_write_lock(arch_rwlock_t *lock)
{
	__asm__ __volatile__(
		"1:	R6 = memw_locked(%0)\n"
		"	{ P3 = cmp.eq(R6,#0);  R6 = #-1;}\n"
		"	{ if (!P3) jump 1b; }\n"
		"	memw_locked(%0,P3) = R6;\n"
		"	{ if (!P3) jump 1b; }\n"
		:
		: "r" (&lock->lock)
		: "memory", "r6", "p3"
	);
}