summaryrefslogtreecommitdiff
path: root/src/kernel/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/arch/i386')
-rw-r--r--src/kernel/arch/i386/boot.s2
-rw-r--r--src/kernel/arch/i386/gdt/gdt.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/kernel/arch/i386/boot.s b/src/kernel/arch/i386/boot.s
index 74de9b7..e6eb26f 100644
--- a/src/kernel/arch/i386/boot.s
+++ b/src/kernel/arch/i386/boot.s
@@ -2,7 +2,7 @@
.global _start
.type _start, @function
_start:
- mov $stack_top, %esp
+ mov $_bss_end, %esp // the stack is at the top of bss
push %ebx // address of the Multiboot struct
call kmain_early
diff --git a/src/kernel/arch/i386/gdt/gdt.c b/src/kernel/arch/i386/gdt/gdt.c
index 2935e6e..e4cd3ef 100644
--- a/src/kernel/arch/i386/gdt/gdt.c
+++ b/src/kernel/arch/i386/gdt/gdt.c
@@ -80,7 +80,7 @@ static void gdt_prepare() {
// tss
memset(&TSS, 0, sizeof(TSS));
TSS.ss0 = SEG_r0data << 3; // kernel data segment
- TSS.esp0 = (uintptr_t) &stack_top;
+ TSS.esp0 = (uintptr_t) &_bss_end;
GDT[SEG_TSS] = (struct gdt_entry) {
.limit_low = sizeof(TSS),