finish arch

This commit is contained in:
Garen Tyler 2023-11-09 20:55:46 -07:00
parent 8edb4c2427
commit 9693d83bde
Signed by: garentyler
GPG Key ID: D7A048C454CB7054
9 changed files with 18 additions and 18 deletions

View File

@ -1,5 +1,5 @@
#[cfg(target_arch = "riscv64")]
pub mod riscv;
mod riscv;
#[cfg(target_arch = "riscv64")]
pub use riscv::hardware;
@ -43,6 +43,11 @@ pub mod mem {
}
}
pub mod virtual_memory {
#[cfg(target_arch = "riscv64")]
pub use super::riscv::virtual_memory::{kvminit as init, kvminithart as inithart, copyin, copyinstr, copyout, mappages, uvmalloc, uvmcopy, uvmcreate, uvmdealloc, uvmfree, uvmunmap};
}
pub mod power {
#[cfg(target_arch = "riscv64")]
pub use super::riscv::power::shutdown;

View File

@ -7,8 +7,7 @@ pub mod plic;
pub mod power;
pub mod start;
pub mod trap;
pub use mem::make_satp;
pub mod virtual_memory;
/// Previous mode
pub const MSTATUS_MPP_MASK: u64 = 3 << 11;

View File

@ -1,3 +1,4 @@
use super::{asm, mem::{make_satp, pte2pa}, plic::PLIC, power::QEMU_POWER};
use crate::{
arch::{
self,
@ -6,7 +7,6 @@ use crate::{
round_down_page, round_up_page, Pagetable, PagetableEntry, KERNEL_BASE, PAGE_SIZE,
PHYSICAL_END, PTE_R, PTE_U, PTE_V, PTE_W, PTE_X, TRAMPOLINE, VIRTUAL_MAX,
},
riscv::{asm, make_satp, mem::pte2pa, plic::PLIC, power::QEMU_POWER},
},
mem::{
kalloc::{kalloc, kfree},

View File

@ -3,7 +3,7 @@
use crate::{
fs::{log, stat::Stat},
io::pipe::Pipe,
mem::virtual_memory::copyout,
arch::virtual_memory::copyout,
proc::process::Process,
sync::{sleeplock::Sleeplock, spinlock::Spinlock},
};

View File

@ -1,9 +1,7 @@
use crate::{
fs::file::{filealloc, fileclose, File, FileType},
mem::{
kalloc::{kalloc, kfree},
virtual_memory::{copyin, copyout},
},
mem::kalloc::{kalloc, kfree},
arch::virtual_memory::{copyin, copyout},
proc::{process::Process, scheduler::wakeup},
sync::spinlock::Spinlock,
};

View File

@ -59,8 +59,8 @@ pub unsafe fn main() -> ! {
console::consoleinit();
mem::kalloc::kinit();
println!("\nxv6 kernel is booting");
mem::virtual_memory::kvminit();
mem::virtual_memory::kvminithart();
arch::virtual_memory::init();
arch::virtual_memory::inithart();
proc::process::procinit();
arch::trap::inithart();
arch::interrupt::init();
@ -75,7 +75,7 @@ pub unsafe fn main() -> ! {
while !STARTED {
core::hint::spin_loop();
}
mem::virtual_memory::kvminithart();
arch::virtual_memory::inithart();
arch::trap::inithart();
arch::interrupt::inithart();
}

View File

@ -1,5 +1,4 @@
pub mod kalloc;
pub mod virtual_memory;
#[no_mangle]
pub unsafe extern "C" fn memset(dst: *mut u8, data: i32, max_bytes: u32) -> *mut u8 {

View File

@ -10,6 +10,9 @@ use crate::{
arch::{
mem::{Pagetable, PAGE_SIZE, PTE_R, PTE_W, PTE_X, TRAMPOLINE, TRAPFRAME},
trap::InterruptBlocker,
virtual_memory::{
copyout, mappages, uvmalloc, uvmcopy, uvmcreate, uvmdealloc, uvmfree, uvmunmap,
},
},
fs::{
file::{fileclose, filedup, File, Inode},
@ -19,9 +22,6 @@ use crate::{
mem::{
kalloc::{kalloc, kfree},
memset,
virtual_memory::{
copyout, mappages, uvmalloc, uvmcopy, uvmcreate, uvmdealloc, uvmfree, uvmunmap,
},
},
sync::spinlock::Spinlock,
uprintln,

View File

@ -1,12 +1,11 @@
use crate::{
arch::{clock::CLOCK_TICKS, power::shutdown},
arch::{clock::CLOCK_TICKS, power::shutdown, virtual_memory::{copyin, copyinstr}},
fs::{
self,
file::{self, File},
log::LogOperation,
stat::KIND_DIR,
},
mem::virtual_memory::{copyin, copyinstr},
println,
proc::process::Process,
string::strlen,