diff options
-rw-r--r-- | arch/x86/boot/kernel_entry.s | 12 |
1 files changed, 12 insertions, 0 deletions
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 . |