refactor: fix non-doc warnings

This commit is contained in:
Mark Poliakov 2021-11-11 22:27:19 +02:00
parent 7e04b11da8
commit 0a10b3c0b3
5 changed files with 16 additions and 26 deletions

View File

@ -10,14 +10,12 @@ use crate::dev::{
use crate::mem::virt::DeviceMemoryIo; use crate::mem::virt::DeviceMemoryIo;
use crate::sync::IrqSafeSpinLock; use crate::sync::IrqSafeSpinLock;
use crate::util::InitOnce; use crate::util::InitOnce;
use core::fmt;
use libsys::error::Errno; use libsys::error::Errno;
use tock_registers::{ use tock_registers::{
interfaces::{ReadWriteable, Readable, Writeable}, interfaces::{ReadWriteable, Readable, Writeable},
register_bitfields, register_structs, register_bitfields, register_structs,
registers::{ReadOnly, ReadWrite, WriteOnly}, registers::{ReadOnly, ReadWrite, WriteOnly},
}; };
use vfs::CharDevice;
register_bitfields! { register_bitfields! {
u32, u32,

View File

@ -9,7 +9,6 @@ use libsys::{
}; };
use core::mem::size_of; use core::mem::size_of;
use crate::syscall::arg::validate_user_ptr_struct; use crate::syscall::arg::validate_user_ptr_struct;
use vfs::CharDevice;
#[derive(Debug)] #[derive(Debug)]
struct CharRingInner<const N: usize> { struct CharRingInner<const N: usize> {
@ -30,7 +29,7 @@ pub struct CharRing<const N: usize> {
pub trait TtyDevice<const N: usize>: SerialDevice { pub trait TtyDevice<const N: usize>: SerialDevice {
fn ring(&self) -> &CharRing<N>; fn ring(&self) -> &CharRing<N>;
fn tty_ioctl(&self, cmd: IoctlCmd, ptr: usize, len: usize) -> Result<usize, Errno> { fn tty_ioctl(&self, cmd: IoctlCmd, ptr: usize, _len: usize) -> Result<usize, Errno> {
match cmd { match cmd {
IoctlCmd::TtyGetAttributes => { IoctlCmd::TtyGetAttributes => {
// TODO validate size // TODO validate size
@ -132,7 +131,7 @@ pub trait TtyDevice<const N: usize>: SerialDevice {
let idx = data[..off].iter().rposition(|&ch| ch == b' ').unwrap_or(0); let idx = data[..off].iter().rposition(|&ch| ch == b' ').unwrap_or(0);
let len = off; let len = off;
for i in idx..len { for _ in idx..len {
self.raw_write(b"\x1B[D \x1B[D").ok(); self.raw_write(b"\x1B[D \x1B[D").ok();
off -= 1; off -= 1;
rem += 1; rem += 1;

View File

@ -2,9 +2,7 @@ use super::{PageInfo, PageUsage};
use crate::mem::{virtualize, PAGE_SIZE}; use crate::mem::{virtualize, PAGE_SIZE};
use crate::sync::IrqSafeSpinLock; use crate::sync::IrqSafeSpinLock;
use core::mem; use core::mem;
use libsys::{ use libsys::{error::Errno, mem::memcpy};
error::Errno, mem::{memset, memcpy}
};
pub unsafe trait Manager { pub unsafe trait Manager {
fn alloc_page(&mut self, pu: PageUsage) -> Result<usize, Errno>; fn alloc_page(&mut self, pu: PageUsage) -> Result<usize, Errno>;

View File

@ -227,7 +227,11 @@ impl Space {
let src_phys = unsafe { entry.address_unchecked() }; let src_phys = unsafe { entry.address_unchecked() };
if !entry.is_cow() { if !entry.is_cow() {
warnln!("Entry is not marked as CoW: {:#x}, points to {:#x}", virt, src_phys); warnln!(
"Entry is not marked as CoW: {:#x}, points to {:#x}",
virt,
src_phys
);
return Err(Errno::DoesNotExist); return Err(Errno::DoesNotExist);
} }
@ -270,7 +274,7 @@ impl Space {
unsafe { unsafe {
asm!("tlbi vaae1, {}", in(reg) virt_addr); asm!("tlbi vaae1, {}", in(reg) virt_addr);
} }
res.map(virt_addr, dst_phys, flags); res.map(virt_addr, dst_phys, flags)?;
} }
} }
} }
@ -288,8 +292,7 @@ impl Space {
} }
assert!(l0_entry.is_table()); assert!(l0_entry.is_table());
let l1_table = let l1_table = &mut *(mem::virtualize(l0_entry.address_unchecked()) as *mut Table);
unsafe { &mut *(mem::virtualize(l0_entry.address_unchecked()) as *mut Table) };
for l1i in 0..512 { for l1i in 0..512 {
let l1_entry = l1_table[l1i]; let l1_entry = l1_table[l1i];
@ -297,8 +300,7 @@ impl Space {
continue; continue;
} }
assert!(l1_entry.is_table()); assert!(l1_entry.is_table());
let l2_table = let l2_table = &mut *(mem::virtualize(l1_entry.address_unchecked()) as *mut Table);
unsafe { &mut *(mem::virtualize(l1_entry.address_unchecked()) as *mut Table) };
for l2i in 0..512 { for l2i in 0..512 {
let entry = l2_table[l2i]; let entry = l2_table[l2i];
@ -307,20 +309,12 @@ impl Space {
} }
assert!(entry.is_table()); assert!(entry.is_table());
unsafe { phys::free_page(entry.address_unchecked()).unwrap();
phys::free_page(unsafe { entry.address_unchecked() });
}
}
unsafe {
phys::free_page(unsafe { l1_entry.address_unchecked() });
} }
phys::free_page(l1_entry.address_unchecked()).unwrap();
} }
unsafe { phys::free_page(l0_entry.address_unchecked()).unwrap();
phys::free_page(unsafe { l0_entry.address_unchecked() });
}
}
unsafe {
memset(space as *mut Space as *mut u8, 0, 4096);
} }
memset(space as *mut Space as *mut u8, 0, 4096);
} }
} }

View File

@ -3,6 +3,7 @@ use crate::error::Errno;
#[derive(Clone, Copy, Debug)] #[derive(Clone, Copy, Debug)]
#[repr(u32)] #[repr(u32)]
#[non_exhaustive]
pub enum IoctlCmd { pub enum IoctlCmd {
TtySetAttributes = 1, TtySetAttributes = 1,
TtyGetAttributes = 2, TtyGetAttributes = 2,