summaryrefslogtreecommitdiff
path: root/kernel/vmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/vmem.c')
-rw-r--r--kernel/vmem.c6
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;