From 657cbdedb6edeec1340fa36b501c3b2e9fc6df0a Mon Sep 17 00:00:00 2001 From: Joursoir Date: Mon, 30 Aug 2021 12:54:55 +0000 Subject: x86/boot: add asm routine for entering the kernel --- arch/x86/boot/kernel_entry.s | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 arch/x86/boot/kernel_entry.s diff --git a/arch/x86/boot/kernel_entry.s b/arch/x86/boot/kernel_entry.s new file mode 100644 index 0000000..e0fd132 --- /dev/null +++ b/arch/x86/boot/kernel_entry.s @@ -0,0 +1,12 @@ +# bootsect.s loads the kernel and transfers control to SYSSEG address. +# We cannot be sure that the main() function will be exactly at this +# address. + +# Therefore, we will use a small trick for entering the kernel correctly: +# Locate this small assembly routine at the beginning of the SYSSEG +# address => we can be sure that control will transfer to main() + +.code32 +.extern kernel_main + call kernel_main + jmp . -- cgit v1.2.3-18-g5258