summaryrefslogtreecommitdiff
path: root/src/stem/core
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2010-02-05 17:33:08 +0100
committerAlexis211 <alexis211@gmail.com>2010-02-05 17:33:08 +0100
commit674014901a1e90ce1587a7709fe9bf5893b0e36e (patch)
tree0696d09e4a185413df75f8e3ef413b5ae81a090d /src/stem/core
parent6d849bc12d6afe2fe239c5a7dc581ba76d67974b (diff)
downloadTCE-674014901a1e90ce1587a7709fe9bf5893b0e36e.tar.gz
TCE-674014901a1e90ce1587a7709fe9bf5893b0e36e.zip
Start work on syscalls, advanced tasking, segmentation
Diffstat (limited to 'src/stem/core')
-rw-r--r--src/stem/core/loader_.asm10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/stem/core/loader_.asm b/src/stem/core/loader_.asm
index e1031b4..d3b92cf 100644
--- a/src/stem/core/loader_.asm
+++ b/src/stem/core/loader_.asm
@@ -1,8 +1,7 @@
[GLOBAL loader] ; making entry point visible to linker
[EXTERN kmain] ; kmain is defined in kmain.c
+[EXTERN tasking_tmpStack] ; a temporary 4k stack used by tasking, and used when setting up kernel stuff
-STACKSIZE equ 0x4000 ; that's 16k.
-
; setting up the Multiboot header - see GRUB docs for details
MODULEALIGN equ 1<<0 ; align loaded modules on page boundaries
MEMINFO equ 1<<1 ; provide memory map
@@ -32,7 +31,7 @@ loader: ;here, we load our false GDT, used for having the kernel in higher half
section .text
higherhalf: ; now we're running in higher half
- mov esp, stack+STACKSIZE ; set up the stack
+ mov esp, tasking_tmpStack+0x4000 ; set up the stack
push eax ; pass Multiboot magic number
add ebx, 0xE0000000 ; update the MB info structure so that it is in the new seg
push ebx ; pass Multiboot info structure
@@ -56,8 +55,3 @@ gdt:
db 0xFF, 0xFF, 0, 0, 0, 10010010b, 11001111b, 0x20 ; kernel data segment
gdt_end:
-
-[section .bss]
-align 32
-stack:
- resb STACKSIZE ; reserve 16k stack on a quadword boundary