summaryrefslogtreecommitdiff
path: root/kernel/mem.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-29 19:57:52 +0200
committerMiguel <m.i@gmx.at>2018-09-29 19:57:52 +0200
commit75433d155c152b809e9f25b1099fc06d6106308b (patch)
treef4f84309e6cf2aa9bc0d9df5ae532b94a60fea0f /kernel/mem.c
parent73e80bf4b6c69b92a04b525f114a072a1c4b0d3a (diff)
improving window compositor
Diffstat (limited to 'kernel/mem.c')
-rw-r--r--kernel/mem.c14
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!");