Commit Graph

67 Commits

Author SHA1 Message Date
Bananymous 1d7795e22c Kernel: Hardware exceptions now sends signals to userspace 2023-07-30 14:34:15 +03:00
Bananymous 925df39107 Kernel: Userspace sets the foreground process and Shell handles ^C 2023-07-28 18:10:36 +03:00
Bananymous 2dce0a0415 Kernel: Userspace signal handlers are now called one at a time
I added a syscall for telling the kernel when signal execution has
finished. We should send a random hash or id to the signal trampoline
that we would include in the syscall, so validity of signal exit can
be confirmed.
2023-07-23 13:34:53 +03:00
Bananymous 10169d773d Kernel/LibC: Add SYS_KILL/kill() 2023-07-21 19:27:38 +03:00
Bananymous c2cf98e32f Kernel/LibC: Add bareboness signals
You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :)
2023-07-21 15:45:02 +03:00
Bananymous fb4b363a16 Init: Use the new pwd.h api for user parsing 2023-07-13 12:01:41 +03:00
Bananymous 8cd91f5a6a Userspace: add basic 'touch' command 2023-07-10 16:38:15 +03:00
Bananymous f65e5f4190 tee: indent with tabs 2023-07-10 16:18:08 +03:00
Bananymous f521a98157 Userspace: Add basic tee command 2023-07-10 16:07:53 +03:00
Bananymous 404b3dd44c Shell: $(...) expansion works now :) 2023-07-06 23:22:57 +03:00
Bananymous d04b031e30 Shell: you can call Shell -c ... to invoke the shell as interpreter 2023-07-06 23:22:49 +03:00
Bananymous f19dc114d6 Userspace: Shell now has 'env' for printing environment 2023-07-06 10:32:43 +03:00
Bananymous d2aabb669b Userspace: Shell imporove 'time' command 2023-07-06 09:45:04 +03:00
Bananymous 9c3f4039a5 Userspace: Shell now has time builtin 2023-07-06 00:39:04 +03:00
Bananymous 328d67f551 Userspace: u8sum fix error message 2023-06-19 10:31:23 +03:00
Bananymous 84ecf861cd Userspace: Shell now processes $ arguments 2023-06-19 01:39:24 +03:00
Bananymous 46a6daccfe Userspace: Shell argument parsing now appriciates quotes 2023-06-19 01:07:00 +03:00
Bananymous 3df3c37bad Userspace: Shell argument parse now results in BAN::String 2023-06-19 00:34:44 +03:00
Bananymous 191a24110a Userspace: Shell now sets SHELL environment variable 2023-06-18 23:35:51 +03:00
Bananymous d0a0e3bdef Userspace: Add u8sum
This program caluculates the sum of bytes in file mod 256
2023-06-12 20:36:16 +03:00
Bananymous b4b892148c Userspace: Shell processes PS1 '\~' as cwd and implement cd 2023-06-12 02:03:13 +03:00
Bananymous 048183ddb5 Userspace: init now sets HOME environment variable and cd's into HOME 2023-06-12 02:02:52 +03:00
Bananymous 25f8343269 Userspace: init now default logins as user 2023-06-12 00:46:07 +03:00
Bananymous e9cb844c28 Userspace: Shell now uses PS1 as prompt if set 2023-06-12 00:45:47 +03:00
Bananymous 30ac046232 Userspace: Add color to ls 2023-06-11 23:00:19 +03:00
Bananymous f67f8ccbe0 Userspace: init now sets user and group ids before running their shell 2023-06-11 22:37:00 +03:00
Bananymous e9217b3484 Userspace: Add basic id that prints {,e}{uid,gid} of the current proc 2023-06-11 22:37:00 +03:00
Bananymous 78536f9678 Kernel/Userspace: Add basic init process
This process parses /etc/passwd and promps login screen.
When an username is entered, it will launch that users shell
2023-06-11 22:37:00 +03:00
Bananymous c7ec19c25c Kernel: Add basic Credentials for the system
Now filesystem access/open, etc confirm that you have access for rwxs
2023-06-11 20:06:06 +03:00
Bananymous 1cf464d5c7 Userspace: add basic ls command 2023-06-11 03:38:44 +03:00
Bananymous 223d2ac3a6 Userspace: fix return values of cat and echo 2023-06-10 17:34:10 +03:00
Bananymous 47c69e9def Userspace: add exit to shell 2023-06-09 01:51:23 +03:00
Bananymous 9728947d5d Userspace: add echo 2023-06-09 01:50:18 +03:00
Bananymous 66fe48e94b Userspace: add ^L support for shell 2023-06-09 01:24:33 +03:00
Bananymous 55ea5c5488 Kernel: add basic support for environment variables
exec functions will search files from PATH
2023-06-05 22:51:02 +03:00
Bananymous 357081346e Shell: load old termios for process execution 2023-06-05 21:12:08 +03:00
Bananymous 73c11c3d29 Shell: add bareboness utf8 support
This should work as long as TTY provides only valid utf8.
If the utf is invalid, assertion fails and the shell dies.
2023-06-05 18:55:22 +03:00
Bananymous 5af77dcfb9 Shell: we now support left/right arrows 2023-06-05 18:24:41 +03:00
Bananymous d1ad38c8d4 Kernel/LibC: add SYS_STAT and stat(), lstat() 2023-06-05 14:37:14 +03:00
Bananymous 4c40aa6b38 Userspace: Start work on proper shell 2023-06-05 01:42:57 +03:00
Bananymous d201e65810 BuildSystem: remove sse and sse2 from userspace 2023-06-03 16:05:32 +03:00
Bananymous 3a5d6914ba Userspace: create_program creates proper cmake files again 2023-06-02 18:42:25 +03:00
Bananymous e96efea2fb BuildSystem: all scripts have now bash shebang
I could not use the scripts on debian
2023-06-02 18:41:45 +03:00
Bananymous 2df7f8a1e5 BuildSystem: add rule to build libstdc++
We can now build libstdc++ and actually link with g++
2023-06-02 18:39:42 +03:00
Bananymous a378e59432 BuildSystem: link libraries when they change
This also fixed the need for manual linkin on firt build
2023-05-31 23:01:40 +03:00
Bananymous a75a3f7a5f Userspace: make test program link against libc on change 2023-05-31 22:36:47 +03:00
Bananymous 0f412e570c LibC: add execl 2023-05-31 22:36:26 +03:00
Bananymous 24a190d1f7 Kernel: Add SYS_EXEC syscall 2023-05-31 20:57:33 +03:00
Bananymous 5bb1f2a48c Kernel: Rename MMU to PageTable
This is more descriptive name for what it actually represents
2023-05-29 21:06:09 +03:00
Bananymous 09666adc53 Kernel: fork() now copies allocations through FixedWidthAllocator 2023-05-28 21:34:35 +03:00