diff options
Diffstat (limited to 'kernel/mem.c')
| -rw-r--r-- | kernel/mem.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/kernel/mem.c b/kernel/mem.c index d8ac66a..2d5d9f9 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -3,19 +3,14 @@ #include "mem.h" #include <stdint.h> #include "multiboot.h" +#include "asm_start.h" #define PMMNGR_BLOCKS_PER_BYTE 8 #define PMMNGR_BLOCK_SIZE 4096 #define PMMNGR_MAX_BLOCKS 1048576 // 4096*1048576 = 2^32 bytes (maxium addressable memory ~4GB) #define PMMNGR_MAP_SIZE PMMNGR_MAX_BLOCKS/PMMNGR_BLOCKS_PER_BYTE/4 -// defined in linker.ld and asm_start.s -extern uint32_t kernel_start[]; -extern uint32_t kernel_end[]; -extern uint32_t stack_top[]; -extern uint32_t stack_bottom[]; - -// sysfs inpue +// sysfs input test! uint32_t sysfs_in=128; //memory map bit array. Each bit represents a 4KB memory block, @@ -155,8 +150,11 @@ uint32_t mem_get_free_blocks_count() uint32_t mem_init(multiboot_information *info) { klog("markers in kernel binary:"); + + uint32_t kernel_start=get_kernel_start(); + uint32_t kernel_end=get_kernel_end(); + klog("kernel loaded at: 0x%08X- 0x%08X",kernel_start,kernel_end); - klog("initial stack at: 0x%08X- 0x%08X",stack_top,stack_bottom); fixme("check if kernel/ramimage size/pos does not exceed first 32mb (better vmem dynamically) limits!"); fixme("communicate pages to vmmem to identity map in kernel!"); |
