File tree 5 files changed +55
-0
lines changed
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) {
1632
1632
"linux/rtnetlink.h" ,
1633
1633
"linux/if_tun.h" ,
1634
1634
"linux/magic.h" ,
1635
+ "linux/membarrier.h" ,
1635
1636
"linux/memfd.h" ,
1636
1637
"linux/mempolicy.h" ,
1637
1638
"linux/module.h" ,
@@ -1783,6 +1784,9 @@ fn test_android(target: &str) {
1783
1784
// GRND_INSECURE was added in platform-tools-30.0.0
1784
1785
"GRND_INSECURE" => true ,
1785
1786
1787
+ // kernel 5.10 minimum required
1788
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ" | "MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ" => true ,
1789
+
1786
1790
_ => false ,
1787
1791
}
1788
1792
} ) ;
@@ -3249,6 +3253,7 @@ fn test_linux(target: &str) {
3249
3253
"linux/keyctl.h" ,
3250
3254
"linux/magic.h" ,
3251
3255
"linux/memfd.h" ,
3256
+ "linux/membarrier.h" ,
3252
3257
"linux/mempolicy.h" ,
3253
3258
"linux/mman.h" ,
3254
3259
"linux/module.h" ,
@@ -3484,6 +3489,12 @@ fn test_linux(target: &str) {
3484
3489
{
3485
3490
return true ;
3486
3491
}
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
+ }
3487
3498
}
3488
3499
match name {
3489
3500
// 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
1164
1164
MCAST_UNBLOCK_SOURCE
1165
1165
MCL_CURRENT
1166
1166
MCL_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
1167
1177
MFD_ALLOW_SEALING
1168
1178
MFD_CLOEXEC
1169
1179
MFD_HUGETLB
Original file line number Diff line number Diff line change @@ -1300,6 +1300,16 @@ MCAST_MSFILTER
1300
1300
MCAST_UNBLOCK_SOURCE
1301
1301
MCL_CURRENT
1302
1302
MCL_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
1303
1313
MFD_ALLOW_SEALING
1304
1314
MFD_CLOEXEC
1305
1315
MFD_HUGETLB
Original file line number Diff line number Diff line change @@ -2732,6 +2732,18 @@ pub const SCHED_RESET_ON_FORK: ::c_int = 0x40000000;
2732
2732
2733
2733
pub const CLONE_PIDFD : :: c_int = 0x1000 ;
2734
2734
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
+
2735
2747
// linux/mempolicy.h
2736
2748
pub const MPOL_DEFAULT : :: c_int = 0 ;
2737
2749
pub 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;
1849
1849
pub const MPOL_F_RELATIVE_NODES : :: c_int = 1 << 14 ;
1850
1850
pub const MPOL_F_STATIC_NODES : :: c_int = 1 << 15 ;
1851
1851
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
+
1852
1864
align_const ! {
1853
1865
pub const PTHREAD_MUTEX_INITIALIZER : pthread_mutex_t = pthread_mutex_t {
1854
1866
size: [ 0 ; __SIZEOF_PTHREAD_MUTEX_T] ,
You can’t perform that action at this time.
0 commit comments