Lines Matching +full:many +full:- +full:to +full:- +full:one
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * vlock.S - simple voting lock implementation for ARM
5 * Created by: Dave Martin, 2012-08-16
6 * Copyright: (C) 2012-2013 Linaro Limited
15 .arch armv7-a
20 #define MANY(x...) x macro
23 #define MANY(x...) macro
26 @ voting lock for first-man coordination
43 * The vlock structure must reside in Strongly-Ordered or Device memory.
46 * writes to neighbouring locations within a cacheline do not interfere
47 * with one another.
51 @ r1: CPU ID (0-based index within cluster)
67 @ Wait for the current round of voting to finish:
69 MANY( mov r3, #VLOCK_VOTING_OFFSET )
71 MANY( ldr r2, [r0, r3] )
76 MANY( add r3, r3, #4 )
77 MANY( cmp r3, #VLOCK_VOTING_OFFSET + VLOCK_VOTING_SIZE )
78 MANY( bne 0b )