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, 3 insertions, 3 deletions
diff --git a/kernel/vmem.c b/kernel/vmem.c
index 0a9e4b1..0cea40b 100644
--- a/kernel/vmem.c
+++ b/kernel/vmem.c
@@ -254,7 +254,7 @@ uint32_t vmem_alloc_block_at(uint32_t virt_addr)
*/
// vmem init and also copies all the shit for FORK
-volatile int vmem_new_space_dir()
+volatile int vmem_new_space_dir(int copy_dir)
{
x86_paging_disable();
@@ -319,7 +319,7 @@ volatile int vmem_new_space_dir()
{
ptable* table = (ptable*) pmmngr_alloc_block ();
- pd_entry *oldentry= &(page_dirs[0]->m_entries[PAGE_DIRECTORY_INDEX(virt_addr)]);
+ pd_entry *oldentry= &(page_dirs[copy_dir]->m_entries[PAGE_DIRECTORY_INDEX(virt_addr)]);
ptable* oldtable=pd_entry_get_frame(oldentry);
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"oldtable at: 0x%08X",oldtable);
@@ -381,7 +381,7 @@ void vmem_init()
{
//log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init paging (vesa base: 0x%08x)",vesa_physbase);
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init paging");
- vmem_set_dir(vmem_new_space_dir());
+ vmem_set_dir(vmem_new_space_dir(0));
x86_paging_enable();
}