aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-01-19 15:59:06 +0100
committerDario Nieuwenhuis <[email protected]>2022-01-19 17:31:32 +0100
commitb640c72092ff803dc0a70c02a82351156ceee9fd (patch)
tree4c7bc68c8e7606da2f8eb2819db1bb6c3d5e5fc9
parenta607cf6142b24bf34a5a43e46f8e4764d34f4387 (diff)
nrf: return ptr in slice_ptr_parts
-rw-r--r--embassy-nrf/src/util.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/embassy-nrf/src/util.rs b/embassy-nrf/src/util.rs
index 76162b701..b24bc452f 100644
--- a/embassy-nrf/src/util.rs
+++ b/embassy-nrf/src/util.rs
@@ -4,18 +4,18 @@ const SRAM_LOWER: usize = 0x2000_0000;
4const SRAM_UPPER: usize = 0x3000_0000; 4const SRAM_UPPER: usize = 0x3000_0000;
5 5
6// TODO: replace transmutes with core::ptr::metadata once it's stable 6// TODO: replace transmutes with core::ptr::metadata once it's stable
7 7pub(crate) fn slice_ptr_parts<T>(slice: *const [T]) -> (*const T, usize) {
8pub(crate) fn slice_ptr_parts<T>(slice: *const [T]) -> (usize, usize) {
9 unsafe { mem::transmute(slice) } 8 unsafe { mem::transmute(slice) }
10} 9}
11 10
12pub(crate) fn slice_ptr_parts_mut<T>(slice: *mut [T]) -> (usize, usize) { 11pub(crate) fn slice_ptr_parts_mut<T>(slice: *mut [T]) -> (*mut T, usize) {
13 unsafe { mem::transmute(slice) } 12 unsafe { mem::transmute(slice) }
14} 13}
15 14
16/// Does this slice reside entirely within RAM? 15/// Does this slice reside entirely within RAM?
17pub(crate) fn slice_in_ram<T>(slice: *const [T]) -> bool { 16pub(crate) fn slice_in_ram<T>(slice: *const [T]) -> bool {
18 let (ptr, len) = slice_ptr_parts(slice); 17 let (ptr, len) = slice_ptr_parts(slice);
18 let ptr = ptr as usize;
19 ptr >= SRAM_LOWER && (ptr + len * core::mem::size_of::<T>()) < SRAM_UPPER 19 ptr >= SRAM_LOWER && (ptr + len * core::mem::size_of::<T>()) < SRAM_UPPER
20} 20}
21 21