summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authordzwdz2021-09-19 21:20:11 +0200
committerdzwdz2021-09-19 21:20:11 +0200
commitd6e3c058d62befd034ec47cbcd57ae02d97ba1db (patch)
tree6968364abd8c81f2cd1e79b73d760de5b350657d /src/kernel
parent45fcc12bbef511d8142cfd9a0b0f2a07edb3b8ea (diff)
call sysenter_setup before kmain_early
makes the code slightly simpler, imo
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/arch/i386/boot.c3
-rw-r--r--src/kernel/arch/i386/boot.s1
-rw-r--r--src/kernel/arch/i386/sysenter.h2
3 files changed, 1 insertions, 5 deletions
diff --git a/src/kernel/arch/i386/boot.c b/src/kernel/arch/i386/boot.c
index 522361e..57f8ff5 100644
--- a/src/kernel/arch/i386/boot.c
+++ b/src/kernel/arch/i386/boot.c
@@ -2,7 +2,6 @@
#include <kernel/arch/i386/gdt.h>
#include <kernel/arch/i386/interrupts/idt.h>
#include <kernel/arch/i386/multiboot.h>
-#include <kernel/arch/i386/sysenter.h>
#include <kernel/main.h>
#include <kernel/panic.h>
@@ -15,8 +14,6 @@ void kmain_early(struct multiboot_info *multiboot) {
gdt_init();
tty_const("idt...");
idt_init();
- tty_const("sysenter...");
- sysenter_setup();
{ // find the init module
struct multiboot_mod *module = &multiboot->mods[0];
diff --git a/src/kernel/arch/i386/boot.s b/src/kernel/arch/i386/boot.s
index e6eb26f..0101b40 100644
--- a/src/kernel/arch/i386/boot.s
+++ b/src/kernel/arch/i386/boot.s
@@ -3,6 +3,7 @@
.type _start, @function
_start:
mov $_bss_end, %esp // the stack is at the top of bss
+ call sysenter_setup
push %ebx // address of the Multiboot struct
call kmain_early
diff --git a/src/kernel/arch/i386/sysenter.h b/src/kernel/arch/i386/sysenter.h
deleted file mode 100644
index b731c67..0000000
--- a/src/kernel/arch/i386/sysenter.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-void sysenter_setup(void);