From 9d534007e7e25055bca0a13640f193994f628aa2 Mon Sep 17 00:00:00 2001 From: Andrei Homescu Date: Sat, 18 Nov 2023 00:12:52 +0000 Subject: PATCH: Squash Trusty patches into one Bug: None Test: Presubmit Change-Id: I04d643e967c06f503a404ff89628f2c9cf99f495 --- patches/trusty-001.patch | 101 ---------------------------------------------- patches/trusty-002.patch | 53 ------------------------ patches/trusty-003.patch | 23 ----------- patches/trusty.patch | 103 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 177 deletions(-) delete mode 100644 patches/trusty-001.patch delete mode 100644 patches/trusty-002.patch delete mode 100644 patches/trusty-003.patch create mode 100644 patches/trusty.patch diff --git a/patches/trusty-001.patch b/patches/trusty-001.patch deleted file mode 100644 index 7fb0cbf0..00000000 --- a/patches/trusty-001.patch +++ /dev/null @@ -1,101 +0,0 @@ -From b81e3bd53bb4c60e6a778fa230cb8fd2a73b3683 Mon Sep 17 00:00:00 2001 -From: David LeGare -Date: Wed, 22 Jun 2022 18:39:50 +0000 -Subject: [PATCH] Add support for the Trusty OS - -Change-Id: I7f99f36b85ff5ed2bf71c0d8f6561e32fa25105d ---- - src/lib.rs | 6 +++++ - src/trusty.rs | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 69 insertions(+) - create mode 100644 src/trusty.rs - -diff --git a/src/lib.rs b/src/lib.rs -index ac86322b..cf307958 100644 ---- a/src/lib.rs -+++ b/src/lib.rs -@@ -145,6 +145,12 @@ cfg_if! { - - mod hermit; - pub use hermit::*; -+ } else if #[cfg(target_os = "trusty")] { -+ mod fixed_width_ints; -+ pub use fixed_width_ints::*; -+ -+ mod trusty; -+ pub use trusty::*; - } else if #[cfg(all(target_env = "sgx", target_vendor = "fortanix"))] { - mod fixed_width_ints; - pub use fixed_width_ints::*; -diff --git a/src/trusty.rs b/src/trusty.rs -new file mode 100644 -index 00000000..c7e4e4fa ---- /dev/null -+++ b/src/trusty.rs -@@ -0,0 +1,63 @@ -+pub use core::ffi::c_void; -+ -+pub type size_t = usize; -+pub type ssize_t = isize; -+ -+#[cfg(any(target_arch = "aarch64", target_arch = "arm"))] -+pub type c_char = u8; -+#[cfg(target_arch = "x86_64")] -+pub type c_char = i8; -+ -+pub type c_schar = i8; -+pub type c_uchar = u8; -+pub type c_short = i16; -+pub type c_ushort = u16; -+pub type c_int = i32; -+pub type c_uint = u32; -+ -+#[cfg(target_pointer_width = "32")] -+pub type c_long = i32; -+#[cfg(target_pointer_width = "64")] -+pub type c_long = i64; -+ -+#[cfg(target_pointer_width = "32")] -+pub type c_ulong = u32; -+#[cfg(target_pointer_width = "64")] -+pub type c_ulong = u64; -+ -+pub type c_longlong = i64; -+pub type c_ulonglong = u64; -+ -+pub type c_uint8_t = u8; -+pub type c_uint16_t = u16; -+pub type c_uint32_t = u32; -+pub type c_uint64_t = u64; -+ -+pub type c_int8_t = i8; -+pub type c_int16_t = i16; -+pub type c_int32_t = i32; -+pub type c_int64_t = i64; -+ -+pub type time_t = c_long; -+ -+pub const STDOUT_FILENO: ::c_int = 1; -+pub const STDERR_FILENO: ::c_int = 2; -+ -+extern "C" { -+ pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void; -+ pub fn malloc(size: size_t) -> *mut c_void; -+ pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; -+ pub fn free(p: *mut c_void); -+ pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; -+ pub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int; -+ pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t; -+ pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; -+ pub fn strlen(cs: *const c_char) -> size_t; -+} -+ -+s! { -+ pub struct iovec { -+ pub iov_base: *mut ::c_void, -+ pub iov_len: ::size_t, -+ } -+} --- -2.37.0.rc0.104.g0611611a94-goog - diff --git a/patches/trusty-002.patch b/patches/trusty-002.patch deleted file mode 100644 index 3297fea6..00000000 --- a/patches/trusty-002.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 899aaaeeb0887a36d247df9fddaab8eca634a5c3 Mon Sep 17 00:00:00 2001 -From: Nicole LeGare -Date: Mon, 12 Dec 2022 18:42:21 +0000 -Subject: [PATCH] PATCH: Add mmap API for Trusty - -Change-Id: Ib9d576533be631c8f5e7cd21a3916e269f713cd1 ---- - src/trusty.rs | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/trusty.rs b/src/trusty.rs -index c7e4e4fa..7791a84a 100644 ---- a/src/trusty.rs -+++ b/src/trusty.rs -@@ -3,6 +3,8 @@ pub use core::ffi::c_void; - pub type size_t = usize; - pub type ssize_t = isize; - -+pub type off_t = i64; -+ - #[cfg(any(target_arch = "aarch64", target_arch = "arm"))] - pub type c_char = u8; - #[cfg(target_arch = "x86_64")] -@@ -43,6 +45,10 @@ pub type time_t = c_long; - pub const STDOUT_FILENO: ::c_int = 1; - pub const STDERR_FILENO: ::c_int = 2; - -+pub const AT_PAGESZ: ::c_ulong = 6; -+ -+pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; -+ - extern "C" { - pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void; - pub fn malloc(size: size_t) -> *mut c_void; -@@ -53,6 +59,16 @@ extern "C" { - pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t; - pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; - pub fn strlen(cs: *const c_char) -> size_t; -+ pub fn getauxval(type_: c_ulong) -> c_ulong; -+ pub fn mmap( -+ addr: *mut ::c_void, -+ len: ::size_t, -+ prot: ::c_int, -+ flags: ::c_int, -+ fd: ::c_int, -+ offset: off_t, -+ ) -> *mut ::c_void; -+ pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; - } - - s! { --- -2.39.0.rc1.256.g54fd8350bd-goog diff --git a/patches/trusty-003.patch b/patches/trusty-003.patch deleted file mode 100644 index a848fe1d..00000000 --- a/patches/trusty-003.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit b0659bcf79d2f5a5ba2ed8690bc98441fed4f0eb -Author: Andrei Homescu -Date: Fri Nov 3 22:08:34 2023 +0000 - - Add close() system call for Trusty - - std calls libc::close() so we need to add it. - - Bug: 242243245 - Change-Id: Ia273a2ae451d913e362047b047a65fbfed072f92 - -diff --git a/src/trusty.rs b/src/trusty.rs -index e1508119..140fa6df 100644 ---- a/src/trusty.rs -+++ b/src/trusty.rs -@@ -58,6 +58,7 @@ extern "C" { - pub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int; - pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t; - pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; -+ pub fn close(fd: ::c_int) -> ::c_int; - pub fn strlen(cs: *const c_char) -> size_t; - pub fn getauxval(type_: c_ulong) -> c_ulong; - pub fn mmap( diff --git a/patches/trusty.patch b/patches/trusty.patch new file mode 100644 index 00000000..afd0df26 --- /dev/null +++ b/patches/trusty.patch @@ -0,0 +1,103 @@ +diff --git b/src/lib.rs a/src/lib.rs +index 62748d279..4d8822ec2 100644 +--- b/src/lib.rs ++++ a/src/lib.rs +@@ -143,6 +143,12 @@ cfg_if! { + + mod hermit; + pub use hermit::*; ++ } else if #[cfg(target_os = "trusty")] { ++ mod fixed_width_ints; ++ pub use fixed_width_ints::*; ++ ++ mod trusty; ++ pub use trusty::*; + } else if #[cfg(all(target_env = "sgx", target_vendor = "fortanix"))] { + mod fixed_width_ints; + pub use fixed_width_ints::*; +diff --git b/src/trusty.rs a/src/trusty.rs +new file mode 100644 +index 000000000..140fa6dfe +--- /dev/null ++++ a/src/trusty.rs +@@ -0,0 +1,80 @@ ++pub use core::ffi::c_void; ++ ++pub type size_t = usize; ++pub type ssize_t = isize; ++ ++pub type off_t = i64; ++ ++#[cfg(any(target_arch = "aarch64", target_arch = "arm"))] ++pub type c_char = u8; ++#[cfg(target_arch = "x86_64")] ++pub type c_char = i8; ++ ++pub type c_schar = i8; ++pub type c_uchar = u8; ++pub type c_short = i16; ++pub type c_ushort = u16; ++pub type c_int = i32; ++pub type c_uint = u32; ++ ++#[cfg(target_pointer_width = "32")] ++pub type c_long = i32; ++#[cfg(target_pointer_width = "64")] ++pub type c_long = i64; ++ ++#[cfg(target_pointer_width = "32")] ++pub type c_ulong = u32; ++#[cfg(target_pointer_width = "64")] ++pub type c_ulong = u64; ++ ++pub type c_longlong = i64; ++pub type c_ulonglong = u64; ++ ++pub type c_uint8_t = u8; ++pub type c_uint16_t = u16; ++pub type c_uint32_t = u32; ++pub type c_uint64_t = u64; ++ ++pub type c_int8_t = i8; ++pub type c_int16_t = i16; ++pub type c_int32_t = i32; ++pub type c_int64_t = i64; ++ ++pub type time_t = c_long; ++ ++pub const STDOUT_FILENO: ::c_int = 1; ++pub const STDERR_FILENO: ::c_int = 2; ++ ++pub const AT_PAGESZ: ::c_ulong = 6; ++ ++pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; ++ ++extern "C" { ++ pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void; ++ pub fn malloc(size: size_t) -> *mut c_void; ++ pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; ++ pub fn free(p: *mut c_void); ++ pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; ++ pub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int; ++ pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t; ++ pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; ++ pub fn close(fd: ::c_int) -> ::c_int; ++ pub fn strlen(cs: *const c_char) -> size_t; ++ pub fn getauxval(type_: c_ulong) -> c_ulong; ++ pub fn mmap( ++ addr: *mut ::c_void, ++ len: ::size_t, ++ prot: ::c_int, ++ flags: ::c_int, ++ fd: ::c_int, ++ offset: off_t, ++ ) -> *mut ::c_void; ++ pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; ++} ++ ++s! { ++ pub struct iovec { ++ pub iov_base: *mut ::c_void, ++ pub iov_len: ::size_t, ++ } ++} -- cgit v1.2.3