diff --git a/page_table_entry/src/arch/loongarch64.rs b/page_table_entry/src/arch/loongarch64.rs index 354119f..bab6a9b 100644 --- a/page_table_entry/src/arch/loongarch64.rs +++ b/page_table_entry/src/arch/loongarch64.rs @@ -97,7 +97,7 @@ impl From for PTEFlags { ret |= Self::NR; } if f.contains(MappingFlags::WRITE) { - ret |= Self::W; + ret |= Self::W | Self::D; } if !f.contains(MappingFlags::EXECUTE) { ret |= Self::NX; @@ -134,7 +134,7 @@ impl LA64PTE { impl GenericPTE for LA64PTE { fn new_page(paddr: PhysAddr, flags: MappingFlags, is_huge: bool) -> Self { - let mut flags = PTEFlags::from(flags) | PTEFlags::D; + let mut flags = PTEFlags::from(flags); if is_huge { flags |= PTEFlags::GH; } @@ -153,7 +153,7 @@ impl GenericPTE for LA64PTE { self.0 = (self.0 & !Self::PHYS_ADDR_MASK) | (paddr.as_usize() as u64 & Self::PHYS_ADDR_MASK) } fn set_flags(&mut self, flags: MappingFlags, is_huge: bool) { - let mut flags = PTEFlags::from(flags) | PTEFlags::D; + let mut flags = PTEFlags::from(flags); if is_huge { flags |= PTEFlags::GH; } diff --git a/page_table_entry/src/lib.rs b/page_table_entry/src/lib.rs index 7a675f9..71f51dc 100644 --- a/page_table_entry/src/lib.rs +++ b/page_table_entry/src/lib.rs @@ -1,5 +1,5 @@ #![cfg_attr(not(test), no_std)] -#![cfg_attr(doc, feature(doc_auto_cfg))] +#![cfg_attr(doc, feature(doc_cfg))] #![doc = include_str!("../README.md")] mod arch; diff --git a/page_table_multiarch/src/lib.rs b/page_table_multiarch/src/lib.rs index a9911e7..42f517f 100644 --- a/page_table_multiarch/src/lib.rs +++ b/page_table_multiarch/src/lib.rs @@ -1,5 +1,5 @@ #![cfg_attr(not(test), no_std)] -#![cfg_attr(doc, feature(doc_auto_cfg))] +#![cfg_attr(doc, feature(doc_cfg))] #![doc = include_str!("../README.md")] #[macro_use]