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
18 #define MANY(x...) x macro
21 #define MANY(x...) macro
24 @ voting lock for first-man coordination
41 * The vlock structure must reside in Strongly-Ordered or Device memory.
44 * writes to neighbouring locations within a cacheline do not interfere
45 * with one another.
49 @ r1: CPU ID (0-based index within cluster)
65 @ Wait for the current round of voting to finish:
67 MANY( mov r3, #VLOCK_VOTING_OFFSET )
69 MANY( ldr r2, [r0, r3] )
74 MANY( add r3, r3, #4 )
75 MANY( cmp r3, #VLOCK_VOTING_OFFSET + VLOCK_VOTING_SIZE )
76 MANY( bne 0b )