Skip to content

Commit

Permalink
Auto merge of #3204 - ComputerDruid:riscv64, r=JohnTitor
Browse files Browse the repository at this point in the history
fuchsia: add definitions for riscv64
  • Loading branch information
bors committed Apr 19, 2023
2 parents 9cc7781 + 157ac25 commit 4983ced
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/fuchsia/aarch64.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,6 @@ s! {
}
}

// From https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/third_party/ulib/musl/include/bits/signal.h;l=20-21;drc=0827b18ab9540c46f8037f407d17ea15a79e9ba7
pub const MINSIGSTKSZ: ::size_t = 6144;
pub const SIGSTKSZ: ::size_t = 12288;
3 changes: 3 additions & 0 deletions src/fuchsia/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4260,6 +4260,9 @@ cfg_if! {
} else if #[cfg(any(target_arch = "x86_64"))] {
mod x86_64;
pub use self::x86_64::*;
} else if #[cfg(any(target_arch = "riscv64"))] {
mod riscv64;
pub use self::riscv64::*;
} else {
// Unknown target_arch
}
Expand Down
44 changes: 44 additions & 0 deletions src/fuchsia/riscv64.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// From psABI Calling Convention for RV64
pub type c_char = u8;
pub type __u64 = ::c_ulonglong;
pub type wchar_t = i32;

pub type nlink_t = ::c_ulong;
pub type blksize_t = ::c_long;

pub type stat64 = stat;
s! {
pub struct stat {
pub st_dev: ::dev_t,
pub st_ino: ::ino_t,
pub st_nlink: ::nlink_t,
pub st_mode: ::mode_t,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
__pad0: ::c_int,
pub st_rdev: ::dev_t,
pub st_size: ::off_t,
pub st_blksize: ::blksize_t,
pub st_blocks: ::blkcnt_t,
pub st_atime: ::time_t,
pub st_atime_nsec: ::c_long,
pub st_mtime: ::time_t,
pub st_mtime_nsec: ::c_long,
pub st_ctime: ::time_t,
pub st_ctime_nsec: ::c_long,
__unused: [::c_long; 3],
}

// Not actually used, IPC calls just return ENOSYS
pub struct ipc_perm {
pub __ipc_perm_key: ::key_t,
pub uid: ::uid_t,
pub gid: ::gid_t,
pub cuid: ::uid_t,
pub cgid: ::gid_t,
pub mode: ::mode_t,
pub __seq: ::c_ushort,
__unused1: ::c_ulong,
__unused2: ::c_ulong,
}
}

0 comments on commit 4983ced

Please sign in to comment.