Skip to content

Commit c558b79

Browse files
misc(kernel): make use of the stabilized div_ceil
Signed-off-by: Anhad Singh <[email protected]>
1 parent d8c1428 commit c558b79

File tree

7 files changed

+8
-39
lines changed

7 files changed

+8
-39
lines changed

src/aero_kernel/src/drivers/block/ahci.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::mem::paging::*;
2525
use crate::mem::AddressSpace;
2626

2727
use crate::utils::sync::Mutex;
28-
use crate::utils::{CeilDiv, VolatileCell};
28+
use crate::utils::VolatileCell;
2929

3030
use crate::drivers::pci::*;
3131

@@ -201,7 +201,7 @@ pub struct DmaBuffer {
201201

202202
impl DmaBuffer {
203203
pub fn sectors(&self) -> usize {
204-
self.data_size.ceil_div(512)
204+
self.data_size.div_ceil(512)
205205
}
206206

207207
pub fn start(&self) -> PhysAddr {

src/aero_kernel/src/drivers/block/ide/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ use crate::fs::block::{BlockDevice, BlockDeviceInterface};
3232

3333
use crate::mem::paging::OffsetPageTable;
3434
use crate::utils::sync::Mutex;
35-
use crate::utils::CeilDiv;
3635

3736
use super::ahci::DmaRequest;
3837

@@ -51,7 +50,7 @@ impl IdeDrive {
5150

5251
impl BlockDeviceInterface for IdeDrive {
5352
fn read_block(&self, sector: usize, dest: &mut [MaybeUninit<u8>]) -> Option<usize> {
54-
let count = dest.len().ceil_div(512);
53+
let count = dest.len().div_ceil(512);
5554
let request = Arc::new(DmaRequest::new(sector, count));
5655

5756
let res = self.channel.run_request(request, self.slave);

src/aero_kernel/src/drivers/block/nvme/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use crate::mem::paging::*;
3535

3636
use crate::utils::dma::*;
3737
use crate::utils::sync::BMutex;
38-
use crate::utils::{CeilDiv, VolatileCell};
38+
use crate::utils::VolatileCell;
3939

4040
#[derive(Copy, Clone, Debug)]
4141
enum Error {
@@ -231,7 +231,7 @@ impl<'a> Namespace<'a> {
231231
fn rw_command(&self, opcode: CommandOpcode, sector: usize, start: PhysAddr, size_bytes: usize) {
232232
assert!(size_bytes != 0);
233233

234-
let blocks = size_bytes.ceil_div(self.block_size);
234+
let blocks = size_bytes.div_ceil(self.block_size);
235235
let mut read_cmd = ReadWriteCommand::default();
236236

237237
read_cmd.opcode = opcode as u8;

src/aero_kernel/src/fs/ext2/disk.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use bit_field::BitField;
1919

2020
use crate::fs::inode;
21-
use crate::utils::CeilDiv;
2221

2322
trait Revsion {}
2423

@@ -112,7 +111,7 @@ impl SuperBlock {
112111

113112
/// Returns the length of the BGDT.
114113
pub fn bgdt_len(&self) -> usize {
115-
self.blocks_count.ceil_div(self.blocks_per_group) as usize
114+
self.blocks_count.div_ceil(self.blocks_per_group) as usize
116115
}
117116

118117
pub fn bgdt_block(&self) -> usize {

src/aero_kernel/src/fs/ext2/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ use crate::mem::paging::*;
3434

3535
use crate::socket::unix::UnixSocket;
3636
use crate::socket::SocketAddrRef;
37-
use crate::utils::CeilDiv;
3837

3938
use self::group_desc::GroupDescriptors;
4039

@@ -186,7 +185,7 @@ impl INode {
186185

187186
let new_block = fs.bgdt.alloc_block_ptr()?;
188187

189-
let mut next_block_num = self.inode.read().size().ceil_div(block_size);
188+
let mut next_block_num = self.inode.read().size().div_ceil(block_size);
190189

191190
if next_block_num < 12 {
192191
let mut inode = self.inode.write();

src/aero_kernel/src/syscall/time.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ use alloc::vec::Vec;
2323
use crate::userland::scheduler;
2424
use crate::userland::task::Task;
2525
use crate::utils::sync::{IrqGuard, Mutex};
26-
use crate::utils::CeilDiv;
2726

2827
const CLOCK_TYPE_REALTIME: usize = 0;
2928
const CLOCK_TYPE_MONOTONIC: usize = 1;
3029

3130
#[syscall]
3231
pub fn sleep(timespec: &TimeSpec) -> Result<usize, SyscallError> {
33-
let duration = (timespec.tv_nsec as usize).ceil_div(1000000000) + timespec.tv_sec as usize;
32+
let duration = (timespec.tv_nsec as usize).div_ceil(1000000000) + timespec.tv_sec as usize;
3433

3534
scheduler::get_scheduler().inner.sleep(Some(duration))?;
3635

src/aero_kernel/src/utils/mod.rs

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -223,32 +223,5 @@ impl<'a> StackHelper<'a> {
223223
}
224224
}
225225

226-
pub trait CeilDiv {
227-
fn ceil_div(self, d: Self) -> Self;
228-
}
229-
230-
macro_rules! ceil_div_impl {
231-
($($t:ty)*) => ($(
232-
impl CeilDiv for $t {
233-
fn ceil_div(self, d: $t) -> $t {
234-
(self + d - 1) / d
235-
}
236-
}
237-
)*)
238-
}
239-
240-
ceil_div_impl!(u8 u16 u32 u64 usize u128);
241-
242-
#[cfg(test)]
243-
mod tests {
244-
use super::*;
245-
246-
#[test]
247-
fn unsigned_div_ceil() {
248-
assert_eq!((8usize).ceil_div(3), 3);
249-
assert_eq!((7usize).ceil_div(4), 2);
250-
}
251-
}
252-
253226
#[repr(transparent)]
254227
pub struct LinkerSymbol<T: Copy>(core::cell::UnsafeCell<T>);

0 commit comments

Comments
 (0)