Skip to content

Commit 75bd6fc

Browse files
committed
Fix page faults on QEMU
1 parent 11d43cf commit 75bd6fc

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

src/paging/page_table.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,7 @@ impl PTE for PageTableEntryX32 {
125125
fn frame<T: PhysicalAddress>(&self) -> FrameWith<T> {
126126
FrameWith::of_addr(self.addr())
127127
}
128-
fn set<T: PhysicalAddress>(&mut self, frame: FrameWith<T>, mut flags: PageTableFlags) {
129-
// U540 will raise page fault when accessing page with A=0 or D=0
130-
flags |= EF::ACCESSED | EF::DIRTY;
128+
fn set<T: PhysicalAddress>(&mut self, frame: FrameWith<T>, flags: PageTableFlags) {
131129
self.0 = ((frame.number() << 10) | flags.bits()) as u32;
132130
}
133131
fn flags_mut(&mut self) -> &mut PageTableFlags {
@@ -169,9 +167,7 @@ impl PTE for PageTableEntryX64 {
169167
fn frame<T: PhysicalAddress>(&self) -> FrameWith<T> {
170168
FrameWith::of_addr(self.addr())
171169
}
172-
fn set<T: PhysicalAddress>(&mut self, frame: FrameWith<T>, mut flags: PageTableFlags) {
173-
// U540 will raise page fault when accessing page with A=0 or D=0
174-
flags |= EF::ACCESSED | EF::DIRTY;
170+
fn set<T: PhysicalAddress>(&mut self, frame: FrameWith<T>, flags: PageTableFlags) {
175171
self.0 = ((frame.number() << 10) | flags.bits()) as u64;
176172
}
177173
fn flags_mut(&mut self) -> &mut PageTableFlags {
@@ -248,5 +244,3 @@ bitflags! {
248244
const RESERVED2 = 1 << 9;
249245
}
250246
}
251-
252-
type EF = PageTableFlags;

0 commit comments

Comments
 (0)