Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/membarrier.h
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | enum membarrier_cmd { | ||||
MEMBARRIER_CMD_GLOBAL = 0x00000001, | MEMBARRIER_CMD_GLOBAL = 0x00000001, | ||||
MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, | MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, | ||||
MEMBARRIER_CMD_GLOBAL_EXPEDITED = 0x00000002, | MEMBARRIER_CMD_GLOBAL_EXPEDITED = 0x00000002, | ||||
MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 0x00000004, | MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 0x00000004, | ||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED = 0x00000008, | MEMBARRIER_CMD_PRIVATE_EXPEDITED = 0x00000008, | ||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 0x00000010, | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 0x00000010, | ||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 0x00000020, | MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 0x00000020, | ||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 0x00000040, | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 0x00000040, | ||||
/* | |||||
* RSEQ constants are defined for source compatibility but are | |||||
* not yes supported, MEMBARRIER_CMD_QUERY does not return | |||||
* them in the mask. | |||||
*/ | |||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 0x00000080, | MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 0x00000080, | ||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 0x00000100, | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 0x00000100, | ||||
}; | }; | ||||
enum membarrier_cmd_flag { | enum membarrier_cmd_flag { | ||||
MEMBARRIER_CMD_FLAG_CPU = 0x00000001, | MEMBARRIER_CMD_FLAG_CPU = 0x00000001, | ||||
}; | }; | ||||
#ifndef _KERNEL | #ifndef _KERNEL | ||||
__BEGIN_DECLS | __BEGIN_DECLS | ||||
int membarrier(int, unsigned, int); | int membarrier(int, unsigned, int); | ||||
__END_DECLS | __END_DECLS | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* __SYS_MEMBARRIER_H__ */ | #endif /* __SYS_MEMBARRIER_H__ */ |