diff options
| author | Michal Idziorek <m.i@gmx.at> | 2015-05-16 03:48:35 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2015-05-16 03:48:35 +0200 |
| commit | f92a23a2fcee6cbb97af9c7681e6872374d3c789 (patch) | |
| tree | 41669345c8a5a60548e8e07cf805df9ef01c1c26 /kernel/vmem.c | |
| parent | ba10657752ba869b1c46c861cbda689b535e8214 (diff) | |
finally working ring 3
Diffstat (limited to 'kernel/vmem.c')
| -rw-r--r-- | kernel/vmem.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; |
