chore: adjust max_width

This commit is contained in:
Paul Pan 2024-04-12 01:17:36 +08:00
parent f41664e7cd
commit beb792d426
9 changed files with 18 additions and 42 deletions

View File

@ -14,8 +14,7 @@ impl ConsoleDevice for EarlyConsole {
fn try_read(&mut self) -> Option<u8> {
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) {

View File

@ -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<T: Clone>(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());
}
}

View File

@ -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

View File

@ -34,8 +34,7 @@ impl From<PTEFlags> 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);
}

View File

@ -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() {

View File

@ -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

View File

@ -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),
}

View File

@ -99,8 +99,7 @@ pub trait ConsoleDevice {
}
}
pub static CONSOLE: Mutex<ConsoleDriver> =
Mutex::new(ConsoleDriver::SilenceConsole(SilenceConsole));
pub static CONSOLE: Mutex<ConsoleDriver> = 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();
}
}

View File

@ -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