From 9c8cfc2e52b0446f7cab14325028075760869b45 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Wed, 26 Nov 2014 17:42:33 +0100 Subject: further cleanup --- kernel/mem.c | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) (limited to 'kernel/mem.c') diff --git a/kernel/mem.c b/kernel/mem.c index b2ab6ad..cf0c673 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -1,7 +1,8 @@ #define FOOLOS_MODULE_NAME "mem" +#include + #include "config.h" -#include "lib/int/stdint.h" #include "lib/logger/log.h" // logger facilities //! 8 blocks per byte @@ -13,12 +14,20 @@ //! block alignment ??? TODO: what is this!? #define PMMNGR_BLOCK_ALIGN PMMNGR_BLOCK_SIZE + //memory map bit array. Each bit represents a 4KB memory block static uint32_t *_mmngr_memory_map; - static uint32_t mem_free_blocks; static uint32_t mem_array_size; +char *memmap_type_to_string[]= + { + "Usable", + "Reserved", + "ACPI reclaimable", + "ACPI NVS", + "Bad Memory" + }; // bit funcs! void mmap_set(int bit) { @@ -34,10 +43,13 @@ int mmap_test(int bit) { return _mmngr_memory_map[bit / 32] & (1 << (bit % 32)); } +// +// By default, Set all of memory is in use void pmmngr_init () { - // By default, all of memory is in use + mem_free_blocks=0; + for(int i=0;i