Reorganize kernel memory mappings
This commit is contained in:
parent
7ace92c60c
commit
ce717ff277
12 changed files with 107 additions and 66 deletions
|
@ -23,7 +23,7 @@ bitflags! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const ADDRESS_MASK: usize = 0x000fffff_fffff000;
|
||||
pub const ADDRESS_MASK: usize = 0x000f_ffff_ffff_f000;
|
||||
|
||||
impl Entry {
|
||||
/// Is the entry unused?
|
||||
|
|
|
@ -21,9 +21,6 @@ pub const ENTRY_COUNT: usize = 512;
|
|||
/// Size of pages
|
||||
pub const PAGE_SIZE: usize = 4096;
|
||||
|
||||
/// Offset of kernel from physical
|
||||
pub const KERNEL_OFFSET: usize = 0xfffffe8000000000;
|
||||
|
||||
/// Initialize paging
|
||||
pub unsafe fn init(stack_start: usize, stack_end: usize) -> ActivePageTable {
|
||||
extern {
|
||||
|
@ -71,8 +68,8 @@ pub unsafe fn init(stack_start: usize, stack_end: usize) -> ActivePageTable {
|
|||
for frame in Frame::range_inclusive(start_frame, end_frame) {
|
||||
mapper.identity_map(frame.clone(), flags);
|
||||
|
||||
let page = Page::containing_address(VirtualAddress::new(frame.start_address().get() + KERNEL_OFFSET));
|
||||
mapper.map_to(page, frame, flags);
|
||||
//let page = Page::containing_address(VirtualAddress::new(frame.start_address().get() + ::KERNEL_OFFSET));
|
||||
//mapper.map_to(page, frame, flags);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -9,7 +9,7 @@ use memory::allocate_frame;
|
|||
use super::entry::*;
|
||||
use super::ENTRY_COUNT;
|
||||
|
||||
pub const P4: *mut Table<Level4> = 0xffffffff_fffff000 as *mut _;
|
||||
pub const P4: *mut Table<Level4> = 0xffff_ffff_ffff_f000 as *mut _;
|
||||
|
||||
pub trait TableLevel {}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue