summaryrefslogtreecommitdiff
path: root/kernel/mem.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
committerMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
commit50c7bdbe826b5b425748a11273d14e3aed2ce851 (patch)
tree8fc2bec5576aad366b6f9f3f1fcc406f6a3eeb33 /kernel/mem.c
parentfc7022286a14e7325907fb4e77aa44330037229b (diff)
many changes and adaptions and VESA mode !!
Diffstat (limited to 'kernel/mem.c')
-rw-r--r--kernel/mem.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/mem.c b/kernel/mem.c
index 28e05eb..68880be 100644
--- a/kernel/mem.c
+++ b/kernel/mem.c
@@ -205,20 +205,27 @@ void mem_test(int start, int end, int steps)
}
*/
-void mem_init(uint16_t *memmap)
+void mem_init(uint16_t *memmap,uint16_t entries)
{
+ scr_put_string("mem: the memory map contains ");
+ scr_put_hex(entries);
+ scr_put_string_nl(" entries.");
+
+ // hardcoded memory bitmap!!??!
_mmngr_memory_map=0x9000;
mem_free_blocks=0;
pmmngr_init ();
// count available memory
uint32_t avail_mem=0;
+ int i;
//print memory map and init regions!
- while(1)
+ for(i=0;i<entries;i++)
{
- if(memmap[8]==0)break;
+
+// if(memmap[8]==0)break;
#ifdef MEM_PRINT_MEMORYMAP
@@ -247,6 +254,7 @@ void mem_init(uint16_t *memmap)
}
memmap+=12;
+
}
scr_put_string("mem: Total Available Mem: ");