diff --git a/Cargo.lock b/Cargo.lock index d142690..71a2ac3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -473,9 +473,9 @@ dependencies = [ [[package]] name = "page-table-generic" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a30ec0fae66e5c771997d02e8e42d1ac1af1dbbae5f28939ca7b36a9db118764" +checksum = "018c05ebe5dc33c40b248e813f8c4ae38e4d9ca5078069a54b9cd22b8464265f" dependencies = [ "bitflags", "log", diff --git a/crates/sparreal-kernel/Cargo.toml b/crates/sparreal-kernel/Cargo.toml index ce02486..d4908a7 100644 --- a/crates/sparreal-kernel/Cargo.toml +++ b/crates/sparreal-kernel/Cargo.toml @@ -19,7 +19,7 @@ buddy_system_allocator = "0.11" sparreal-macros = { version = "0.6", path = "../sparreal-macros" } driver-interface = { version = "0.2", path = "../driver-interface" } memory_addr = "0.3" -page-table-generic = { version = "0.4" } +page-table-generic = { version = "0.5" } fdt-parser = "0.4" lock_api = "0.4" pasts = { version = "0.14", default-features = false } diff --git a/crates/sparreal-kernel/src/mem/mmu/mod.rs b/crates/sparreal-kernel/src/mem/mmu/mod.rs index 4b96967..d6ff977 100644 --- a/crates/sparreal-kernel/src/mem/mmu/mod.rs +++ b/crates/sparreal-kernel/src/mem/mmu/mod.rs @@ -82,7 +82,7 @@ pub fn new_boot_table(rsv: &[BootMemoryRegion]) -> Result { name: "debugcon", range: start..start + 0x1000, access: AccessSetting::Read | AccessSetting::Write | AccessSetting::Execute, - cache: CacheSetting::DeviceBidirectional, + cache: CacheSetting::Device, }, &mut access, ); diff --git a/crates/sparreal-kernel/src/mem/mmu/paging.rs b/crates/sparreal-kernel/src/mem/mmu/paging.rs index 15943ea..2e1de58 100644 --- a/crates/sparreal-kernel/src/mem/mmu/paging.rs +++ b/crates/sparreal-kernel/src/mem/mmu/paging.rs @@ -105,7 +105,7 @@ pub fn init_table() { vaddr.into(), reg.into(), AccessSetting::Read | AccessSetting::Write, - CacheSetting::DeviceBidirectional, + CacheSetting::Device, ), 0x1000, true, @@ -133,7 +133,7 @@ pub fn iomap(paddr: PhysAddr, size: usize) -> NonNull { vaddr.into(), paddr.as_usize(), AccessSetting::Read | AccessSetting::Write, - CacheSetting::DeviceBidirectional, + CacheSetting::Device, ), size, true, diff --git a/crates/sparreal-rt/Cargo.toml b/crates/sparreal-rt/Cargo.toml index 07b034a..3e66b36 100644 --- a/crates/sparreal-rt/Cargo.toml +++ b/crates/sparreal-rt/Cargo.toml @@ -15,7 +15,7 @@ early-print = [] [dependencies] log = "0.4" -page-table-generic = { version = "0.4" } +page-table-generic = { version = "0.5" } futures = { version = "0.3", default-features = false, features = ["alloc"] } sparreal-macros = { version = "0.6", path = "../sparreal-macros" } sparreal-kernel = { version = "0.6", path = "../sparreal-kernel", features = [ diff --git a/crates/sparreal-rt/src/arch/aarch64/mmu.rs b/crates/sparreal-rt/src/arch/aarch64/mmu.rs index c14f294..e31db30 100644 --- a/crates/sparreal-rt/src/arch/aarch64/mmu.rs +++ b/crates/sparreal-rt/src/arch/aarch64/mmu.rs @@ -44,10 +44,8 @@ impl MMU for PageTableImpl { pte.set_mair_idx(MAIRDefault::get_idx(match config.setting.cache_setting { CacheSetting::Normal => MAIRKind::Normal, - CacheSetting::DeviceBidirectional => MAIRKind::Device, + CacheSetting::Device => MAIRKind::Device, CacheSetting::NonCache => MAIRKind::NonCache, - CacheSetting::ToDevice => MAIRKind::Device, - CacheSetting::FromDevice => MAIRKind::Device, })); let privilege = &config.setting.privilege_access; @@ -105,7 +103,7 @@ impl MMU for PageTableImpl { let mair_idx = pte.get_mair_idx(); cache_setting = match MAIRDefault::from_idx(mair_idx) { - MAIRKind::Device => CacheSetting::DeviceBidirectional, + MAIRKind::Device => CacheSetting::Device, MAIRKind::Normal => CacheSetting::Normal, MAIRKind::NonCache => CacheSetting::NonCache, };