From f92a23a2fcee6cbb97af9c7681e6872374d3c789 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Sat, 16 May 2015 03:48:35 +0200 Subject: finally working ring 3 --- kernel/vmem.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'kernel/vmem.c') diff --git a/kernel/vmem.c b/kernel/vmem.c index a8e4008..f49689f 100644 --- a/kernel/vmem.c +++ b/kernel/vmem.c @@ -277,6 +277,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) pt_entry page=0; pt_entry_add_attrib (&page, I86_PTE_PRESENT); pt_entry_add_attrib (&page, I86_PTE_WRITABLE); + pt_entry_add_attrib (&page, I86_PTE_USER); pt_entry_set_frame (&page, frame); //! ...and add it to the page table @@ -287,6 +288,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) *entry=0; pd_entry_add_attrib (entry, I86_PDE_PRESENT); pd_entry_add_attrib (entry, I86_PDE_WRITABLE); + pt_entry_add_attrib (entry, I86_PTE_USER); pd_entry_set_frame (entry, (physical_addr)table); } @@ -344,6 +346,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) pt_entry page=0; pt_entry_add_attrib (&page, I86_PTE_PRESENT); pt_entry_add_attrib (&page, I86_PTE_WRITABLE); + pt_entry_add_attrib (&page, I86_PTE_USER); pt_entry_set_frame (&page, frame); @@ -356,6 +359,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) *entry=0; pd_entry_add_attrib (entry, I86_PDE_PRESENT); pd_entry_add_attrib (entry, I86_PDE_WRITABLE); + pt_entry_add_attrib (entry, I86_PTE_USER); pd_entry_set_frame (entry, (physical_addr)table); virt_addr+=1024*4096; @@ -401,6 +405,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) pt_entry page=0; pt_entry_add_attrib (&page, I86_PTE_PRESENT); pt_entry_add_attrib (&page, I86_PTE_WRITABLE); + pt_entry_add_attrib (&page, I86_PTE_USER); pt_entry_set_frame (&page, frame); @@ -413,6 +418,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) *entry=0; pd_entry_add_attrib (entry, I86_PDE_PRESENT); pd_entry_add_attrib (entry, I86_PDE_WRITABLE); + pt_entry_add_attrib (entry, I86_PTE_USER); pd_entry_set_frame (entry, (physical_addr)table); virt_addr+=1024*4096; -- cgit v1.2.3