xref: /aosp_15_r20/external/ltp/include/lapi/membarrier.h (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-or-later
2*49cdfc7eSAndroid Build Coastguard Worker /*
3*49cdfc7eSAndroid Build Coastguard Worker  * Copyright (c) 2018 Linaro Limited. All rights reserved.
4*49cdfc7eSAndroid Build Coastguard Worker  * Author: Rafael David Tinoco <[email protected]>
5*49cdfc7eSAndroid Build Coastguard Worker  */
6*49cdfc7eSAndroid Build Coastguard Worker 
7*49cdfc7eSAndroid Build Coastguard Worker #ifndef LAPI_MEMBARRIER_H__
8*49cdfc7eSAndroid Build Coastguard Worker #define LAPI_MEMBARRIER_H__
9*49cdfc7eSAndroid Build Coastguard Worker 
10*49cdfc7eSAndroid Build Coastguard Worker /*
11*49cdfc7eSAndroid Build Coastguard Worker  * Having <linux/membarrier.h> is enough to know if the test should run or
12*49cdfc7eSAndroid Build Coastguard Worker  * not, but it might not define all needed MEMBARRIER_CMD_* being tested,
13*49cdfc7eSAndroid Build Coastguard Worker  * since its first versions included just a few commands.
14*49cdfc7eSAndroid Build Coastguard Worker  */
15*49cdfc7eSAndroid Build Coastguard Worker 
16*49cdfc7eSAndroid Build Coastguard Worker enum membarrier_cmd {
17*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_QUERY					= 0,
18*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_GLOBAL					= (1 << 0),
19*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_GLOBAL_EXPEDITED				= (1 << 1),
20*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED		= (1 << 2),
21*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_PRIVATE_EXPEDITED			= (1 << 3),
22*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED		= (1 << 4),
23*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE		= (1 << 5),
24*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE	= (1 << 6),
25*49cdfc7eSAndroid Build Coastguard Worker 
26*49cdfc7eSAndroid Build Coastguard Worker 	/* Alias for header backward compatibility. */
27*49cdfc7eSAndroid Build Coastguard Worker 	MEMBARRIER_CMD_SHARED			= MEMBARRIER_CMD_GLOBAL,
28*49cdfc7eSAndroid Build Coastguard Worker };
29*49cdfc7eSAndroid Build Coastguard Worker 
30*49cdfc7eSAndroid Build Coastguard Worker #endif /* LAPI_MEMBARRIER_H__ */
31