diff options
author | Brian Martin <brayniac@gmail.com> | 2016-01-15 09:05:44 -0800 |
---|---|---|
committer | Brian Martin <brayniac@gmail.com> | 2016-01-15 09:05:44 -0800 |
commit | 9cdc0d511d9f2e261367124a24ed4bdc38b5ad06 (patch) | |
tree | d231d04e997009a9ff4da8bbc6535fdf21ce85e7 | |
parent | 4450b96399d901ca81267f62691ab4f5efea17d7 (diff) | |
download | nix-9cdc0d511d9f2e261367124a24ed4bdc38b5ad06.zip |
add aarch64 support
-rw-r--r-- | src/sched.rs | 17 | ||||
-rw-r--r-- | src/sys/signal.rs | 1 | ||||
-rw-r--r-- | src/sys/syscall.rs | 10 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/sched.rs b/src/sched.rs index da37d7df..a73d0549 100644 --- a/src/sched.rs +++ b/src/sched.rs @@ -63,6 +63,23 @@ mod cpuset_attribs { } } +#[cfg(all(target_arch = "aarch64", any(target_os = "linux", target_os = "android")))] +mod cpuset_attribs { + use super::CpuMask; + pub const CPU_SETSIZE: usize = 1024; + pub const CPU_MASK_BITS: usize = 64; + + #[inline] + pub fn set_cpu_mask_flag(cur: CpuMask, bit: usize) -> CpuMask { + cur | (1u64 << bit) + } + + #[inline] + pub fn clear_cpu_mask_flag(cur: CpuMask, bit: usize) -> CpuMask { + cur & !(1u64 << bit) + } +} + #[cfg(all(target_arch = "arm", any(target_os = "linux", target_os = "android")))] mod cpuset_attribs { use super::CpuMask; diff --git a/src/sys/signal.rs b/src/sys/signal.rs index cf7ac519..66dd6438 100644 --- a/src/sys/signal.rs +++ b/src/sys/signal.rs @@ -55,6 +55,7 @@ pub const SIGEMT: libc::c_int = 7; #[cfg(any(all(target_os = "linux", any(target_arch = "x86", target_arch = "x86_64", + target_arch = "aarch64", target_arch = "arm")), target_os = "android"))] pub mod signal { diff --git a/src/sys/syscall.rs b/src/sys/syscall.rs index c80defa2..f3ec60e0 100644 --- a/src/sys/syscall.rs +++ b/src/sys/syscall.rs @@ -24,6 +24,16 @@ mod arch { pub static MEMFD_CREATE: Syscall = 356; } +#[cfg(target_arch = "aarch64")] +mod arch { + use libc::c_long; + + pub type Syscall = c_long; + + pub static SYSPIVOTROOT: Syscall = 41; + pub static MEMFD_CREATE: Syscall = 279; +} + #[cfg(target_arch = "arm")] mod arch { use libc::c_long; |