summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-08 13:38:53 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-08 13:38:53 +0200
commit3b01fe6cbe94a4f0edaca0e07456bd0589d648d9 (patch)
tree56d1b8357d17955a12b9fe6b79863e27bfac7bbc
parent1230afc0aaef07b03f09d3725f459df07b982de8 (diff)
downloadabaos-3b01fe6cbe94a4f0edaca0e07456bd0589d648d9.tar.gz
abaos-3b01fe6cbe94a4f0edaca0e07456bd0589d648d9.tar.bz2
small adaptions around kernel_entry (docu, boot loader)
-rw-r--r--BUGS5
-rw-r--r--src/README4
-rw-r--r--src/boot/boot.asm4
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: