diff options
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; |
