git.cappig.dev / apheleiaOS.git master

1579c4a1812a206c4c6a888411604d252f281f26 master
cappig <[email protected]> ยท 1 year ago
Add kernel console, edid, stacktrace

* Add a kernel console driver separating the kprintf(...) logic from the
  graphical tty.
* Add EDID support to the bootloader. This means that the bootloader can
  now detect the screen resolution.
* Add kernel stacktracing support.
* Add kernel symbol table support.
* Add vesa color masking
* Strip the kernel elf. This drastically reduces its size.
* A couple small syntax and grammar fixes
55 files changed, 727 insertions, 181 deletions
.gitignore +1 -0
boot/bios/config.c +19 -12
boot/bios/disk.c +6 -2
boot/bios/main.c +18 -0
boot/bios/vesa.c +38 -2
boot/bios/vesa.h +42 -1
build/args.cfg +7 -4
build/toolchain.mk +12 -2
build/x86_iso.mk +7 -1
kernel/arch/gdt.h +2 -1
kernel/arch/idt.c +2 -2
kernel/arch/idt_stubs.asm +1 -1
kernel/arch/panic.c +9 -4
kernel/arch/panic.h +2 -2
kernel/arch/pic.c +12 -5
kernel/arch/pic.h +4 -1
kernel/arch/stacktrace.c created
kernel/arch/stacktrace.h created
kernel/drivers/acpi.c +2 -2
kernel/drivers/console.c created
kernel/drivers/console.h created
kernel/drivers/ide.c +1 -1
kernel/drivers/iso9660.c +2 -2
kernel/drivers/pci.c +1 -1
kernel/drivers/pci.h +2 -2
kernel/drivers/ps2.c +1 -1
kernel/drivers/ps2.h +1 -1
kernel/drivers/serial.c +2 -2
kernel/drivers/vesa.c created
kernel/drivers/vesa.h created
kernel/main.c +16 -4
kernel/mem/heap.c +2 -2
kernel/mem/physical.c +3 -1
kernel/mem/virtual.c +2 -2
kernel/vfs/driver.c +10 -6
kernel/vfs/fs.c +2 -0
kernel/vfs/pipe.c +2 -2
kernel/video/tty.c +71 -53
kernel/video/tty.h +7 -10
libs/base/types.h +2 -0
libs/boot/mbr.h +2 -2
libs/boot/proto.h +12 -2
libs/fs/ustar.c +3 -4
libs/fs/ustar.h +3 -1
libs/gfx/state.h +5 -0
libs/gfx/vesa.c removed
libs/gfx/vesa.h removed
libs/libc/string.c +3 -7
libs/libc_ext/string.c +6 -1
libs/parse/elf.h +27 -3
libs/parse/sym.c created
libs/parse/sym.h created
libs/term/term.c +1 -1
libs/x86/e820.c +4 -0
libs/x86/paging.h +3 -2