diff options
author | Nathan Ringo <nathan@remexre.com> | 2024-08-27 00:20:19 -0500 |
---|---|---|
committer | Nathan Ringo <nathan@remexre.com> | 2024-08-27 00:20:19 -0500 |
commit | 251ea035fa2338db7b001af338d65875a9bc65ad (patch) | |
tree | f260a8da1b5bfef4337f06ff1567de30ad1d4c70 /kernel/src/util.rs | |
parent | f988949d7e57f005fba0dbc14491ed9b065c2e36 (diff) |
Adds a free-list for physical memory.
Diffstat (limited to 'kernel/src/util.rs')
-rw-r--r-- | kernel/src/util.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/src/util.rs b/kernel/src/util.rs index 29042c8..dbcb228 100644 --- a/kernel/src/util.rs +++ b/kernel/src/util.rs @@ -1,6 +1,6 @@ //! Miscellaneous utilities. -use core::mem::size_of; +use core::{mem::size_of, ops::Range}; #[cold] #[inline(always)] @@ -51,6 +51,11 @@ macro_rules! dbg { }; } +/// Returns whether the two ranges overlap. +pub fn ranges_overlap<T: Copy + Ord>(r1: &Range<T>, r2: &Range<T>) -> bool { + r1.start.max(r2.start) < r1.end.min(r2.end) +} + /// A trait for types that can be converted to from big-endian or little-endian byte slices. pub trait FromEndianBytes { /// Converts from a big-endian byte slice. |