Recursive map the P4 table

This commit is contained in:
Philipp Oppermann
2015-12-09 00:10:50 +01:00
parent 96b0dc0c66
commit e071c24680
2 changed files with 7 additions and 0 deletions

View File

@@ -42,6 +42,11 @@ start:
jmp gdt64.code:long_mode_start
setup_page_tables:
; recursive map P4
mov eax, p4_table
or eax, 0b11 ; present + writable
mov [p4_table + 511 * 8], eax
; map first P4 entry to P3 table
mov eax, p3_table
or eax, 0b11 ; present + writable

View File

@@ -2,6 +2,8 @@ use memory::paging::entry::*;
use memory::paging::ENTRY_COUNT;
use core::ops::{Index, IndexMut};
pub const P4: *mut Table = 0xffffffff_fffff000 as *mut _;
pub struct Table {
entries: [Entry; ENTRY_COUNT],
}