diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-08-07 18:40:11 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-08-07 18:40:11 +0200 |
| commit | 5a83bd319a22d53eb82d43c738d471a5a8079b36 (patch) | |
| tree | 6c29e99ab2db9e8297ad977616f202612f041b3e /kernel/kernel.c | |
| parent | 0246dfba3efac4c20e73e83c229219d3c136ff40 (diff) | |
added some physical memory management
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 92 |
1 files changed, 2 insertions, 90 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 7c5f982..0e6b32e 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -36,96 +36,8 @@ void kernel_main() timer_init(); scr_put_string_nl("Configured PIT Channel 0 : Mode 2 : 1/25 s."); - /* - //probe memory - scr_put_string_nl("Probing core memory..."); - char *prober=0xf000; - - for(;prober<0xfffffff;prober+=0xf00) - { - *prober='x'; - if(*prober!='x')break; - - } - - - //0xA5000 - scr_put_hex((uint32_t)prober>>16); - scr_put_hex((uint32_t)prober&0xffff); - scr_put_string_nl(" finished!"); - // - - */ - - uint16_t *memmap=0x7c00+0x120; - uint32_t avail_mem=0; - - //print memory map: - - while(1) - { - if(memmap[8]==0)break; - if(memmap[8]==1) - { - avail_mem+=memmap[4]+(memmap[5]<<16); - } - //bytes: 8 8 4 4// - //scr_put_hex(memmap[3]); - //scr_put_string(" "); - //scr_put_hex(memmap[2]); - //scr_put_string(" "); - scr_put_hex(memmap[1]); - scr_put_string(" "); - scr_put_hex(memmap[0]); - scr_put_string(" "); -// scr_put_hex(memmap[4]); -// scr_put_string(" "); -// scr_put_hex(memmap[5]); -// scr_put_string(" "); -// scr_put_hex(memmap[6]); -// scr_put_string(" "); -// scr_put_hex(memmap[7]); - - - scr_put_string(" - "); -// scr_put_hex(memmap[8]); -// scr_put_string(" "); -// scr_put_hex(memmap[9]); -// scr_put_string(" "); -// scr_put_hex(memmap[10]); -// scr_put_string(" "); -// scr_put_hex(memmap[11]); -// scr_put_string(" "); - //scr_put_hex(memmap[7]); - //scr_put_string(" "); - //scr_put_hex(memmap[6]); - //scr_put_string(" "); - scr_put_hex(memmap[5]); - scr_put_string(" "); - scr_put_hex(memmap[4]); - - scr_put_string(" : "); - scr_put_hex(memmap[8]); -// scr_put_string(" "); -// scr_put_hex(memmap[9]); - - - scr_put_string_nl(""); - - memmap+=12; - } - - - scr_put_string("Total Available Mem: "); - scr_put_hex(avail_mem>>16); - scr_put_string(" "); - scr_put_hex(avail_mem&0xffff); - scr_put_string_nl(" byte"); - scr_put_string_nl(""); - - - - + // we know that here the bootloader placed the mamory map! + mem_init(0x7c00+0x120); // init and interrupt decriptor table int_init(0x08); |
