diff --git a/kernel/src/arch/riscv/board/default/console.rs b/kernel/src/arch/riscv/board/default/console.rs index 31475fe..f01b9a1 100644 --- a/kernel/src/arch/riscv/board/default/console.rs +++ b/kernel/src/arch/riscv/board/default/console.rs @@ -14,8 +14,7 @@ impl ConsoleDevice for EarlyConsole { fn try_read(&mut self) -> Option { let mut buf = [0u8; 1]; let ret = sbi_rt::console_read(sbi_rt::Physical::new(1, buf.as_mut_ptr() as _, 0)); - ret.ok() - .and_then(|len| if len == 0 { None } else { Some(buf[0]) }) + ret.ok().and_then(|len| if len == 0 { None } else { Some(buf[0]) }) } fn write(&mut self, ch: u8) { diff --git a/kernel/src/arch/riscv/layout.rs b/kernel/src/arch/riscv/layout.rs index 9559a2b..84ac3f9 100644 --- a/kernel/src/arch/riscv/layout.rs +++ b/kernel/src/arch/riscv/layout.rs @@ -37,16 +37,16 @@ pub const PAGE_LAYOUT: Layout = unsafe { Layout::from_size_align_unchecked(PAGE_ #[inline(always)] pub fn zero_bss() { - fn clear_range(bgn: *mut T, end: *mut T) { - unsafe { - core::slice::from_raw_parts_mut(bgn, end.offset_from(bgn) as usize) - .fill(core::mem::zeroed()) - } + fn clear_range(bgn: *mut u8, end: *mut u8) { + unsafe { core::slice::from_raw_parts_mut(bgn, end.offset_from(bgn) as usize).fill(core::mem::zeroed()) } } unsafe { - clear_range(BOOT_STACK_END.as_mut_ptr(), BSS_END.as_mut_ptr()); - clear_range(TBSS_START.as_mut_ptr(), TBSS_END.as_mut_ptr()); + clear_range( + BOOT_STACK_END.as_phys_addr().as_mut_ptr(), + BSS_END.as_phys_addr().as_mut_ptr(), + ); + clear_range(TBSS_START.as_phys_addr().as_mut_ptr(), TBSS_END.as_phys_addr().as_mut_ptr()); } } diff --git a/kernel/src/arch/riscv/trap.rs b/kernel/src/arch/riscv/trap.rs index 5f96b21..2a618e8 100644 --- a/kernel/src/arch/riscv/trap.rs +++ b/kernel/src/arch/riscv/trap.rs @@ -32,11 +32,7 @@ extern "C" fn kernel_trap_handler(tf: &mut TrapContext) { fn trap_handler(_tf: &mut TrapContext, _from_kernel: bool) { let scause = riscv::register::scause::read(); - trace!( - "[Interrupt] cpu@{} scause: {:?}", - get_hart_id(), - scause.cause() - ); + trace!("[Interrupt] cpu@{} scause: {:?}", get_hart_id(), scause.cause()); match scause.cause() { T::Interrupt(I::SupervisorTimer) => { // TODO: refactor this diff --git a/kernel/src/arch/riscv/vspace/entry.rs b/kernel/src/arch/riscv/vspace/entry.rs index 23ad2a5..c3bb8d1 100644 --- a/kernel/src/arch/riscv/vspace/entry.rs +++ b/kernel/src/arch/riscv/vspace/entry.rs @@ -34,8 +34,7 @@ impl From for MapAttr { if flags.contains(PTEFlags::USER_ACCESSIBLE) { attr.insert(Self::USER_ACCESSIBLE); } - if flags.contains(PTEFlags::VALID) - && !flags.contains(PTEFlags::READABLE | PTEFlags::WRITABLE | PTEFlags::EXECUTABLE) + if flags.contains(PTEFlags::VALID) && !flags.contains(PTEFlags::READABLE | PTEFlags::WRITABLE | PTEFlags::EXECUTABLE) { attr.insert(Self::PAGE_TABLE); } diff --git a/kernel/src/arch/riscv/vspace/table.rs b/kernel/src/arch/riscv/vspace/table.rs index 2f531f0..bef8a18 100644 --- a/kernel/src/arch/riscv/vspace/table.rs +++ b/kernel/src/arch/riscv/vspace/table.rs @@ -57,13 +57,7 @@ impl TableOps for Table { &mut *ptr } - fn map( - &mut self, - from: VirtAddr, - to: PhysAddr, - attr: MapAttr, - level: TableLevel, - ) -> PageResult { + fn map(&mut self, from: VirtAddr, to: PhysAddr, attr: MapAttr, level: TableLevel) -> PageResult { assert!(from.is_aligned(PAGE_SIZE)); assert!(to.is_aligned(PAGE_SIZE)); assert!(level.is_aligned(from)); @@ -124,12 +118,7 @@ impl TableOps for Table { } impl Table { - fn debug_walk( - &self, - f: &mut core::fmt::Formatter, - base: VirtAddr, - level: TableLevel, - ) -> core::fmt::Result { + fn debug_walk(&self, f: &mut core::fmt::Formatter, base: VirtAddr, level: TableLevel) -> core::fmt::Result { macro_rules! print_one { ($($arg:tt)*) => { for _ in level.to_usize().unwrap()..Self::MAX_PAGE_SIZE.to_usize().unwrap() { diff --git a/kernel/src/arch/riscv/vspace/traits.rs b/kernel/src/arch/riscv/vspace/traits.rs index 231fb47..3d7c112 100644 --- a/kernel/src/arch/riscv/vspace/traits.rs +++ b/kernel/src/arch/riscv/vspace/traits.rs @@ -56,8 +56,7 @@ pub trait VirtAddrPaging { fn to_vpn(&self, level: TableLevel) -> usize where Self: AddressOps { - self.as_usize() >> (Self::PG_OFFSET + Self::VPN_BITS * level.to_usize().unwrap()) - & Self::VPN_MASK + self.as_usize() >> (Self::PG_OFFSET + Self::VPN_BITS * level.to_usize().unwrap()) & Self::VPN_MASK } fn merge_vpn(&self, vpn: usize, size: TableLevel) -> VirtAddr diff --git a/kernel/src/entry.rs b/kernel/src/entry.rs index d1d7aa7..13eed07 100644 --- a/kernel/src/entry.rs +++ b/kernel/src/entry.rs @@ -54,11 +54,7 @@ pub extern "C" fn rust_main(hart_id: usize, fdt_addr: usize, allocator: &mut Ram fn setup_console(fdt: &fdt::Fdt) { // NOTE: ignore stdin: both stdin and stdout will go through stdout device - match fdt - .chosen() - .stdout() - .and_then(|stdout| ConsoleDriver::new(stdout)) - { + match fdt.chosen().stdout().and_then(|stdout| ConsoleDriver::new(stdout)) { None => warn!("No stdout device found or no compatible drivers found, falling back to platform default"), Some(driver) => set_console(driver), } diff --git a/kernel/src/plat/console.rs b/kernel/src/plat/console.rs index edee347..537deea 100644 --- a/kernel/src/plat/console.rs +++ b/kernel/src/plat/console.rs @@ -99,8 +99,7 @@ pub trait ConsoleDevice { } } -pub static CONSOLE: Mutex = - Mutex::new(ConsoleDriver::SilenceConsole(SilenceConsole)); +pub static CONSOLE: Mutex = Mutex::new(ConsoleDriver::SilenceConsole(SilenceConsole)); pub fn set_console(driver: ConsoleDriver) { *CONSOLE.lock() = driver; @@ -114,9 +113,6 @@ mod tests { #[test_case] fn print_with_console() { CONSOLE.lock().write(b'A'); - CONSOLE - .lock() - .write_fmt(format_args!("B {}\n", 0x42)) - .unwrap(); + CONSOLE.lock().write_fmt(format_args!("B {}\n", 0x42)).unwrap(); } } diff --git a/rustfmt.toml b/rustfmt.toml index ee754e5..6fd290b 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,6 +1,8 @@ unstable_features = true edition = "2021" +max_width = 125 + blank_lines_lower_bound = 0 enum_discrim_align_threshold = 20 struct_field_align_threshold = 20