summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-01-11 06:25:38 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-01-11 06:25:38 +0100
commit93af394f5d55445b22fa50e99d8f8376cb34e8e1 (patch)
tree4ac290be5b2303d395fd89113ea6b5de8b2ccff1
parent1f061145327d255a97ca0fff6960744a12b42863 (diff)
Switch to stack in virtual memory before calling main().
-rw-r--r--kernel/entry.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/entry.c b/kernel/entry.c
index d288027..2496d21 100644
--- a/kernel/entry.c
+++ b/kernel/entry.c
@@ -18,7 +18,7 @@ extern void main();
asm(
".globl entry\n"
"entry:\n"
- "mov $entry_stack_top,%esp\n"
+ "mov $entry_stack_top, %esp\n"
"push %ebx\n"
"push %eax\n"
"call entry_main\n"
@@ -83,6 +83,7 @@ void entry_main(uint32_t mb_magic, multiboot_info* mb_info) {
// TODO: Check that segments are loaded and mapped right.
// Call main() in virtual memory.
+ asm volatile("mov $0, %esp");
main();
stop: