summaryrefslogtreecommitdiff
path: root/src/unix/nto/aarch64.rs
diff options
context:
space:
mode:
authorFlorian Bartels <Florian.Bartels@elektrobit.com>2022-12-16 10:44:30 +0100
committergh-tr <troach@qnx.com>2022-12-16 09:13:16 -0500
commit720151f84493d3a4ca7081ee7b85f3c115a33860 (patch)
tree9eb85207287c2752796b94deff4047190276513a /src/unix/nto/aarch64.rs
parent6a5c07f70603c7d28464a92964fc02c81d0c1e31 (diff)
downloadrust-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.rs36
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,
+ }
+}