Bananymous
313b00b11f
Userspace: implement basic stat
...
I tried to format the output pretty much how linux does, except for
uid and git -> name resolution which is not implemented
2023-08-11 10:30:50 +03:00
Bananymous
9fe878bbec
Shell: Print if the process exited because of a signal
2023-08-01 14:24:36 +03:00
Bananymous
679d47131d
BuildSystem: Edit build flags regarding sse and warnings
2023-07-31 22:31:17 +03:00
Bananymous
5e434f5131
Kernel: Hardware exceptions now sends signals to userspace
2023-07-30 14:34:15 +03:00
Bananymous
00f1f30a08
Kernel: Userspace sets the foreground process and Shell handles ^C
2023-07-28 18:10:36 +03:00
Bananymous
adb14ba373
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
ad756c36fc
Kernel/LibC: Add SYS_KILL/kill()
2023-07-21 19:27:38 +03:00
Bananymous
dcd4d0daeb
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
e341a36287
Init: Use the new pwd.h api for user parsing
2023-07-13 12:01:41 +03:00
Bananymous
5c94a583bc
Userspace: add basic 'touch' command
2023-07-10 16:38:15 +03:00
Bananymous
6e1fc2766f
tee: indent with tabs
2023-07-10 16:18:08 +03:00
Bananymous
d3bb00cb55
Userspace: Add basic tee command
2023-07-10 16:07:53 +03:00
Bananymous
683c2a68cd
Shell: $(...) expansion works now :)
2023-07-06 23:22:57 +03:00
Bananymous
ad98181069
Shell: you can call Shell -c ... to invoke the shell as interpreter
2023-07-06 23:22:49 +03:00
Bananymous
21bd87bb07
Userspace: Shell now has 'env' for printing environment
2023-07-06 10:32:43 +03:00
Bananymous
79450df04c
Userspace: Shell imporove 'time' command
2023-07-06 09:45:04 +03:00
Bananymous
7f8b7b811e
Userspace: Shell now has time builtin
2023-07-06 00:39:04 +03:00
Bananymous
4dce0f9074
Userspace: u8sum fix error message
2023-06-19 10:31:23 +03:00
Bananymous
54f89cba33
Userspace: Shell now processes $ arguments
2023-06-19 01:39:24 +03:00
Bananymous
de88f60d1a
Userspace: Shell argument parsing now appriciates quotes
2023-06-19 01:07:00 +03:00
Bananymous
f7060970e6
Userspace: Shell argument parse now results in BAN::String
2023-06-19 00:34:44 +03:00
Bananymous
e7a98ac6cc
Userspace: Shell now sets SHELL environment variable
2023-06-18 23:35:51 +03:00
Bananymous
326a30d1af
Userspace: Add u8sum
...
This program caluculates the sum of bytes in file mod 256
2023-06-12 20:36:16 +03:00
Bananymous
38dff41e25
Userspace: Shell processes PS1 '\~' as cwd and implement cd
2023-06-12 02:03:13 +03:00
Bananymous
d360340b9e
Userspace: init now sets HOME environment variable and cd's into HOME
2023-06-12 02:02:52 +03:00
Bananymous
eb7ee13f43
Userspace: init now default logins as user
2023-06-12 00:46:07 +03:00
Bananymous
b2de706693
Userspace: Shell now uses PS1 as prompt if set
2023-06-12 00:45:47 +03:00
Bananymous
6a8180470d
Userspace: Add color to ls
2023-06-11 23:00:19 +03:00
Bananymous
12d56be5cc
Userspace: init now sets user and group ids before running their shell
2023-06-11 22:37:00 +03:00
Bananymous
bb4d81a4fa
Userspace: Add basic id that prints {,e}{uid,gid} of the current proc
2023-06-11 22:37:00 +03:00
Bananymous
51eb44bf40
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
c62e820bcf
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
25a2a4879c
Userspace: add basic ls command
2023-06-11 03:38:44 +03:00
Bananymous
ee8de77a90
Userspace: fix return values of cat and echo
2023-06-10 17:34:10 +03:00
Bananymous
e001eecb7b
Userspace: add exit to shell
2023-06-09 01:51:23 +03:00
Bananymous
7f34d00c95
Userspace: add echo
2023-06-09 01:50:18 +03:00
Bananymous
2c18adbddd
Userspace: add ^L support for shell
2023-06-09 01:24:33 +03:00
Bananymous
064ce568c2
Kernel: add basic support for environment variables
...
exec functions will search files from PATH
2023-06-05 22:51:02 +03:00
Bananymous
3fc2c3529a
Shell: load old termios for process execution
2023-06-05 21:12:08 +03:00
Bananymous
2f2c298c68
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
90e48970e6
Shell: we now support left/right arrows
2023-06-05 18:24:41 +03:00
Bananymous
9d64dbd5c2
Kernel/LibC: add SYS_STAT and stat(), lstat()
2023-06-05 14:37:14 +03:00
Bananymous
1f36ed0cf9
Userspace: Start work on proper shell
2023-06-05 01:42:57 +03:00
Bananymous
a775a920d0
BuildSystem: remove sse and sse2 from userspace
2023-06-03 16:05:32 +03:00
Bananymous
a3f410d1a1
Userspace: create_program creates proper cmake files again
2023-06-02 18:42:25 +03:00
Bananymous
1d19a4bffe
BuildSystem: all scripts have now bash shebang
...
I could not use the scripts on debian
2023-06-02 18:41:45 +03:00
Bananymous
271dd91292
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
cb359a05dc
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
14982c137a
Userspace: make test program link against libc on change
2023-05-31 22:36:47 +03:00
Bananymous
0acab11620
LibC: add execl
2023-05-31 22:36:26 +03:00