From 9b152b773d40d40abf41a46be2ddae8905170fdf Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Fri, 15 May 2015 02:34:33 +0200 Subject: using ramimage position and correct kernel pages count --- fs/fs.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'fs/fs.c') diff --git a/fs/fs.c b/fs/fs.c index fd43c52..19027d6 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -1,7 +1,9 @@ // abstraction layer for filesystems +#define FOOLOS_MODULE_NAME "mount" #include "fs.h" #include "ext2.h" +#include "lib/logger/log.h" static uint32_t root_ext2_ramimage=0; @@ -18,9 +20,25 @@ int fs_readdir(const char *name,fs_dirent *dirs,int max) return ext2_read_dir(root_ext2_ramimage, inode_nr,dirs,max); // TODO: hardcoded, fix this } -void fs_mount(uint32_t ext2_ramimage) +void fs_mount(multiboot_information *info) { - root_ext2_ramimage=ext2_ramimage; + // deinit modules memory + if(info->flags&&1<<3) + { + multiboot_mod *mod=info->mods_addr; + for(int i=0;imods_count;i++) + { + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mounting mod from 0x%08X-0x%08X : %s", + mod->mod_start,mod->mod_end, mod->string); + + + //pmmngr_deinit_region(mod->mod_start,((uint32_t)mod->mod_end-(uint32_t)mod->mod_start)+1); + root_ext2_ramimage=mod->mod_start; + + + mod++; + } + } } uint32_t fs_get_root_ext2_ramimage() -- cgit v1.2.3