diff options
Diffstat (limited to 'kernel/vmem.c')
| -rw-r--r-- | kernel/vmem.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/vmem.c b/kernel/vmem.c index 491f486..a8e4008 100644 --- a/kernel/vmem.c +++ b/kernel/vmem.c @@ -9,6 +9,8 @@ #include "lib/logger/log.h" // logger facilities #define FOOLOS_MODULE_NAME "vmem" +static uint32_t kernel_pages; + // TODO : why is the frame not 0xfffff?? enum PAGE_PTE_FLAGS { @@ -255,7 +257,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) uint32_t virt_addr=0; // first pages are identity mapped - for(int j=0;j<5;j++) + for(int j=0;j<kernel_pages;j++) { // this is the table for our page directory. It maps 1024*4096 bytes @@ -434,3 +436,8 @@ void vmem_set_dir(pdirectory *dir) x86_set_pdbr(dir); } +pdirectory* vmem_init(uint32_t kernel_blocks) +{ + kernel_pages=kernel_blocks/1024+1; + return vmem_new_space_dir(NULL); +} |
