git.cappig.dev / apheleiaOS.git master

b91015323b6f8388ea2169d9b833a363856724e9 master
cappig <[email protected]> ยท 1 year ago
Begin scheduler work

* A simple scheduler skeleton
* Add support for ttys
* Add a simple kernel clock
* Implement a kernel console and debug buffer
* Streamline the vfs API
* Abstract terminal rendering
* A whole bunch of other stuff (see diff)
63 files changed, 1467 insertions, 544 deletions
.gitignore +1 -0
build/toolchain.mk +2 -1
kernel/arch/apic.c +2 -1
kernel/arch/apic.h +1 -4
kernel/arch/idt.c +7 -0
kernel/arch/irq.c +19 -2
kernel/arch/irq.h +2 -0
kernel/arch/panic.c +4 -1
kernel/arch/pit.c +4 -10
kernel/arch/pit.h +1 -4
kernel/arch/stacktrace.c +1 -1
kernel/arch/tsc.c +5 -5
kernel/drivers/acpi.c +17 -7
kernel/drivers/acpi.h +2 -0
kernel/drivers/console.c removed
kernel/drivers/console.h removed
kernel/drivers/ide.c +6 -6
kernel/drivers/ide.h +1 -3
kernel/drivers/pci.c +7 -5
kernel/drivers/ps2.c +8 -3
kernel/drivers/ps2.h +1 -3
kernel/drivers/serial.c +10 -8
kernel/drivers/serial.h +1 -3
kernel/drivers/vesa.c +42 -21
kernel/drivers/vesa.h +4 -2
kernel/drivers/zero.c +3 -3
kernel/drivers/zero.h +1 -3
kernel/main.c +34 -29
kernel/sched/process.c created
kernel/sched/process.h created
kernel/sched/scheduler.c created
kernel/sched/scheduler.h created
kernel/sched/switch.asm created
kernel/sys/clock.c created
kernel/sys/clock.h created
kernel/sys/console.c created
kernel/sys/console.h created
kernel/sys/tty.c created
kernel/sys/tty.h created
kernel/vfs/driver.c +12 -12
kernel/vfs/driver.h +1 -1
kernel/vfs/fs.c +15 -10
kernel/vfs/fs.h +6 -4
kernel/vfs/pty.c +7 -7
kernel/vfs/pty.h +6 -6
kernel/video/tty.c removed
kernel/video/tty.h removed
libs/base/macros.h +15 -0
libs/fs/ustar.c +2 -2
libs/fs/ustar.h +1 -1
libs/gfx/psf.c created
libs/gfx/psf.h +3 -0
libs/gfx/state.c created
libs/gfx/state.h +20 -0
libs/term/palette.c +5 -5
libs/term/palette.h +1 -1
libs/term/parser.c +4 -4
libs/term/parser.h +1 -3
libs/term/render.c created
libs/term/render.h created
libs/term/term.c +59 -43
libs/term/term.h +18 -13
libs/x86/serial.c +1 -2