summaryrefslogtreecommitdiff
path: root/kernel/kernel.h
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-12 15:23:38 +0200
committerMiguel <m.i@gmx.at>2018-09-12 15:23:38 +0200
commitc72944b5646863ffaaaff94dc03b939a08566203 (patch)
tree3ce3d74fc27b297cd6958d0d8ba588ccbbe16bfb /kernel/kernel.h
parent800b1a878ec34a8ff30ed093e20561182fa6ae36 (diff)
struggling with vmem
Diffstat (limited to 'kernel/kernel.h')
-rw-r--r--kernel/kernel.h46
1 files changed, 23 insertions, 23 deletions
diff --git a/kernel/kernel.h b/kernel/kernel.h
index 0010692..1da1209 100644
--- a/kernel/kernel.h
+++ b/kernel/kernel.h
@@ -18,7 +18,6 @@ REFERENCES
https://sourceware.org/newlib/
and many many more...
*/
-#include "log.h"
#ifndef FOOLOS_CONFIG_H
#define FOOLOS_CONFIG_H
@@ -44,31 +43,32 @@ REFERENCES
#define SMP_MAX_PROC 16 // 16 (together with bsp) We can currently only address a maximum of 16 cpus via ipis!
// Virtual Memory Locations //
-// NOTE THAT THE STACKS GROWN DOWNWARDS //
+// REMEMBER THAT THE STACKS GROW DOWNWARDS //
+// We leave some space around them
+// 1 page 0x1000 bytes
+// 8192 pages = 0x2000000 bytes
+
#define VMEM_KERNEL 0x00000000 // 8192 pages (32megs) / identity mapped
+#define VMEM_KERNEL_END 0x02000000
-#define VMEM_USER_ENV 0x07000000 // 4 pages / per user process
+#define VMEM_USER_ENV 0x07000000 // ? pages / per user process
#define VMEM_USER_PROG 0x08048000 // ? pages / per user process (usual entry: 0x8048080)
-#define VMEM_USER_STACK_TOP 0xE0000000 // ? pages / per thread
-
-#define VMEM_LAPIC 0xE0000000 // 1 pages / identity mapped
-#define VMEM_IOAPIC 0xE0001000 // 1 pages / identity mapped
-#define VMEM_CPU_PRIVATE 0xE0002000 // 4 pages / per cpu
-#define VMEM_CPU_STACK_TOP 0xE000A000 // 4 pages / per cpu
-#define VMEM_FRAMEBUFFER 0xF0000000 // 8192 pages (32megs) / identity mapped
-#define VMEM_EXT2_RAMIMAGE 0xF2000000 // 8192 pages (32megs) / identity mapped
-
-// __FUNCTION__ ?
-#ifndef FOOLOS_LOG_OFF
-#define kpanic(...) {log(FOOLOS_LOG_COLOR,__FILE__,0," \033[41;37m [KERNEL PANIC] \033[37;40m " __VA_ARGS__ ); while(1);}
-#define klog(...) log(FOOLOS_LOG_COLOR,__FILE__ ":" S2(__LINE__), 10, __VA_ARGS__)
-#define fixme(...) log(FOOLOS_LOG_COLOR,__FILE__ ":" S2(__LINE__) "[FIXME/TODO]:" , 10, __VA_ARGS__)
-#endif
-#ifdef FOOLOS_LOG_OFF
-#define kpanic(...) {while(1);}
-#define klog(...) {}
-#define fixme(...) {}
-#endif
+#define VMEM_USER_STACK_PAGES 0xF0000000 // 4 pages / per thread
+#define VMEM_USER_STACK_BOT 0xEFFFC000 // 4 pages / per thread
+#define VMEM_USER_STACK_TOP 0xF0000000 // 4 pages / per thread
+
+#define VMEM_LAPIC 0xF0005000 // 1 pages / identity mapped
+#define VMEM_IOAPIC 0xF0006000 // 1 pages / identity mapped
+#define VMEM_CPU_PRIVATE 0xF000A000 // 4 pages / per cpu
+
+#define VMEM_CPU_STACK_PAGES 0xF0000000 // 4 pages / per thread
+#define VMEM_CPU_STACK_BOT 0xF0050000 // 4 pages / per cpu
+#define VMEM_CPU_STACK_TOP 0xF0054000 // 4 pages / per cpu
+
+#define VMEM_COPY_PAGE 0xF5000000 // 1 page / temporery map-in tables for copying
+
+#define VMEM_FRAMEBUFFER 0xF6000000 // 8192 pages (32megs) / identity mapped
+#define VMEM_EXT2_RAMIMAGE 0xF8000000 // 8192 pages (32megs) / identity mapped
#endif