diff options
| author | Michal Idziorek <m.i@gmx.at> | 2015-05-15 02:06:48 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2015-05-15 02:06:48 +0200 |
| commit | 0365bbb5c58912fd24b3d33b90477d3de5d46d96 (patch) | |
| tree | 0e171394f0e9f508b6ff1a7971ce61ddf8b2f989 /kernel/mem.c | |
| parent | fb8a5f18835e8811dd1a98b8eb5352151fc2df31 (diff) | |
fixes and imporvements
Diffstat (limited to 'kernel/mem.c')
| -rw-r--r-- | kernel/mem.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/mem.c b/kernel/mem.c index f33b5d8..7c55a67 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -25,7 +25,7 @@ static uint32_t _mmngr_memory_map[PMMNGR_MAP_SIZE]; static uint32_t mem_free_blocks; //number of free blocks static uint32_t mem_max_block; //index of highest usable block -static uint32_t mem_min_block; //index of lowset block available to userspace +static uint32_t mem_min_block; //index of lowset block available for alloc char *memmap_type_to_string[]= { @@ -208,14 +208,18 @@ void mem_init(multiboot_information *info) mem_min_block=mod->mod_end/PMMNGR_BLOCK_SIZE+1; - pmmngr_deinit_region(mod->mod_start,((uint32_t)mod->mod_end-(uint32_t)mod->mod_start)+1); + //pmmngr_deinit_region(mod->mod_start,((uint32_t)mod->mod_end-(uint32_t)mod->mod_start)+1); mod++; } } // deinitialize kernel - pmmngr_deinit_region(kernel_start,((uint32_t)kernel_end-(uint32_t)kernel_start)+1); + //pmmngr_deinit_region(kernel_start,((uint32_t)kernel_end-(uint32_t)kernel_start)+1); + + // we deinit everything below mem_min_block anyway + pmmngr_deinit_region(0,mem_min_block*PMMNGR_BLOCK_SIZE); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Usable ~%d / %d MB ",mem_free_blocks*4096/1024/1024,total_mem/1024/1024); |
