Commit Graph

  • ef1077fd7b Kernel: kill() with negative pid actually matches pgid Bananymous 2023-08-22 14:54:15 +0300
  • f1ba5c7e0f Kernel: Process keeps track if forked process has called exec*() Bananymous 2023-08-22 14:53:46 +0300
  • 97ea4986af Kernel/LibC: implement proper getpgid and setpgid Bananymous 2023-08-22 14:53:12 +0300
  • 25c021c15b Kernel: Add function to enumerate processes in session Bananymous 2023-08-22 14:52:28 +0300
  • 2bf12a52d1 BAN: increase function size to 5 * sizeof(void*) Bananymous 2023-08-22 14:52:03 +0300
  • 6ada36d3cb Shell/init: We now use pgrp instead of pid and init open terminal Bananymous 2023-08-22 11:37:04 +0300
  • 42b90ae76c Kernel/LibC: Add {get,set}pgrp() Bananymous 2023-08-22 11:36:33 +0300
  • ccc61cb10c Kernel: Barebones implementation sessions and process groups Bananymous 2023-08-22 11:35:40 +0300
  • be5b81740e BAN: Add enum class Iteration for for_each loops Bananymous 2023-08-22 11:30:53 +0300
  • e7458ca10a BAN: Function call is now const Bananymous 2023-08-22 11:30:40 +0300
  • b10168eb1c LibC: make printf buffer only 128 bytes Bananymous 2023-08-18 16:49:27 +0300
  • 30463c9082 Id: Print username corresponding to uid/euid Bananymous 2023-08-18 15:36:51 +0300
  • dc7391dc89 BuildSystem: only apply stack usage warning to libc Bananymous 2023-08-17 20:49:52 +0300
  • eb98d70a0b Shell: command execution and parsing support piped commands Bananymous 2023-08-17 12:05:38 +0300
  • dcd8374b89 LibC: add fileno() and fdopen() Bananymous 2023-08-17 12:03:59 +0300
  • 8e4216215e Kernel/LibC: add dup() syscall and function Bananymous 2023-08-17 12:03:29 +0300
  • 5bd7099b96 Shell: add basic printf test Bananymous 2023-08-16 10:42:53 +0300
  • 9a63d3b2da LibC: printf handles nan and inf Bananymous 2023-08-16 10:42:35 +0300
  • bf02330db9 LibC: math.h defines is*() macros and uses builtins for values Bananymous 2023-08-16 10:41:55 +0300
  • 5806a6484f cat: use 1025 buffer. this allows reads to be 1024 byte Bananymous 2023-08-16 09:33:14 +0300
  • 0fa5401800 Shell: $? returns last return value Bananymous 2023-08-15 09:17:46 +0300
  • b30f4cbfb5 Userspace: Add basic whoami command Bananymous 2023-08-15 09:03:51 +0300
  • ba37183c9c Shell: '\u' in PS1 is replaced with username corresponding to euid Bananymous 2023-08-14 14:55:23 +0300
  • 2f298a1979 Shell: ^A moves cursor to the beginning of line Bananymous 2023-08-14 12:26:22 +0300
  • 8c282a5d83 Kernel: O_SEARCH doesn't require any permissions Bananymous 2023-08-11 12:25:32 +0300
  • d34c0a5abe LibC: cleanup fstatat Bananymous 2023-08-11 12:25:15 +0300
  • 8f3348cf2b Kernel: open() now validates file access mode Bananymous 2023-08-11 11:53:38 +0300
  • 38c0bc7bae Kernel: Remove unused syscall Bananymous 2023-08-11 11:43:48 +0300
  • 313b00b11f Userspace: implement basic stat Bananymous 2023-08-10 11:15:17 +0300
  • 165a379c73 LibC: Fix S_IF* macros and add macros for access/type masks Bananymous 2023-08-10 11:14:32 +0300
  • a7f37236bf Kernel: Zero initialize threads sse_storage Bananymous 2023-08-11 00:26:43 +0300
  • 51532336b0 Kernel: Move structures in boot.S to .data section Bananymous 2023-08-11 00:26:12 +0300
  • 03d4b47f63 Kernel: HPET is now used in legacy mode when PIC is forced Bananymous 2023-08-10 22:01:30 +0300
  • 8b57edde6b Kernel: Fix slave PIC Bananymous 2023-08-10 21:52:31 +0300
  • 778778fede Kernel: HPET doesn't use the legacy mapping anymore Bananymous 2023-08-10 21:04:01 +0300
  • f7449c4ab9 Kernel: APIC now uses MMIO namespace functions for mmio Bananymous 2023-08-10 21:03:25 +0300
  • fd2bcc9156 Kernel: IDT now sends EOI for every interrupt Bananymous 2023-08-09 09:57:02 +0300
  • a5b1555725 Kernel: Validate HPET tick period Bananymous 2023-08-09 09:50:38 +0300
  • e74fdbc55b Kernel: Remove get_unix_timestamp from SystemTimer Bananymous 2023-08-09 08:57:50 +0300
  • 008c777a9f Kernel: Add PageTable::Flags::CacheDisable Bananymous 2023-08-06 23:59:30 +0300
  • d8a9d4a24e Kerne: SystemTimer can now output the current real time Bananymous 2023-08-04 15:51:03 +0300
  • bc0e1fa898 Kernel: Rename TimerHandler to SystemTimer Bananymous 2023-08-04 15:50:11 +0300
  • 17f1737c9a Kernel: Add function to retrieve boot time as timespec Bananymous 2023-08-04 15:44:32 +0300
  • 868444f043 Kernel: F11 now prints current time to debug output Bananymous 2023-08-04 15:16:31 +0300
  • fdae253695 Kernel: Add basic HPET support to replace PIT if exists Bananymous 2023-08-04 15:15:45 +0300
  • d4adcff958 Kernel: Move sleep() implementation to TimerHandler Bananymous 2023-08-04 15:15:00 +0300
  • 2c59c9a3cc Kernel: Add more structures to ACPI Bananymous 2023-08-04 15:13:47 +0300
  • 3a59a64355 Kernel: Implement basic MMIO functions Bananymous 2023-08-04 15:12:29 +0300
  • 9363c1cdaf Kernel: Move RTC to Timer directory Bananymous 2023-08-04 11:12:16 +0300
  • 198e6d7cf6 Kernel: Start work on abstracting Timers Bananymous 2023-08-04 10:22:20 +0300
  • 07ee898f4f Kernel: Remove unnecessary timer check from Scheduler Bananymous 2023-08-04 10:24:29 +0300
  • 6feb8a99d2 BAN: UniqPtr can now be constructed from other convertible UniqPtr Bananymous 2023-08-04 10:20:45 +0300
  • e57c1fc9fc Kernel: Threads are deleted sooner and cleaner Bananymous 2023-08-03 10:42:14 +0300
  • a11b5ae41f Kernel: align userspace stacks Bananymous 2023-08-03 18:09:48 +0300
  • c67a7cec5b LibC: fix typo Bananymous 2023-08-02 22:10:12 +0300
  • 91f04ce250 Kernel: Change PageTable API Bananymous 2023-08-02 22:09:14 +0300
  • 926df2b276 Kernel: PageTable now supports reserved pages Bananymous 2023-08-01 16:32:51 +0300
  • 9fe878bbec Shell: Print if the process exited because of a signal Bananymous 2023-08-01 14:24:36 +0300
  • 217dbca7b7 Kernel: Cleanup returns from any kind on interrupts Bananymous 2023-08-01 14:23:50 +0300
  • 13852e865c LibC: sys/wait.h now has proper exit status macros Bananymous 2023-08-01 10:32:04 +0300
  • 679d47131d BuildSystem: Edit build flags regarding sse and warnings Bananymous 2023-07-31 22:31:17 +0300
  • 8b1bccb79b Kernel: store/load sse/mmx/fpu state on isr/irq/syscall Bananymous 2023-07-31 22:28:57 +0300
  • e86e755c51 Kernel: Generally improve signals Bananymous 2023-07-31 22:28:18 +0300
  • 8ec6d4c9fc LibC: we don't parse syscall arguments in unistd Bananymous 2023-07-31 22:24:11 +0300
  • 08cdf88586 Kernel: Cleanup signal trampoline Bananymous 2023-07-30 15:58:35 +0300
  • 6f7d97cf94 Kernel: Remove is_in_syscall from Thread Bananymous 2023-07-30 14:49:51 +0300
  • 5e434f5131 Kernel: Hardware exceptions now sends signals to userspace Bananymous 2023-07-30 14:17:39 +0300
  • a152d0aac5 Kernel: raise() now force sends signal Bananymous 2023-07-30 14:17:07 +0300
  • 879706e6e9 Kernel: Signals are not queued anymore Bananymous 2023-07-29 16:54:31 +0300
  • 00f1f30a08 Kernel: Userspace sets the foreground process and Shell handles ^C Bananymous 2023-07-28 18:10:36 +0300
  • a5813f9ba5 Kernel: TTY now sends SIGINT on ^C to foreground process Bananymous 2023-07-28 18:10:09 +0300
  • 5652af3384 Kernel: Mark reading section from StorageDevice as terminate critical Bananymous 2023-07-28 18:09:35 +0300
  • 22cd9af8cc Kernel: Restructure process and thread termination Bananymous 2023-07-28 18:06:20 +0300
  • a9cf9bceef Kernel: Rewrite DiskCache Bananymous 2023-07-27 21:57:32 +0300
  • 6c0f864a6e Kernel: Locks allow locking after locker is invalid Bananymous 2023-07-27 18:36:44 +0300
  • e4509d9482 Kernel: DiskCache uses are now done without interrupts Bananymous 2023-07-27 18:35:08 +0300
  • 0f23e1f0f4 Kernel: Scheduler can now check if tid is valid Bananymous 2023-07-27 18:34:06 +0300
  • 642a6aa4ad Kernel: Process::exit() unblocks the whole lock before blocking Bananymous 2023-07-24 22:28:04 +0300
  • 432c296b7b Kernel: Implement SYS_GET_PID and SYS_TCSETPGID Bananymous 2023-07-24 22:27:11 +0300
  • b576d373c4 Kernel: TTY now stores foreground process pid Bananymous 2023-07-24 22:28:58 +0300
  • 522aa8e762 Kernel: add Thread::queue_signal() Bananymous 2023-07-24 22:26:10 +0300
  • 146802fa4c Kernel: Scheduler can now block threads based on tid Bananymous 2023-07-24 22:24:21 +0300
  • cc8af25d73 Kernel: remove Semaphore::is_blocked Bananymous 2023-07-24 22:23:13 +0300
  • f5f4bf58ad Kernel: add is_tty() to inode Bananymous 2023-07-24 22:19:59 +0300
  • 3784da0d18 Kernel: you can now ask process if it is userspace process Bananymous 2023-07-23 18:52:55 +0300
  • 9eb72f4392 Kernel: OpenFileDesctiptor can now return inode of fd Bananymous 2023-07-23 18:52:33 +0300
  • f7bf6d5e62 Kernel: Change signal kernel API Bananymous 2023-07-23 18:33:10 +0300
  • adb14ba373 Kernel: Userspace signal handlers are now called one at a time Bananymous 2023-07-23 13:09:04 +0300
  • 7391d91317 Kernel/LibC: add SYS_SIGNAL/signal() Bananymous 2023-07-21 20:08:13 +0300
  • 2149cec29f Kernel: Make signals more POSIX Bananymous 2023-07-21 19:54:37 +0300
  • ad756c36fc Kernel/LibC: Add SYS_KILL/kill() Bananymous 2023-07-21 19:27:38 +0300
  • b56316e9da Kernel: Scheduler now sends queued signals Bananymous 2023-07-21 19:27:10 +0300
  • a989c44211 Kernel: Make signals thread specific Bananymous 2023-07-21 18:58:17 +0300
  • 217e5f81cc Kernel: add default signal actions Bananymous 2023-07-21 18:02:35 +0300
  • 5f2549b198 BuildSystem: Strip kernel. We will add the map once we use it Bananymous 2023-07-21 15:47:31 +0300
  • dcd4d0daeb Kernel/LibC: Add bareboness signals Bananymous 2023-07-21 15:45:02 +0300
  • faf4220b38 Kernel: kernel memory takes now full pml4e Bananymous 2023-07-21 13:29:46 +0300
  • 193ddaa2f6 Kernel: remove PAGE_FLAGS_MASK as that was not correct anymore Bananymous 2023-07-21 12:01:50 +0300
  • 46eb27883a Kernel: Don't map kernel executable memory as writable Bananymous 2023-07-21 11:17:39 +0300
  • 2db7cdb71e Kernel: Syscalls now get the interrupt stack Bananymous 2023-07-21 11:01:19 +0300