Transferring changes.
This commit is contained in:
parent
b031a19f91
commit
495243854b
1 changed files with 6 additions and 5 deletions
|
@ -25,11 +25,9 @@ void PageTable::init_paging(ContFramePool * _kernel_mem_pool,
|
|||
|
||||
PageTable::PageTable()
|
||||
{
|
||||
//unsigned long * temp_page_directory = (unsigned long *) 0x32000; // Should be the starting address after 1st 2MB
|
||||
unsigned long * temp_page_directory = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Should I get the address like this???
|
||||
unsigned long * temp_page_directory = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Getting frame address to assign to page directory.
|
||||
|
||||
//unsigned long * page_table = (unsigned long *) 0x33000; // Should be 4kb after the page directory.
|
||||
unsigned long * page_table = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Might be able to just do this.
|
||||
unsigned long * page_table = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Get another frame for the page table.
|
||||
|
||||
unsigned long tempaddr = 0; // Temporary address iterator.
|
||||
|
||||
|
@ -75,7 +73,10 @@ void PageTable::enable_paging()
|
|||
|
||||
void PageTable::handle_fault(REGS * _r)
|
||||
{
|
||||
unsigned long tempframe = process_mem_pool->get_frames(1);
|
||||
unsigned long temp_addr = (process_mem_pool->get_frames(1));
|
||||
((unsigned long *) ((unsigned long *) current_page_table->page_directory)[0])[temp_addr]
|
||||
= ((unsigned long *) ((unsigned long *) current_page_table->page_directory)[0])[temp_addr] | 3;
|
||||
|
||||
Console::puts("\nerror code: ");
|
||||
Console::puti(_r->err_code);
|
||||
|
||||
|
|
Reference in a new issue