git.cappig.dev / apheleiaOS.git master

b1e1bc88223698ee6f38c85cf3e0de581543aebc master
cappig <[email protected]> ยท 1 year ago
Implement termios, serial irqs

* Implement a big chunk of the termios interface in the pseudo terminal driver
* Configure serial irqs, allow for receiving serial data
* Begin work on the ioctl syscall
* Allow the keyboard to send control characters by holding ctrl+^
* Add the DEBUG arg to the kernel, this allows us to change the
  verbosity of the kernel
35 files changed, 1002 insertions, 276 deletions
boot/bios/config.c +11 -2
boot/bios/main.c +1 -1
build/args.cfg +4 -1
kernel/drivers/serial.c +110 -12
kernel/drivers/serial.h +6 -0
kernel/drivers/vesa.c +4 -1
kernel/drivers/vesa.h +2 -2
kernel/main.c +14 -20
kernel/mem/physical.c +7 -3
kernel/mem/physical.h +2 -0
kernel/sched/scheduler.c +0 -1
kernel/sched/syscall.c +71 -61
kernel/sched/syscall.h +43 -0
kernel/sys/console.c +28 -8
kernel/sys/console.h +4 -3
kernel/sys/cpu.h +1 -1
kernel/sys/keyboard.c +4 -0
kernel/sys/tty.c +9 -12
kernel/vfs/fs.c +24 -0
kernel/vfs/fs.h +6 -21
kernel/vfs/pty.c +321 -71
kernel/vfs/pty.h +9 -15
libs/aos/signals.h +18 -11
libs/aos/syscalls.h +35 -11
libs/boot/proto.h +7 -3
libs/data/ring.c +4 -0
libs/data/ring.h +2 -0
libs/input/kbd.c +18 -0
libs/input/kbd.h +3 -0
libs/libc/ctype.c +1 -1
libs/term/parser.c +11 -8
libs/term/termios.h created
libs/x86/serial.c +13 -6
libs/x86/serial.h +17 -1
utils/qemu.mk +4 -0