From 3b01fe6cbe94a4f0edaca0e07456bd0589d648d9 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 8 Jul 2017 13:38:53 +0200 Subject: small adaptions around kernel_entry (docu, boot loader) --- BUGS | 5 +---- src/README | 4 ++-- src/boot/boot.asm | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/BUGS b/BUGS index cf9df9b..4b9930b 100644 --- a/BUGS +++ b/BUGS @@ -1,9 +1,6 @@ - PS/2 answers with ERROR if PS/2 mouse is not connected, read_ack should handle error cases correctly. We should also probe correctly for the mouse. (0xFE on all commands) -- optimizing the code move the kernel entry 'kernel_main' - away from it's expected location at 0x8800. How can we pin - it there? And not use ELF. :-) - bochs shows us distorted text console output, why? - bootloader has trouble detecting drive geometry of hard disks, only the floppy mode works reliably at the moment (in emulators @@ -24,4 +21,4 @@ outside of the library. Then in the libc test directory we have to implement a stub module for instance using some host functions like standard io of the host C library -- code breaks heavily under O2 optimization with clang (at least) \ No newline at end of file +- code breaks heavily under O2 optimization with clang (at least) diff --git a/src/README b/src/README index 9269936..a25c818 100644 --- a/src/README +++ b/src/README @@ -13,7 +13,6 @@ Simple bootloader, loading in two phases and loading the kernel itself * stage2_check_magic.asm - function to make sure the image contains a magic marker * stage2_switch_mode.asm - early GTD loading and switching from real to protected mode * stage2_pm_functions.asm - protected mode helper functions for stage 2 - * kernel.c - Kernel C entry point 'kernel_main' * magic.bin (512 bytes magic marker sector) * magic.asm @@ -22,7 +21,8 @@ kernel Kernel main and utility routines like early consoles. -* entry.c - the kernel entry from the bootloader +* entry.c - the kernel entry from the bootloader 'kernel_entry' + (starting at 0x8800) * kernel.c - kernel helper functions * console.c - the kernel console, can use VGA or serial port for now * vga.c - VGA basic output routines for early kernel output diff --git a/src/boot/boot.asm b/src/boot/boot.asm index 0f31c9d..04016d6 100644 --- a/src/boot/boot.asm +++ b/src/boot/boot.asm @@ -198,7 +198,7 @@ BEGIN_PROTECTED_MODE: call pm_print_newline ; call our kernel - call kernel_main + call kernel_entry ; restore cursor variables from VGA hardware call read_hardware_vga_cursor @@ -237,4 +237,4 @@ times 3070-($-$$) db 0 dw 0xAABB ; position is 0x8800 now for the C entry -kernel_main: +kernel_entry: -- cgit v1.2.3-54-g00ecf