git.cappig.dev / apheleiaOS.git master

8c832c3f071f9e5913a46aa2893744c197392da6 master
cappig <[email protected]> ยท 1 year ago
Blocking read/write, disk changes, mount/unmount

* Add the infrastructure (wait_list) that allows devices to block
  processes for data read/write. The pyt uses this
* Add mount/unmount syscalls and associated vfs code
* Add the mkdir syscall
* Change the way disks are handled. A lot of stuff has changed in
  sys/disk, (see diff)
* Allow for more than TTY_COUNT ttys to be spawned.
* Some fixes and additions to libdata (data structures)
* Start working on users,groups and permissions
* Treat the initrd as the root fs from now on
* Perform proper swapgs on syscall return
40 files changed, 1000 insertions, 239 deletions
build/initrd.mk +7 -5
kernel/arch/idt_stubs.asm +2 -0
kernel/arch/tsc.c +3 -1
kernel/drivers/ext2.c +1 -4
kernel/drivers/initrd.c +48 -18
kernel/drivers/initrd.h +1 -1
kernel/drivers/iso9660.c +30 -7
kernel/drivers/serial.c +1 -1
kernel/drivers/vesa.c +2 -2
kernel/drivers/zero.c +6 -5
kernel/main.c +5 -1
kernel/sched/exec.c +10 -6
kernel/sched/process.c +17 -11
kernel/sched/process.h +22 -7
kernel/sched/scheduler.c +9 -1
kernel/sched/signal.c +0 -1
kernel/sched/switch.asm +4 -1
kernel/sched/syscall.c +162 -20
kernel/sched/wait.c created
kernel/sched/wait.h created
kernel/sys/disk.c +111 -32
kernel/sys/disk.h +23 -5
kernel/sys/keyboard.c +2 -2
kernel/sys/mouse.c +2 -2
kernel/sys/symbols.c +7 -5
kernel/sys/tty.c +44 -24
kernel/sys/tty.h +2 -1
kernel/vfs/fs.c +155 -7
kernel/vfs/fs.h +45 -17
kernel/vfs/pipe.c +2 -2
kernel/vfs/pty.c +73 -28
kernel/vfs/pty.h +3 -0
libs/aos/syscalls.h +76 -10
libs/data/list.c +7 -2
libs/data/list.h +1 -1
libs/data/tree.c +2 -2
libs/data/vector.c +32 -6
libs/data/vector.h +4 -0
libs/x86/paging.h +11 -0
user/build.mk +1 -1