Commit Graph

  • 09c824b90e Kernel: Add GeneralAllocator::paddr_of Bananymous 2023-06-18 23:25:51 +03:00
  • 57e59d998f Kernel: Add enum for ISR name to number Bananymous 2023-06-18 23:24:27 +03:00
  • 44fb3945df Kernel: General allocator takes first valid vaddr as parameter Bananymous 2023-06-17 22:23:34 +03:00
  • 95c4e608de Kernel: Move print during boot Bananymous 2023-06-12 22:37:34 +03:00
  • b9603d9d23 BAN: Optional can be constructed inplace Bananymous 2023-06-12 22:33:04 +03:00
  • 16e5f96b1d BAN: Add operator-> and operator* to Optional Bananymous 2023-06-12 22:18:12 +03:00
  • d0a0e3bdef Userspace: Add u8sum Bananymous 2023-06-12 20:36:16 +03:00
  • 5dcc53bcf2 Kernel: Make disk IO blocking thread safe Bananymous 2023-06-12 18:57:47 +03:00
  • 23543b15ca Kernel: Rework syscall calling Bananymous 2023-06-12 14:16:48 +03:00
  • 2253c45feb Kernel: Remove Shell from kernel Bananymous 2023-06-12 02:04:52 +03:00
  • 9f9a70713e Base: add home directories for root and user Bananymous 2023-06-12 02:02:09 +03:00
  • cd57adc856 BuildSystem: every file except /home/* is now owned by root Bananymous 2023-06-12 02:00:05 +03:00
  • b4b892148c Userspace: Shell processes PS1 '\~' as cwd and implement cd Bananymous 2023-06-12 01:31:33 +03:00
  • 048183ddb5 Userspace: init now sets HOME environment variable and cd's into HOME Bananymous 2023-06-12 01:26:10 +03:00
  • f09b82c4b5 Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd Bananymous 2023-06-12 01:24:46 +03:00
  • 7aeb8e4d36 Kernel: allocate thread stacks from 0x300000 onwards Bananymous 2023-06-12 01:02:19 +03:00
  • 58ec4d6a31 Kernel: Fix bug in elf loading Bananymous 2023-06-12 00:59:19 +03:00
  • 25f8343269 Userspace: init now default logins as user Bananymous 2023-06-12 00:46:07 +03:00
  • e9cb844c28 Userspace: Shell now uses PS1 as prompt if set Bananymous 2023-06-12 00:45:47 +03:00
  • 30ac046232 Userspace: Add color to ls Bananymous 2023-06-11 22:46:14 +03:00
  • f67f8ccbe0 Userspace: init now sets user and group ids before running their shell Bananymous 2023-06-11 22:32:51 +03:00
  • e9217b3484 Userspace: Add basic id that prints {,e}{uid,gid} of the current proc Bananymous 2023-06-11 22:32:14 +03:00
  • 11b68f6a53 Kernel: Add SYS_GET_{,E}{UID,GID} Bananymous 2023-06-11 22:27:53 +03:00
  • 3fe67e4882 Kernel: Add syscalls for set{,e,re}{uid,gid} Bananymous 2023-06-11 22:15:35 +03:00
  • 9288537949 LibC: gid_t and id_t are now signed types Bananymous 2023-06-11 22:14:43 +03:00
  • 78536f9678 Kernel/Userspace: Add basic init process Bananymous 2023-06-11 21:01:02 +03:00
  • cce2f3e19a BAN: Add basic Optional Bananymous 2023-06-11 21:00:25 +03:00
  • 297141f321 LibC: add strchrnul() Bananymous 2023-06-11 20:18:03 +03:00
  • c7ec19c25c Kernel: Add basic Credentials for the system Bananymous 2023-06-11 19:52:13 +03:00
  • 3181ea7b4d Kernel: GeneralAllocator and FixedWidth allocator invalidate TLB caches Bananymous 2023-06-11 15:57:48 +03:00
  • 1cf464d5c7 Userspace: add basic ls command Bananymous 2023-06-11 03:29:41 +03:00
  • 83a6e6f637 LibC: Reorder some syscalls Bananymous 2023-06-11 03:28:43 +03:00
  • 64890bb640 Kernel: Add SYS_OPENAT Bananymous 2023-06-11 03:27:56 +03:00
  • caca6dc701 Kernel: Exceptions will now enable interrupts before calling exit() Bananymous 2023-06-11 01:36:21 +03:00
  • 68ec443e07 LibC: implement close Bananymous 2023-06-11 01:10:28 +03:00
  • aa86125f2b Kernel: Implement SYS_FSTAT Bananymous 2023-06-11 00:54:04 +03:00
  • c423164066 LibC: Implement basic dirent functionality Bananymous 2023-06-11 00:19:20 +03:00
  • 14aeb8de10 Kernel: we don't panic anymore on unrecognized syscall Bananymous 2023-06-11 00:18:48 +03:00
  • 691b17e0cc Kernel: allow open() call with O_SEARCH Bananymous 2023-06-11 00:18:34 +03:00
  • eae6119039 Kernel: Add syscall for reading directory entries Bananymous 2023-06-11 00:18:08 +03:00
  • 30f81e1696 LibC: add missing O_EXEC and O_SEARCH Bananymous 2023-06-10 23:21:43 +03:00
  • 01311b470f Kernel: Rewrite directory listing so it can be integrated to libc Bananymous 2023-06-10 23:13:41 +03:00
  • 223d2ac3a6 Userspace: fix return values of cat and echo Bananymous 2023-06-10 17:34:10 +03:00
  • 4cdeb98897 Kernel: We now store the processes exit code Bananymous 2023-06-10 17:31:56 +03:00
  • 47c69e9def Userspace: add exit to shell Bananymous 2023-06-09 01:51:23 +03:00
  • 9728947d5d Userspace: add echo Bananymous 2023-06-09 01:50:18 +03:00
  • 66fe48e94b Userspace: add ^L support for shell Bananymous 2023-06-09 01:24:08 +03:00
  • c0fe4756cb Kernel: SpinLocks now reschedule if they cannot aquire the lock Bananymous 2023-06-09 00:53:32 +03:00
  • 5032e79be3 Kernel: Process::exit() now uses the new Scheduler::reschedule() Bananymous 2023-06-09 00:49:19 +03:00
  • 1aec3fcedd Kernel: Scheduler now has reschedule() Bananymous 2023-06-09 00:47:17 +03:00
  • aec63081e2 Kenrel: Rename Scheduler::reschedule -> Scheduler::timer_reschedule Bananymous 2023-06-09 00:41:43 +03:00
  • 801025ad7b Kernel: Big commit. Rewrite ELF loading code Bananymous 2023-06-09 00:37:43 +03:00
  • 59b10c4d25 Kernel: PageTableScope locks the PageTable before disabling interrupts Bananymous 2023-06-09 00:34:41 +03:00
  • 841584ccbd Kernel: get_free_contiguous_pages works with non-page aligned addresses Bananymous 2023-06-06 02:03:23 +03:00
  • 24993f6020 LibC: implement setenv, unsetenv, putenv Bananymous 2023-06-05 22:43:26 +03:00
  • 55ea5c5488 Kernel: add basic support for environment variables Bananymous 2023-06-05 21:53:37 +03:00
  • 290b81dedc BAN: add StringView::contains(char) Bananymous 2023-06-05 22:46:37 +03:00
  • c6b5cc1e07 Kernel: exec now has better posix errors Bananymous 2023-06-05 21:08:34 +03:00
  • 357081346e Shell: load old termios for process execution Bananymous 2023-06-05 20:34:31 +03:00
  • 896b919c9d Kernel/LibC: pass environ pointer to process Bananymous 2023-06-05 20:34:08 +03:00
  • 6b73f4d187 Kernel: TTY now actually flushes on ^D Bananymous 2023-06-05 20:21:46 +03:00
  • 08a806e75d Kernel: verify that loaded elfs are executable Bananymous 2023-06-05 19:15:32 +03:00
  • 73c11c3d29 Shell: add bareboness utf8 support Bananymous 2023-06-05 18:53:52 +03:00
  • 5af77dcfb9 Shell: we now support left/right arrows Bananymous 2023-06-05 18:24:41 +03:00
  • a7dc7ecb90 LibC: abort now prints 'abort()' and exits Bananymous 2023-06-05 18:23:19 +03:00
  • cf88142856 Kernel: TTY now supports CSI s and u Bananymous 2023-06-05 18:19:13 +03:00
  • efb355c7be BuildSystem: disable nls from gcc Bananymous 2023-06-05 17:55:47 +03:00
  • d1ad38c8d4 Kernel/LibC: add SYS_STAT and stat(), lstat() Bananymous 2023-06-05 14:36:17 +03:00
  • 69b94dad00 Base: revert bin and lib symlinks to relative paths Bananymous 2023-06-05 10:08:01 +03:00
  • 4c40aa6b38 Userspace: Start work on proper shell Bananymous 2023-06-05 01:42:57 +03:00
  • 5cf3221364 Base: /lib and /bin are now absolute symlinks Bananymous 2023-06-04 18:12:05 +03:00
  • 40055f023c LibC: add wait and waitpid Bananymous 2023-06-04 17:59:13 +03:00
  • 9fbb2b9369 Kernel: Add SYS_WAIT Bananymous 2023-06-04 17:57:24 +03:00
  • a3aca67eef Kernel: fork() now clones current thread Bananymous 2023-06-04 17:39:23 +03:00
  • 977652ad57 Kernel: Process FixedWidthAllocators come now in 4 sizes Bananymous 2023-06-04 01:26:43 +03:00
  • 5bf7ca1c80 Kernel: Allocators are now stored in UniqPtr Bananymous 2023-06-04 01:25:57 +03:00
  • 1b1f22c35e Kernel: make load_elf() its own function Bananymous 2023-06-04 01:24:11 +03:00
  • 479817231a Kernel: PhysicalRange maps its nodes to kernel vaddr space Bananymous 2023-06-04 01:20:47 +03:00
  • e3c5477df4 Kernel: reorder process exit steps Bananymous 2023-06-04 01:19:04 +03:00
  • b403155ca9 Kernel: You can specify first vaddr for getting free pages Bananymous 2023-06-04 01:15:48 +03:00
  • 9fd3111011 BAN: Add UniqPtr Bananymous 2023-06-04 00:34:03 +03:00
  • 5f339d585c Kernel: PAGE_FLAG_MASK is now only 0xF Bananymous 2023-06-03 18:55:25 +03:00
  • b168462b43 Kernel: PageTable now has debug_dump Bananymous 2023-06-03 18:54:48 +03:00
  • 68691faca1 Kernel: boot.S is back to 2 MiB pages Bananymous 2023-06-03 18:53:36 +03:00
  • 1e075c248f BAN: Errors now includes assert.h Bananymous 2023-06-03 18:53:05 +03:00
  • d201e65810 BuildSystem: remove sse and sse2 from userspace Bananymous 2023-06-03 16:05:32 +03:00
  • 3a79880e69 LibC: printf string persision works now Bananymous 2023-06-03 15:07:02 +03:00
  • 9228df0f23 Kernel: Inode/Device detection is done with overridden bool functions Bananymous 2023-06-03 13:28:15 +03:00
  • 402ad85583 Kernel: Heap will return 0 if no free page is available Bananymous 2023-06-03 02:55:31 +03:00
  • 53e91ba98a Kernel: DiskCache will try to shrink_to_fit after cache cleanup Bananymous 2023-06-03 02:37:37 +03:00
  • fd153f3762 Kernel: DiskCache won't crash when running out of kmalloc memory Bananymous 2023-06-03 02:36:20 +03:00
  • 813d0f1b5f Kernel: add basic disk cache Bananymous 2023-06-03 02:23:14 +03:00
  • 2b901abfb1 Kernel: Shell 'memory' now prints heap memory usage Bananymous 2023-06-03 02:22:18 +03:00
  • d4289f9e74 Update README.md Bananymous 2023-06-02 18:43:30 +03:00
  • 3a5d6914ba Userspace: create_program creates proper cmake files again Bananymous 2023-06-02 18:42:25 +03:00
  • e96efea2fb BuildSystem: all scripts have now bash shebang Bananymous 2023-06-02 18:40:24 +03:00
  • 2df7f8a1e5 BuildSystem: add rule to build libstdc++ Bananymous 2023-06-02 18:39:42 +03:00
  • 8645c4c653 Kernel: Shell ls and stat now properly show symlinks Bananymous 2023-06-02 18:22:56 +03:00
  • 88e92eec9e LibC: Add simple definition for realloc Bananymous 2023-06-02 17:56:13 +03:00
  • a41b8e416f LibC: add __cxa_at_exit() for libc Bananymous 2023-06-02 17:49:21 +03:00