Commit Graph

  • 925df39107 Kernel: Userspace sets the foreground process and Shell handles ^C Bananymous 2023-07-28 18:10:36 +03:00
  • 9279bbbd19 Kernel: TTY now sends SIGINT on ^C to foreground process Bananymous 2023-07-28 18:10:09 +03:00
  • 9fd9a8b5b1 Kernel: Mark reading section from StorageDevice as terminate critical Bananymous 2023-07-28 18:09:35 +03:00
  • 3c6be319b1 Kernel: Restructure process and thread termination Bananymous 2023-07-28 18:06:20 +03:00
  • 104894c0c7 Kernel: Rewrite DiskCache Bananymous 2023-07-27 21:57:32 +03:00
  • 2f52001c6d Kernel: Locks allow locking after locker is invalid Bananymous 2023-07-27 18:36:44 +03:00
  • f609170a6a Kernel: DiskCache uses are now done without interrupts Bananymous 2023-07-27 18:35:08 +03:00
  • 9f75b04714 Kernel: Scheduler can now check if tid is valid Bananymous 2023-07-27 18:34:06 +03:00
  • 7b4a2fe3d1 Kernel: Process::exit() unblocks the whole lock before blocking Bananymous 2023-07-24 22:28:04 +03:00
  • f6ee4b3496 Kernel: Implement SYS_GET_PID and SYS_TCSETPGID Bananymous 2023-07-24 22:27:11 +03:00
  • 1ef0534b69 Kernel: TTY now stores foreground process pid Bananymous 2023-07-24 22:28:58 +03:00
  • b9dd1895bb Kernel: add Thread::queue_signal() Bananymous 2023-07-24 22:26:10 +03:00
  • be47743dfa Kernel: Scheduler can now block threads based on tid Bananymous 2023-07-24 22:24:21 +03:00
  • 57798e5d76 Kernel: remove Semaphore::is_blocked Bananymous 2023-07-24 22:23:13 +03:00
  • cd64c1cfec Kernel: add is_tty() to inode Bananymous 2023-07-24 22:19:59 +03:00
  • f76d921e25 Kernel: you can now ask process if it is userspace process Bananymous 2023-07-23 18:52:55 +03:00
  • a2bf474013 Kernel: OpenFileDesctiptor can now return inode of fd Bananymous 2023-07-23 18:52:33 +03:00
  • 9729e5a05b Kernel: Change signal kernel API Bananymous 2023-07-23 18:33:10 +03:00
  • 2dce0a0415 Kernel: Userspace signal handlers are now called one at a time Bananymous 2023-07-23 13:09:04 +03:00
  • d560137ae6 Kernel/LibC: add SYS_SIGNAL/signal() Bananymous 2023-07-21 20:08:13 +03:00
  • c12f4fb40f Kernel: Make signals more POSIX Bananymous 2023-07-21 19:54:37 +03:00
  • 10169d773d Kernel/LibC: Add SYS_KILL/kill() Bananymous 2023-07-21 19:27:38 +03:00
  • b78596dcf4 Kernel: Scheduler now sends queued signals Bananymous 2023-07-21 19:27:10 +03:00
  • 40f7c6b8fa Kernel: Make signals thread specific Bananymous 2023-07-21 18:58:17 +03:00
  • 8063700d7b Kernel: add default signal actions Bananymous 2023-07-21 18:02:35 +03:00
  • 70f89ed1fc BuildSystem: Strip kernel. We will add the map once we use it Bananymous 2023-07-21 15:47:31 +03:00
  • c2cf98e32f Kernel/LibC: Add bareboness signals Bananymous 2023-07-21 15:45:02 +03:00
  • a1db032ba9 Kernel: kernel memory takes now full pml4e Bananymous 2023-07-21 13:29:46 +03:00
  • 5babd7b4f2 Kernel: remove PAGE_FLAGS_MASK as that was not correct anymore Bananymous 2023-07-21 12:01:50 +03:00
  • c0029a2fa2 Kernel: Don't map kernel executable memory as writable Bananymous 2023-07-21 11:17:39 +03:00
  • 4e35b8b49d Kernel: Syscalls now get the interrupt stack Bananymous 2023-07-21 11:01:19 +03:00
  • 21c6135ae2 BAN: Fix function call in Optional Bananymous 2023-07-21 10:57:46 +03:00
  • b02c486ad0 Kernel: add NullDevice to /dev/null Bananymous 2023-07-20 00:06:22 +03:00
  • 08cd285ca6 Kernel: move Device.h to its own directory Bananymous 2023-07-19 23:50:57 +03:00
  • 94af856db0 Kernel: cleanup sys_exec() Bananymous 2023-07-19 23:20:39 +03:00
  • bf5d74b8bc Kernel: fix memory leak in PageTable Bananymous 2023-07-19 23:17:39 +03:00
  • fd9210ba9e Kernel: FixedWidthAllocator creation can now fail Bananymous 2023-07-19 18:07:24 +03:00
  • 66d9260257 Kernel: VirtualRange creation can fail Bananymous 2023-07-19 17:56:26 +03:00
  • 5d2bfc858e Kernel: SYS_FORK can now fail instead of panicing on error Bananymous 2023-07-19 17:47:12 +03:00
  • 8b34880064 Kernel: Fix bug which made bochs unbootable Bananymous 2023-07-13 15:53:09 +03:00
  • 98c698d9ec Kernel: Enable global bit on kernel pages Bananymous 2023-07-13 15:08:54 +03:00
  • 9ea2c1d932 Kernel: Support execute disable bit Bananymous 2023-07-13 14:28:53 +03:00
  • 297e65f19a Kernel: CPUID can detect wether cpu supports nxe bit Bananymous 2023-07-13 14:24:58 +03:00
  • 65559a3e44 Kernel: Fix multiple bugs with terminal Bananymous 2023-07-13 13:09:52 +03:00
  • c3a71e94a9 Kernel: Fix ATA disk and partition numbering Bananymous 2023-07-13 12:12:47 +03:00
  • fb4b363a16 Init: Use the new pwd.h api for user parsing Bananymous 2023-07-13 12:01:41 +03:00
  • 4154f43b49 LibC: add getpwname() and getpwuid() Bananymous 2023-07-13 12:01:16 +03:00
  • b1fcb0b58f LibC: implement endpwent(), getpwent() and setpwent() Bananymous 2023-07-13 11:22:09 +03:00
  • 00409ffa60 Kernel: Ext2Inode::create_file actually sets the inode data Bananymous 2023-07-13 10:20:56 +03:00
  • 16acd50559 BAN: Iterators are now single general type with CONST template Bananymous 2023-07-12 13:35:21 +03:00
  • 5df48804e1 BAN: add either_or and either_or_t Bananymous 2023-07-12 13:34:31 +03:00
  • 9eab6710ce BAN: Implement ConstIteratorDouble and add it to HashMap Bananymous 2023-07-12 11:41:05 +03:00
  • 65424a6769 BAN: Generalize HashMapIterator to IteratorDouble Bananymous 2023-07-12 09:29:05 +03:00
  • 12d53ac233 Base: add empty directories with .gitkeep to base/ Bananymous 2023-07-11 08:02:28 +03:00
  • 9bcfb34524 Kernel: Rewrite whole device structure Bananymous 2023-07-10 23:17:14 +03:00
  • f88b9ae4f2 BAN: Add iterators to HashMap Bananymous 2023-07-10 23:16:41 +03:00
  • 8cd91f5a6a Userspace: add basic 'touch' command Bananymous 2023-07-10 16:24:03 +03:00
  • f65e5f4190 tee: indent with tabs Bananymous 2023-07-10 16:18:08 +03:00
  • f521a98157 Userspace: Add basic tee command Bananymous 2023-07-10 16:07:53 +03:00
  • ee4ef6638c Kenrel: RamInode now implements truncate() Bananymous 2023-07-10 16:07:09 +03:00
  • 0910958c04 Kernel: OpenFileDescriptors can now store more than 8 bits of flags Bananymous 2023-07-10 16:06:36 +03:00
  • d6408bcf17 Kernel: add O_TRUNC Bananymous 2023-07-10 15:48:18 +03:00
  • 178fc00905 Kernel: creat() mode now has to be access mode Bananymous 2023-07-10 15:34:41 +03:00
  • 89d4fa4d9b Kernel: Ext2 fill now return ENOTSUP on write Bananymous 2023-07-10 15:34:10 +03:00
  • 46e1419e70 Kernel: O_APPEND is now supported Bananymous 2023-07-10 15:11:27 +03:00
  • f7c4bc908e Kernel: open() and openat() now take mode as parameter Bananymous 2023-07-10 15:08:30 +03:00
  • a0ecbed726 Kernel: You can now read/write to RamInodes Bananymous 2023-07-10 14:09:35 +03:00
  • 74fc0aa308 Kernel: Inode::create_file() now takes uid and gid as parameters Bananymous 2023-07-10 13:32:10 +03:00
  • d5f0448e48 Kernel: start work on ram file system Bananymous 2023-07-10 13:26:14 +03:00
  • 51e4b11890 LibC: add NAME_MAX to limits.h Bananymous 2023-07-10 10:45:05 +03:00
  • d713f252aa Kenrel: Fix inode comparison Bananymous 2023-07-10 10:44:41 +03:00
  • 5ec2d85081 Kernel: Inode rename directory functions Bananymous 2023-07-10 09:51:13 +03:00
  • 0d132ee518 Kernel: Mark Ext2 classes final Bananymous 2023-07-10 09:42:13 +03:00
  • fabbb9f531 BAN: RefPtr can be constructed from other types Bananymous 2023-07-10 09:41:39 +03:00
  • 80c8d52dc5 Kernel: add more functionality to PCI Bananymous 2023-07-09 23:04:11 +03:00
  • b6c4a2dbf1 Kernel: Edit lock scopes and make string copy able to fail Bananymous 2023-07-07 23:12:19 +03:00
  • a2f5ad7bed Kernel: Move open file descriptors to their own class Bananymous 2023-07-07 23:11:37 +03:00
  • a337f414fc LibC: limits.h now defined OPEN_MAX Bananymous 2023-07-07 23:08:49 +03:00
  • 404b3dd44c Shell: $(...) expansion works now :) Bananymous 2023-07-06 23:22:57 +03:00
  • d04b031e30 Shell: you can call Shell -c ... to invoke the shell as interpreter Bananymous 2023-07-06 23:18:37 +03:00
  • 07fec6e211 Kernel/LibC: add basic dup2 Bananymous 2023-07-06 23:17:54 +03:00
  • 4cd72992c8 Kernel/LibC: Add basic pipe() syscall and command Bananymous 2023-07-06 22:16:26 +03:00
  • cdcb395640 LibC: add read() and write() to unistd Bananymous 2023-07-06 22:15:55 +03:00
  • 5a8eb51968 Kernel: TTY now unblocks semaphore after read Bananymous 2023-07-06 21:32:34 +03:00
  • a74422281f Kernel: Add O_CLOEXEC Bananymous 2023-07-06 20:00:33 +03:00
  • a45f9ee76b Kernel: Remove spammy process/thread exit printing Bananymous 2023-07-06 10:34:46 +03:00
  • f19dc114d6 Userspace: Shell now has 'env' for printing environment Bananymous 2023-07-06 10:32:43 +03:00
  • d2aabb669b Userspace: Shell imporove 'time' command Bananymous 2023-07-06 09:14:14 +03:00
  • 9c3f4039a5 Userspace: Shell now has time builtin Bananymous 2023-07-06 00:39:04 +03:00
  • 1fb305fa45 Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC Bananymous 2023-07-06 00:38:29 +03:00
  • 4086d7c3be Kernel: rework the whole PageTable structure Bananymous 2023-07-05 23:41:35 +03:00
  • 60fe5a656c LibC: Fix syscall SYS_READ and SYS_WRITE arguments Bananymous 2023-06-19 10:38:29 +03:00
  • 7d254c26bc Kernel: Rewrite and optimize DiskCache Bananymous 2023-06-19 10:31:47 +03:00
  • 328d67f551 Userspace: u8sum fix error message Bananymous 2023-06-19 10:31:23 +03:00
  • 84ecf861cd Userspace: Shell now processes $ arguments Bananymous 2023-06-19 01:39:24 +03:00
  • 46a6daccfe Userspace: Shell argument parsing now appriciates quotes Bananymous 2023-06-19 01:07:00 +03:00
  • 3df3c37bad Userspace: Shell argument parse now results in BAN::String Bananymous 2023-06-19 00:34:44 +03:00
  • 191a24110a Userspace: Shell now sets SHELL environment variable Bananymous 2023-06-18 23:35:51 +03:00
  • 275a730485 LibELF: We use BAN::Vector<uint8_t> as elf storage Bananymous 2023-06-18 23:29:23 +03:00
  • 9a7b2587af Kernel: kmalloc has now somewhat dynamic storage Bananymous 2023-06-18 23:27:00 +03:00