From 128ffa0bff77ab2fe087cec288197c2d71a576e9 Mon Sep 17 00:00:00 2001 From: "Tate, Hongliang Tian" Date: Mon, 5 Sep 2022 15:27:44 -0700 Subject: [PATCH] Format Rust code --- Makefile | 1 - src/kxos-frame/src/lib.rs | 15 ++++++--------- src/kxos-frame/src/task/task.rs | 23 +++++++++++++++-------- src/kxos-frame/src/vm/frame.rs | 8 ++++---- src/kxos-frame/src/vm/space.rs | 2 +- src/kxos-std/src/memory/elf.rs | 14 ++++---------- src/kxos-std/src/process/task.rs | 3 ++- 7 files changed, 32 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index e27c69dce..eaec018f8 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,6 @@ docs: @cd docs && mdbook build # Build mdBook check: - @cd src && cargo check # Check dependency errors @cd src && cargo fmt --check # Check Rust format issues @cd src && cargo clippy # Check common programming mistakes diff --git a/src/kxos-frame/src/lib.rs b/src/kxos-frame/src/lib.rs index d1a255531..5cf0476b1 100644 --- a/src/kxos-frame/src/lib.rs +++ b/src/kxos-frame/src/lib.rs @@ -38,10 +38,9 @@ use bootloader::{ boot_info::{FrameBuffer, MemoryRegionKind}, BootInfo, }; -use trap::{TrapFrame, IrqLine, IrqCallbackHandle}; - -static mut IRQ_CALLBACK_LIST : Vec = Vec::new(); +use trap::{IrqCallbackHandle, IrqLine, TrapFrame}; +static mut IRQ_CALLBACK_LIST: Vec = Vec::new(); pub fn init(boot_info: &'static mut BootInfo) { let siz = boot_info.framebuffer.as_ref().unwrap() as *const FrameBuffer as usize; @@ -66,16 +65,14 @@ pub fn init(boot_info: &'static mut BootInfo) { if !memory_init { panic!("memory init failed"); } - unsafe{ - for i in 0..256{ + unsafe { + for i in 0..256 { IRQ_CALLBACK_LIST.push(IrqLine::acquire(i as u8).on_active(general_handler)) } } - - } -fn general_handler(trap_frame: TrapFrame){ - println!("{:?}",trap_frame); +fn general_handler(trap_frame: TrapFrame) { + println!("{:?}", trap_frame); panic!("couldn't handler trap right now"); } diff --git a/src/kxos-frame/src/task/task.rs b/src/kxos-frame/src/task/task.rs index 0f81d0530..d3ff4f701 100644 --- a/src/kxos-frame/src/task/task.rs +++ b/src/kxos-frame/src/task/task.rs @@ -4,10 +4,10 @@ use core::mem::size_of; use lazy_static::lazy_static; use crate::cell::Cell; -use crate::config::{PAGE_SIZE, KERNEL_STACK_SIZE}; +use crate::config::{KERNEL_STACK_SIZE, PAGE_SIZE}; use crate::trap::{CalleeRegs, SyscallFrame, TrapFrame}; use crate::user::{syscall_switch_to_user_space, trap_switch_to_user_space, UserSpace}; -use crate::vm::{VmFrameVec, VmAllocOptions}; +use crate::vm::{VmAllocOptions, VmFrameVec}; use crate::{prelude::*, UPSafeCell}; use super::processor::{current_task, schedule}; @@ -84,7 +84,8 @@ pub struct KernelStack { impl KernelStack { pub fn new() -> Self { Self { - frame: VmFrameVec::allocate(&VmAllocOptions::new(KERNEL_STACK_SIZE/PAGE_SIZE)).expect("out of memory"), + frame: VmFrameVec::allocate(&VmAllocOptions::new(KERNEL_STACK_SIZE / PAGE_SIZE)) + .expect("out of memory"), } } } @@ -170,10 +171,10 @@ impl Task { result.task_inner.exclusive_access().task_status = TaskStatus::Runnable; result.task_inner.exclusive_access().ctx.rip = kernel_task_entry as usize; - result.task_inner.exclusive_access().ctx.regs.rsp = result.kstack.frame.end_pa().unwrap().kvaddr().0 - as usize - - size_of::() - - size_of::(); + result.task_inner.exclusive_access().ctx.regs.rsp = + result.kstack.frame.end_pa().unwrap().kvaddr().0 as usize + - size_of::() + - size_of::(); let arc_self = Arc::new(result); add_task(arc_self.clone()); @@ -197,7 +198,13 @@ impl Task { pub(crate) fn trap_frame(&self) -> &mut TrapFrame { unsafe { - &mut *(self.kstack.frame.end_pa().unwrap().kvaddr().get_mut::() as *mut TrapFrame) + &mut *(self + .kstack + .frame + .end_pa() + .unwrap() + .kvaddr() + .get_mut::() as *mut TrapFrame) .sub(1) } } diff --git a/src/kxos-frame/src/vm/frame.rs b/src/kxos-frame/src/vm/frame.rs index 9f462f2ae..6bb20b518 100644 --- a/src/kxos-frame/src/vm/frame.rs +++ b/src/kxos-frame/src/vm/frame.rs @@ -44,10 +44,10 @@ impl VmFrameVec { } /// get the end pa of the collection - pub fn end_pa(&self) -> Option{ - if let Some(frame) = self.0.last(){ - Some(PhysAddr(frame.paddr()+PAGE_SIZE)) - }else{ + pub fn end_pa(&self) -> Option { + if let Some(frame) = self.0.last() { + Some(PhysAddr(frame.paddr() + PAGE_SIZE)) + } else { None } } diff --git a/src/kxos-frame/src/vm/space.rs b/src/kxos-frame/src/vm/space.rs index 551995e72..d0e4d6efa 100644 --- a/src/kxos-frame/src/vm/space.rs +++ b/src/kxos-frame/src/vm/space.rs @@ -32,7 +32,7 @@ impl VmSpace { memory_set: unsafe { UPSafeCell::new(MemorySet::new()) }, } } - /// Activate the page table, load root physical address to cr3 + /// Activate the page table, load root physical address to cr3 pub unsafe fn activate(&self) { x86_64_util::set_cr3(self.memory_set.exclusive_access().pt.root_pa.0); } diff --git a/src/kxos-std/src/memory/elf.rs b/src/kxos-std/src/memory/elf.rs index 2338bd39c..8e2158264 100644 --- a/src/kxos-std/src/memory/elf.rs +++ b/src/kxos-std/src/memory/elf.rs @@ -261,15 +261,9 @@ fn read_segment_data<'a>( ) -> Result<&'a [u8], &'static str> { match segment.get_data(&elf_file) { Err(msg) => Err(msg), - Ok(data) => { - match data { - SegmentData::Note64(_, data) | SegmentData::Undefined(data) => { - Ok(data) - }, - _ => { - Err("Unkonwn segment data type") - } - } - } + Ok(data) => match data { + SegmentData::Note64(_, data) | SegmentData::Undefined(data) => Ok(data), + _ => Err("Unkonwn segment data type"), + }, } } diff --git a/src/kxos-std/src/process/task.rs b/src/kxos-std/src/process/task.rs index 2bf6b66af..16807f224 100644 --- a/src/kxos-std/src/process/task.rs +++ b/src/kxos-std/src/process/task.rs @@ -1,9 +1,10 @@ use alloc::sync::Arc; use kxos_frame::{ cpu::CpuContext, + debug, task::Task, user::{UserEvent, UserMode, UserSpace}, - vm::VmSpace, debug, + vm::VmSpace, }; use crate::{memory::load_elf_to_vm_space, syscall::syscall_handler};