Commit Graph

  • 6ad2f23259 Kernel: Correct inode links count Bananymous 2023-09-05 14:46:56 +03:00
  • 0d725f68e3 Snake render grid lines without extra space after last '#' Bananymous 2023-09-05 14:33:49 +03:00
  • 0770ba0936 BuildSystem: Don't set permissions on image creation Bananymous 2023-09-05 14:31:51 +03:00
  • c13b5aecfe Snake: Reorder apple generation/snake body update Bananymous 2023-09-05 14:30:30 +03:00
  • 3892579049 Base: Add grub entries for serial-only boot Bananymous 2023-09-05 01:04:22 +03:00
  • ba7e1b9ca5 Kernel: Add /dev/tty symlink that targets the current tty Bananymous 2023-09-05 00:59:29 +03:00
  • f0772e385c Kernel: Implement basic RamSymlinkInode Bananymous 2023-09-05 00:58:49 +03:00
  • 3fd94b1acb Kernel: You can now read serial output from the /dev/ttyS* Bananymous 2023-09-05 00:05:49 +03:00
  • 93c5755012 Kernel: Receive interrupts for COM1 and COM2 input Bananymous 2023-09-04 22:05:02 +03:00
  • 323de3c866 Kernel: Rework whole Terminal structure Bananymous 2023-09-04 19:34:18 +03:00
  • 52b9fddfd7 Kernel: Make serial devices to their own class Bananymous 2023-09-04 14:57:05 +03:00
  • e4041ce5ec Userspace: Implement basic snake game :) Bananymous 2023-09-04 14:30:45 +03:00
  • 04cfbca336 Kernel: Add ANSI support for hiding/showing cursor to TTY Bananymous 2023-09-04 14:30:09 +03:00
  • 7184514b5d LibC: add time() implementation Bananymous 2023-09-04 13:52:58 +03:00
  • dfb18d38f7 LibC: Add rand() and srand() implementation Bananymous 2023-09-04 13:52:13 +03:00
  • 9901f95d78 Kernel: Add basic nanosleep, only millisecond percision Bananymous 2023-09-04 12:58:25 +03:00
  • b2139c0b1e Kernel: Add basic support for O_NONBLOCK (only for tty) Bananymous 2023-09-04 12:57:52 +03:00
  • 6f002c926a Kernel: add basic fcntl() with couple of commands and no validation Bananymous 2023-09-04 12:57:09 +03:00
  • a711462ef4 Kernel: Split ext2 implementation to multiple files Bananymous 2023-09-01 15:10:23 +03:00
  • f31c6b847f Kernel: Start work on writable ext2 filesystem Bananymous 2023-08-31 23:40:31 +03:00
  • 195ccf4f53 Kernel: Add missing ififo() to Inode::Mode Bananymous 2023-08-31 21:38:13 +03:00
  • 5786ffe7d2 BuildSystem: Add cmake target to validate main partition Bananymous 2023-08-31 21:37:30 +03:00
  • 073edd0b8e Kernel: Stack trace dumping validates pointers before using them Bananymous 2023-08-31 21:36:23 +03:00
  • 2c136dae2d Update README.md Bananymous 2023-08-31 17:54:12 +03:00
  • 250789aa20 Kernel: better handle kernel errors Bananymous 2023-08-29 00:13:21 +03:00
  • 8032824054 BuildSystem: use -a with rsync Bananymous 2023-08-28 11:38:17 +03:00
  • 7aaea786c2 LibC: Don't undef needed values in inttypes.h Bananymous 2023-08-24 15:48:14 +03:00
  • ce8e8e68f4 BuildSystem: Add USES_TERMINAL when preparing sysroot Bananymous 2023-08-23 20:48:40 +03:00
  • 80e7a89f67 BuildSystem: Base sysroot is now distributed as a tar ball Bananymous 2023-08-23 10:35:16 +03:00
  • b780df8be0 Shell: hostname is not parsed from /etc/hostname Bananymous 2023-08-22 15:33:01 +03:00
  • c4210b5810 Shell: use process groups more properly Bananymous 2023-08-22 14:54:50 +03:00
  • 38e72019c7 Kernel: kill() with negative pid actually matches pgid Bananymous 2023-08-22 14:54:15 +03:00
  • d745fca86a Kernel: Process keeps track if forked process has called exec*() Bananymous 2023-08-22 14:53:46 +03:00
  • 60a2185ee6 Kernel/LibC: implement proper getpgid and setpgid Bananymous 2023-08-22 14:53:12 +03:00
  • d634fec8dc Kernel: Add function to enumerate processes in session Bananymous 2023-08-22 14:52:28 +03:00
  • e33bf62bba BAN: increase function size to 5 * sizeof(void*) Bananymous 2023-08-22 14:52:03 +03:00
  • 2dcd4ed131 Shell/init: We now use pgrp instead of pid and init open terminal Bananymous 2023-08-22 11:37:04 +03:00
  • c9243f0d1e Kernel/LibC: Add {get,set}pgrp() Bananymous 2023-08-22 11:36:33 +03:00
  • 0f6c19a1b7 Kernel: Barebones implementation sessions and process groups Bananymous 2023-08-22 11:35:40 +03:00
  • 642929f071 BAN: Add enum class Iteration for for_each loops Bananymous 2023-08-22 11:30:53 +03:00
  • 2746419c8c BAN: Function call is now const Bananymous 2023-08-22 11:30:40 +03:00
  • b5a7246ba7 LibC: make printf buffer only 128 bytes Bananymous 2023-08-18 16:49:27 +03:00
  • c1d82282d9 Id: Print username corresponding to uid/euid Bananymous 2023-08-18 15:36:51 +03:00
  • 0abe30af38 BuildSystem: only apply stack usage warning to libc Bananymous 2023-08-17 20:49:52 +03:00
  • 089da2608c Shell: command execution and parsing support piped commands Bananymous 2023-08-17 12:05:38 +03:00
  • 85c6149138 LibC: add fileno() and fdopen() Bananymous 2023-08-17 12:03:59 +03:00
  • 79f3aa5419 Kernel/LibC: add dup() syscall and function Bananymous 2023-08-17 12:03:29 +03:00
  • ed5f4d64a8 Shell: add basic printf test Bananymous 2023-08-16 10:42:53 +03:00
  • 569e76a848 LibC: printf handles nan and inf Bananymous 2023-08-16 10:42:35 +03:00
  • 3a36c30e80 LibC: math.h defines is*() macros and uses builtins for values Bananymous 2023-08-16 10:41:55 +03:00
  • a09232a555 cat: use 1025 buffer. this allows reads to be 1024 byte Bananymous 2023-08-16 09:33:14 +03:00
  • 5a94818210 Shell: $? returns last return value Bananymous 2023-08-15 09:17:46 +03:00
  • 2441f208c6 Userspace: Add basic whoami command Bananymous 2023-08-15 09:03:51 +03:00
  • db2eca697e Shell: '\u' in PS1 is replaced with username corresponding to euid Bananymous 2023-08-14 14:55:23 +03:00
  • 81d79cca61 Shell: ^A moves cursor to the beginning of line Bananymous 2023-08-14 12:26:22 +03:00
  • 871c792976 Kernel: O_SEARCH doesn't require any permissions Bananymous 2023-08-11 12:25:32 +03:00
  • 9ab7e76a3b LibC: cleanup fstatat Bananymous 2023-08-11 12:25:15 +03:00
  • 8480ffe108 Kernel: open() now validates file access mode Bananymous 2023-08-11 11:53:38 +03:00
  • e1400f9680 Kernel: Remove unused syscall Bananymous 2023-08-11 11:43:48 +03:00
  • 77ff585248 Userspace: implement basic stat Bananymous 2023-08-10 11:15:17 +03:00
  • 9cb50cba33 LibC: Fix S_IF* macros and add macros for access/type masks Bananymous 2023-08-10 11:14:32 +03:00
  • 6e5bce3c57 Kernel: Zero initialize threads sse_storage Bananymous 2023-08-11 00:26:43 +03:00
  • f75adab9d8 Kernel: Move structures in boot.S to .data section Bananymous 2023-08-11 00:26:12 +03:00
  • 5d0a6e7b08 Kernel: HPET is now used in legacy mode when PIC is forced Bananymous 2023-08-10 22:01:30 +03:00
  • b0c8a9cdc4 Kernel: Fix slave PIC Bananymous 2023-08-10 21:52:31 +03:00
  • ebe0adb3b5 Kernel: HPET doesn't use the legacy mapping anymore Bananymous 2023-08-10 21:04:01 +03:00
  • 4842d5e2b9 Kernel: APIC now uses MMIO namespace functions for mmio Bananymous 2023-08-10 21:03:25 +03:00
  • 0b8396b1a6 Kernel: IDT now sends EOI for every interrupt Bananymous 2023-08-09 09:57:02 +03:00
  • 55ef793a74 Kernel: Validate HPET tick period Bananymous 2023-08-09 09:50:38 +03:00
  • 96c0ad0d3d Kernel: Remove get_unix_timestamp from SystemTimer Bananymous 2023-08-09 08:57:50 +03:00
  • 6fcb191ca0 Kernel: Add PageTable::Flags::CacheDisable Bananymous 2023-08-06 23:59:30 +03:00
  • 3df97c36e6 Kerne: SystemTimer can now output the current real time Bananymous 2023-08-04 15:51:03 +03:00
  • c732297623 Kernel: Rename TimerHandler to SystemTimer Bananymous 2023-08-04 15:50:11 +03:00
  • ca5a097ef5 Kernel: Add function to retrieve boot time as timespec Bananymous 2023-08-04 15:44:32 +03:00
  • 1f8a5f0ce5 Kernel: F11 now prints current time to debug output Bananymous 2023-08-04 15:16:31 +03:00
  • 1fa7a1cac4 Kernel: Add basic HPET support to replace PIT if exists Bananymous 2023-08-04 15:15:45 +03:00
  • ea4a70c3b3 Kernel: Move sleep() implementation to TimerHandler Bananymous 2023-08-04 15:15:00 +03:00
  • aa0929614a Kernel: Add more structures to ACPI Bananymous 2023-08-04 15:13:47 +03:00
  • 3c31fc9c4b Kernel: Implement basic MMIO functions Bananymous 2023-08-04 15:12:29 +03:00
  • 7eb2c140fe Kernel: Move RTC to Timer directory Bananymous 2023-08-04 11:12:16 +03:00
  • 659adb89a6 Kernel: Start work on abstracting Timers Bananymous 2023-08-04 10:22:20 +03:00
  • dd17124c77 Kernel: Remove unnecessary timer check from Scheduler Bananymous 2023-08-04 10:24:29 +03:00
  • 453a5387cb BAN: UniqPtr can now be constructed from other convertible UniqPtr Bananymous 2023-08-04 10:20:45 +03:00
  • 643e87a076 Kernel: Threads are deleted sooner and cleaner Bananymous 2023-08-03 10:42:14 +03:00
  • 20eafb4cc4 Kernel: align userspace stacks Bananymous 2023-08-03 18:09:48 +03:00
  • e715d52f80 LibC: fix typo Bananymous 2023-08-02 22:10:12 +03:00
  • 3139391e06 Kernel: Change PageTable API Bananymous 2023-08-02 22:09:14 +03:00
  • 64ad752e73 Kernel: PageTable now supports reserved pages Bananymous 2023-08-01 16:32:51 +03:00
  • dddfa308d7 Shell: Print if the process exited because of a signal Bananymous 2023-08-01 14:24:36 +03:00
  • a78a7ed156 Kernel: Cleanup returns from any kind on interrupts Bananymous 2023-08-01 14:23:50 +03:00
  • b4eddf04c4 LibC: sys/wait.h now has proper exit status macros Bananymous 2023-08-01 10:32:04 +03:00
  • 2a851b52f1 BuildSystem: Edit build flags regarding sse and warnings Bananymous 2023-07-31 22:31:17 +03:00
  • b245a55ea0 Kernel: store/load sse/mmx/fpu state on isr/irq/syscall Bananymous 2023-07-31 22:28:57 +03:00
  • c4f6c859c1 Kernel: Generally improve signals Bananymous 2023-07-31 22:28:18 +03:00
  • 834bf33e57 LibC: we don't parse syscall arguments in unistd Bananymous 2023-07-31 22:24:11 +03:00
  • 1a6100f083 Kernel: Cleanup signal trampoline Bananymous 2023-07-30 15:58:35 +03:00
  • de927b6b05 Kernel: Remove is_in_syscall from Thread Bananymous 2023-07-30 14:49:51 +03:00
  • 1d7795e22c Kernel: Hardware exceptions now sends signals to userspace Bananymous 2023-07-30 14:17:39 +03:00
  • abe8810d47 Kernel: raise() now force sends signal Bananymous 2023-07-30 14:17:07 +03:00
  • acf125c853 Kernel: Signals are not queued anymore Bananymous 2023-07-29 16:54:31 +03:00