Browse Source

chore: format & sync master

chiichen 5 months ago
parent
commit
08146c9d58

+ 1 - 2
kernel/Cargo.toml

@@ -10,7 +10,7 @@ edition = "2021"
 crate-type = ["staticlib"]
 
 [workspace]
-members = [ 
+members = [
     "crates/*",
 ]
 
@@ -57,7 +57,6 @@ wait_queue_macros = { path = "crates/wait_queue_macros" }
 paste = "=1.0.14"
 slabmalloc = { path = "crates/rust-slabmalloc" }
 log = "0.4.21"
-xarray = "0.1.0"
 lru = "0.12.3"
 
 # target为x86_64时,使用下面的依赖

+ 2 - 2
kernel/src/driver/video/mod.rs

@@ -10,8 +10,8 @@ use crate::{
         spinlock::SpinLock,
     },
     mm::{
-        allocator::page_frame::PageFrameCount, kernel_mapper::KernelMapper, page::EntryFlags, mmio_buddy::mmio_pool
-        MemoryManagementArch,
+        allocator::page_frame::PageFrameCount, kernel_mapper::KernelMapper, mmio_buddy::mmio_pool,
+        page::EntryFlags, MemoryManagementArch,
     },
     time::timer::{Timer, TimerFunction},
 };

+ 0 - 1
kernel/src/filesystem/vfs/file.rs

@@ -8,7 +8,6 @@ use alloc::{
 use kdepends::xarray::XArray;
 use log::error;
 use system_error::SystemError;
-use xarray::XArray;
 
 use super::{Dirent, FileType, IndexNode, InodeId, Metadata, SpecialNodeData};
 use crate::filesystem::eventfd::EventFdInode;

+ 1 - 43
kernel/src/mm/c_adapter.rs

@@ -9,11 +9,7 @@ use system_error::SystemError;
 
 use crate::libs::spinlock::SpinLock;
 
-
-use super::{
-    allocator::page_frame::PageFrameCount, kernel_mapper::KernelMapper, mmio_buddy::mmio_pool,
-    no_init::pseudo_map_phys, page::EntryFlags, MemoryManagementArch, PhysAddr, VirtAddr,
-};
+use super::{mmio_buddy::mmio_pool, VirtAddr};
 
 lazy_static! {
     // 用于记录内核分配给C的空间信息
@@ -21,44 +17,6 @@ lazy_static! {
 }
 
 #[no_mangle]
-pub unsafe extern "C" fn rs_pseudo_map_phys(vaddr: usize, paddr: usize, size: usize) {
-    let vaddr = VirtAddr::new(vaddr);
-    let paddr = PhysAddr::new(paddr);
-    let count = PageFrameCount::new(page_align_up(size) / MMArch::PAGE_SIZE);
-    pseudo_map_phys(vaddr, paddr, count);
-}
-
-/// [EXTERN TO C] Use kernel mapper to map physical memory to virtual memory.
-#[no_mangle]
-pub unsafe extern "C" fn rs_map_phys(vaddr: usize, paddr: usize, size: usize, flags: usize) {
-    let mut vaddr = VirtAddr::new(vaddr);
-    let mut paddr = PhysAddr::new(paddr);
-    let count = PageFrameCount::new(page_align_up(size) / MMArch::PAGE_SIZE);
-    // debug!("rs_map_phys: vaddr: {vaddr:?}, paddr: {paddr:?}, count: {count:?}, flags: {flags:?}");
-
-    let mut page_flags: EntryFlags<MMArch> = EntryFlags::new().set_execute(true).set_write(true);
-    if flags & PAGE_U_S as usize != 0 {
-        page_flags = page_flags.set_user(true);
-    }
-
-    let mut kernel_mapper = KernelMapper::lock();
-    let mut kernel_mapper = kernel_mapper.as_mut();
-    assert!(kernel_mapper.is_some());
-    for _i in 0..count.data() {
-        let flusher = kernel_mapper
-            .as_mut()
-            .unwrap()
-            .map_phys(vaddr, paddr, page_flags)
-            .unwrap();
-
-        flusher.flush();
-
-        vaddr += MMArch::PAGE_SIZE;
-        paddr += MMArch::PAGE_SIZE;
-    }
-}
-
-
 pub unsafe extern "C" fn kzalloc(size: usize, _gfp: u64) -> usize {
     // debug!("kzalloc: size: {size}");
     return do_kmalloc(size, true);

+ 1 - 1
kernel/src/mm/ucontext.rs

@@ -360,7 +360,7 @@ impl InnerAddressSpace {
             | VmFlags::VM_MAYWRITE
             | VmFlags::VM_MAYEXEC;
         // debug!("map_anonymous: len = {}", len);
-      
+
         let binding = ProcessManager::current_pcb().fd_table();
         let fd_table_guard = binding.read();