328d67f551
Userspace: u8sum fix error message
2023-06-19 10:31:23 +03:00
84ecf861cd
Userspace: Shell now processes $ arguments
2023-06-19 01:39:24 +03:00
46a6daccfe
Userspace: Shell argument parsing now appriciates quotes
2023-06-19 01:07:00 +03:00
3df3c37bad
Userspace: Shell argument parse now results in BAN::String
2023-06-19 00:34:44 +03:00
191a24110a
Userspace: Shell now sets SHELL environment variable
2023-06-18 23:35:51 +03:00
d0a0e3bdef
Userspace: Add u8sum
...
This program caluculates the sum of bytes in file mod 256
2023-06-12 20:36:16 +03:00
b4b892148c
Userspace: Shell processes PS1 '\~' as cwd and implement cd
2023-06-12 02:03:13 +03:00
048183ddb5
Userspace: init now sets HOME environment variable and cd's into HOME
2023-06-12 02:02:52 +03:00
25f8343269
Userspace: init now default logins as user
2023-06-12 00:46:07 +03:00
e9cb844c28
Userspace: Shell now uses PS1 as prompt if set
2023-06-12 00:45:47 +03:00
30ac046232
Userspace: Add color to ls
2023-06-11 23:00:19 +03:00
f67f8ccbe0
Userspace: init now sets user and group ids before running their shell
2023-06-11 22:37:00 +03:00
e9217b3484
Userspace: Add basic id that prints {,e}{uid,gid} of the current proc
2023-06-11 22:37:00 +03:00
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
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
1cf464d5c7
Userspace: add basic ls command
2023-06-11 03:38:44 +03:00
223d2ac3a6
Userspace: fix return values of cat and echo
2023-06-10 17:34:10 +03:00
47c69e9def
Userspace: add exit to shell
2023-06-09 01:51:23 +03:00
9728947d5d
Userspace: add echo
2023-06-09 01:50:18 +03:00
66fe48e94b
Userspace: add ^L support for shell
2023-06-09 01:24:33 +03:00
55ea5c5488
Kernel: add basic support for environment variables
...
exec functions will search files from PATH
2023-06-05 22:51:02 +03:00
357081346e
Shell: load old termios for process execution
2023-06-05 21:12:08 +03:00
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
5af77dcfb9
Shell: we now support left/right arrows
2023-06-05 18:24:41 +03:00
d1ad38c8d4
Kernel/LibC: add SYS_STAT and stat(), lstat()
2023-06-05 14:37:14 +03:00
4c40aa6b38
Userspace: Start work on proper shell
2023-06-05 01:42:57 +03:00
d201e65810
BuildSystem: remove sse and sse2 from userspace
2023-06-03 16:05:32 +03:00
3a5d6914ba
Userspace: create_program creates proper cmake files again
2023-06-02 18:42:25 +03:00
e96efea2fb
BuildSystem: all scripts have now bash shebang
...
I could not use the scripts on debian
2023-06-02 18:41:45 +03:00
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
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
a75a3f7a5f
Userspace: make test program link against libc on change
2023-05-31 22:36:47 +03:00
0f412e570c
LibC: add execl
2023-05-31 22:36:26 +03:00
24a190d1f7
Kernel: Add SYS_EXEC syscall
2023-05-31 20:57:33 +03:00
5bb1f2a48c
Kernel: Rename MMU to PageTable
...
This is more descriptive name for what it actually represents
2023-05-29 21:06:09 +03:00
09666adc53
Kernel: fork() now copies allocations through FixedWidthAllocator
2023-05-28 21:34:35 +03:00
f04399c3a0
Kernel: fork() now copies allocation done through GeneralAllocator
2023-05-28 20:37:39 +03:00
f2d767b799
Kernel: Add bareboness fork() function
2023-05-28 18:08:49 +03:00
a2ee543fa1
Shell: we now link BAN (we can't use it though)
2023-05-26 22:31:21 +03:00
27147790fd
Userspace: Start work on shell
2023-05-26 22:31:21 +03:00
82dcec9576
Buildsystem: Fix userspace link order
2023-05-26 22:31:21 +03:00
e0a72defa2
Kernel: Add argc and argv to process entry
2023-05-16 00:27:49 +03:00
bbaf1223f3
BuildSystem: add helper to create userspace programs
2023-05-11 18:10:06 +03:00
177b205c48
BuildSystem: userspace has cmake target
2023-05-11 16:19:53 +03:00
ff2e2937a5
Kernel: Remove offset from OpenFileDescriptor
...
This is now handled on the libc side. There might be reasons to
have it in kernel side, but for simplicity's sake I'm moving it
to libc for now :)
2023-05-09 20:31:22 +03:00
512be884ed
Kernel: Add barebones GeneralAllocator for >4096B
2023-05-08 22:10:49 +03:00
b0ec0f1a1a
Kernel: We add FixedWidthAllocators on demand
...
On SYS_ALLOC we will add a new FixedWidthAllocator if the old ones
are already full or we don't have one with proper size. This allows
arbitary number of allocations as long as you have enough memory
available :)
Next I will be writing a general allocator for allocations larger
than 4096 bytes which should make SYS_ALLOC syscall complete :)
2023-05-07 23:57:01 +03:00
12e42f40c5
Kernel/LibC: add free function for FixedWidthAllocator
...
I have to rework the syscall API and allocators in process. For
now this works well enough :)
2023-05-07 01:21:50 +03:00
bcfd838131
Kernel: Add basic fixed width allocator for userspace
...
We have to move process stacks to the general heap and maybe map
kernel to higher half.
2023-05-06 19:58:08 +03:00
c20ba3064d
Userspace: Simple stdio test
2023-04-25 14:50:26 +03:00