File tree Expand file tree Collapse file tree 5 files changed +55
-0
lines changed Expand file tree Collapse file tree 5 files changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -1632,6 +1632,7 @@ fn test_android(target: &str) {
16321632 "linux/rtnetlink.h" ,
16331633 "linux/if_tun.h" ,
16341634 "linux/magic.h" ,
1635+ "linux/membarrier.h" ,
16351636 "linux/memfd.h" ,
16361637 "linux/mempolicy.h" ,
16371638 "linux/module.h" ,
@@ -1783,6 +1784,9 @@ fn test_android(target: &str) {
17831784 // GRND_INSECURE was added in platform-tools-30.0.0
17841785 "GRND_INSECURE" => true ,
17851786
1787+ // kernel 5.10 minimum required
1788+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ" | "MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ" => true ,
1789+
17861790 _ => false ,
17871791 }
17881792 } ) ;
@@ -3249,6 +3253,7 @@ fn test_linux(target: &str) {
32493253 "linux/keyctl.h" ,
32503254 "linux/magic.h" ,
32513255 "linux/memfd.h" ,
3256+ "linux/membarrier.h" ,
32523257 "linux/mempolicy.h" ,
32533258 "linux/mman.h" ,
32543259 "linux/module.h" ,
@@ -3484,6 +3489,12 @@ fn test_linux(target: &str) {
34843489 {
34853490 return true ;
34863491 }
3492+ // FIXME: Requires >= 5.10 kernel headers
3493+ if name. starts_with ( "MEMBARRIER_CMD_REGISTER" )
3494+ || name. starts_with ( "MEMBARRIER_CMD_PRIVATE" )
3495+ {
3496+ return true ;
3497+ }
34873498 }
34883499 match name {
34893500 // These constants are not available if gnu headers have been included
Original file line number Diff line number Diff line change @@ -1164,6 +1164,16 @@ MCAST_MSFILTER
11641164MCAST_UNBLOCK_SOURCE
11651165MCL_CURRENT
11661166MCL_FUTURE
1167+ MEMBARRIER_CMD_GLOBAL
1168+ MEMBARRIER_CMD_GLOBAL_EXPEDITED
1169+ MEMBARRIER_CMD_QUERY
1170+ MEMBARRIER_CMD_PRIVATE_EXPEDITED
1171+ MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
1172+ MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
1173+ MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
1174+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
1175+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
1176+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ
11671177MFD_ALLOW_SEALING
11681178MFD_CLOEXEC
11691179MFD_HUGETLB
Original file line number Diff line number Diff line change @@ -1300,6 +1300,16 @@ MCAST_MSFILTER
13001300MCAST_UNBLOCK_SOURCE
13011301MCL_CURRENT
13021302MCL_FUTURE
1303+ MEMBARRIER_CMD_GLOBAL
1304+ MEMBARRIER_CMD_GLOBAL_EXPEDITED
1305+ MEMBARRIER_CMD_QUERY
1306+ MEMBARRIER_CMD_PRIVATE_EXPEDITED
1307+ MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
1308+ MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
1309+ MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
1310+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
1311+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
1312+ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ
13031313MFD_ALLOW_SEALING
13041314MFD_CLOEXEC
13051315MFD_HUGETLB
Original file line number Diff line number Diff line change @@ -2732,6 +2732,18 @@ pub const SCHED_RESET_ON_FORK: ::c_int = 0x40000000;
27322732
27332733pub const CLONE_PIDFD : :: c_int = 0x1000 ;
27342734
2735+ // linux/membarrier.h
2736+ pub const MEMBARRIER_CMD_QUERY : :: c_int = 0 ;
2737+ pub const MEMBARRIER_CMD_GLOBAL : :: c_int = 1 << 0 ;
2738+ pub const MEMBARRIER_CMD_GLOBAL_EXPEDITED : :: c_int = 1 << 1 ;
2739+ pub const MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED : :: c_int = 1 << 2 ;
2740+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED : :: c_int = 1 << 3 ;
2741+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED : :: c_int = 1 << 4 ;
2742+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE : :: c_int = 1 << 5 ;
2743+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE : :: c_int = 1 << 6 ;
2744+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ : :: c_int = 1 << 7 ;
2745+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ : :: c_int = 1 << 8 ;
2746+
27352747// linux/mempolicy.h
27362748pub const MPOL_DEFAULT : :: c_int = 0 ;
27372749pub const MPOL_PREFERRED : :: c_int = 1 ;
Original file line number Diff line number Diff line change @@ -1849,6 +1849,18 @@ pub const MPOL_F_NUMA_BALANCING: ::c_int = 1 << 13;
18491849pub const MPOL_F_RELATIVE_NODES : :: c_int = 1 << 14 ;
18501850pub const MPOL_F_STATIC_NODES : :: c_int = 1 << 15 ;
18511851
1852+ // linux/membarrier.h
1853+ pub const MEMBARRIER_CMD_QUERY : :: c_int = 0 ;
1854+ pub const MEMBARRIER_CMD_GLOBAL : :: c_int = 1 << 0 ;
1855+ pub const MEMBARRIER_CMD_GLOBAL_EXPEDITED : :: c_int = 1 << 1 ;
1856+ pub const MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED : :: c_int = 1 << 2 ;
1857+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED : :: c_int = 1 << 3 ;
1858+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED : :: c_int = 1 << 4 ;
1859+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE : :: c_int = 1 << 5 ;
1860+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE : :: c_int = 1 << 6 ;
1861+ pub const MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ : :: c_int = 1 << 7 ;
1862+ pub const MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ : :: c_int = 1 << 8 ;
1863+
18521864align_const ! {
18531865 pub const PTHREAD_MUTEX_INITIALIZER : pthread_mutex_t = pthread_mutex_t {
18541866 size: [ 0 ; __SIZEOF_PTHREAD_MUTEX_T] ,
You can’t perform that action at this time.
0 commit comments