-
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