Browse Source

memory::paging::entry::Entry.set(): nicer misalignment panic message

master
3moon 8 years ago
parent
commit
d471b2ca67
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      src/arch/x86_64/memory/paging/entry.rs

+ 4
- 1
src/arch/x86_64/memory/paging/entry.rs View File

@ -1,3 +1,5 @@
//! Page table entry (meta)data
use arch::x86_64::memory::Frame; use arch::x86_64::memory::Frame;
pub struct Entry(u64); pub struct Entry(u64);
@ -27,7 +29,8 @@ impl Entry {
pub fn set(&mut self, frame: Frame, flags: EntryFlags) { pub fn set(&mut self, frame: Frame, flags: EntryFlags) {
// Frame physical address must be page-aligned and smaller than 2^52 // Frame physical address must be page-aligned and smaller than 2^52
assert!(frame.start_address() & !0x000fffff_fffff000 == 0);
assert!(frame.start_address() & !0x000fffff_fffff000 == 0,
"Frame physical addresses must be page-aligned and smaller than 2^52!");
self.0 = (frame.start_address() as u64) | flags.bits(); self.0 = (frame.start_address() as u64) | flags.bits();
} }


Loading…
Cancel
Save