diff options
author | Florian Bartels <Florian.Bartels@elektrobit.com> | 2022-12-16 10:44:30 +0100 |
---|---|---|
committer | gh-tr <troach@qnx.com> | 2022-12-16 09:13:16 -0500 |
commit | 720151f84493d3a4ca7081ee7b85f3c115a33860 (patch) | |
tree | 9eb85207287c2752796b94deff4047190276513a /src/unix/nto/aarch64.rs | |
parent | 6a5c07f70603c7d28464a92964fc02c81d0c1e31 (diff) | |
download | rust-libc-720151f84493d3a4ca7081ee7b85f3c115a33860.tar.gz |
Add support for QNX/Neutrino 7.1
Test cases (ctest2, all succeed):
QNX/Neutrino 7.1 x86_64: 9884
QNX/Neutrino 7.1 aarch64: 9766
Co-authored-by: Tristan Roach <troach@qnx.com>
Co-authored-by: Florian Bartels <Florian.Bartels@elektrobit.com>
Diffstat (limited to 'src/unix/nto/aarch64.rs')
-rw-r--r-- | src/unix/nto/aarch64.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/unix/nto/aarch64.rs b/src/unix/nto/aarch64.rs new file mode 100644 index 0000000000..6faf8159c7 --- /dev/null +++ b/src/unix/nto/aarch64.rs @@ -0,0 +1,36 @@ +pub type c_char = u8; +pub type wchar_t = u32; +pub type c_long = i64; +pub type c_ulong = u64; +pub type time_t = i64; + +s! { + pub struct aarch64_qreg_t { + pub qlo: u64, + pub qhi: u64, + } + + pub struct aarch64_fpu_registers { + pub reg: [::aarch64_qreg_t; 32], + pub fpsr: u32, + pub fpcr: u32, + } + + pub struct aarch64_cpu_registers { + pub gpr: [u64; 32], + pub elr: u64, + pub pstate: u64, + } + + #[repr(align(16))] + pub struct mcontext_t { + pub cpu: ::aarch64_cpu_registers, + pub fpu: ::aarch64_fpu_registers, + } + + pub struct stack_t { + pub ss_sp: *mut ::c_void, + pub ss_size: ::size_t, + pub ss_flags: ::c_int, + } +} |