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()
|
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)); // Getting frame address to assign to page directory.
|
||||||
unsigned long * temp_page_directory = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Should I get the address like this???
|
|
||||||
|
|
||||||
//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)); // Get another frame for the page table.
|
||||||
unsigned long * page_table = (unsigned long *) (4096 * kernel_mem_pool->get_frames(1)); // Might be able to just do this.
|
|
||||||
|
|
||||||
unsigned long tempaddr = 0; // Temporary address iterator.
|
unsigned long tempaddr = 0; // Temporary address iterator.
|
||||||
|
|
||||||
|
@ -75,7 +73,10 @@ void PageTable::enable_paging()
|
||||||
|
|
||||||
void PageTable::handle_fault(REGS * _r)
|
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::puts("\nerror code: ");
|
||||||
Console::puti(_r->err_code);
|
Console::puti(_r->err_code);
|
||||||
|
|
||||||
|
|
Reference in a new issue