diff options
| author | Michal Idziorek <m.i@gmx.at> | 2015-05-13 23:58:39 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2015-05-13 23:58:39 +0200 |
| commit | b74c5c8fb4de3b2847bc942e57dcf8f0dea705be (patch) | |
| tree | fa0a9001cffa64c9193689066bf296dc3df7f844 /kernel/mem.c | |
| parent | 9a60edf72a3112adae4a914134da1adaf472ad5d (diff) | |
fixed libc and 'userspace'
Diffstat (limited to 'kernel/mem.c')
| -rw-r--r-- | kernel/mem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/mem.c b/kernel/mem.c index 72b92af..f29c34f 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -102,10 +102,11 @@ int mmap_first_free_s (uint32_t x) void pmmngr_init_region (uint32_t base, uint32_t size) { - if(base<0x100000)return; uint32_t align = base / PMMNGR_BLOCK_SIZE +1; // TODO: calc properly uint32_t blocks = size / PMMNGR_BLOCK_SIZE -1; + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init blocks: 0x%08X 0x%08X",base,size); + for (; blocks>0; blocks--) { mmap_unset (align++); @@ -253,6 +254,7 @@ void mem_init(uint32_t memmap,uint32_t length) // deinitialize kernel + memory (TODO: modules) pmmngr_deinit_region(kernel_start,((uint32_t)kernel_end-(uint32_t)kernel_start)); pmmngr_deinit_region(_mmngr_memory_map,mem_array_size*4+PMMNGR_BLOCK_SIZE); + pmmngr_deinit_region(0,0x700000); log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Usable Mem: %d (0x%X) bytes. (~%d MB)",total_mem,total_mem,total_mem/1024/1024); log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Currently Free 4K blocks: %d blocks.",mem_free_blocks); |
