ee8de77a90
Userspace: fix return values of cat and echo
2023-06-10 17:34:10 +03:00
e001eecb7b
Userspace: add exit to shell
2023-06-09 01:51:23 +03:00
7f34d00c95
Userspace: add echo
2023-06-09 01:50:18 +03:00
2c18adbddd
Userspace: add ^L support for shell
2023-06-09 01:24:33 +03:00
064ce568c2
Kernel: add basic support for environment variables
...
exec functions will search files from PATH
2023-06-05 22:51:02 +03:00
3fc2c3529a
Shell: load old termios for process execution
2023-06-05 21:12:08 +03:00
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
90e48970e6
Shell: we now support left/right arrows
2023-06-05 18:24:41 +03:00
9d64dbd5c2
Kernel/LibC: add SYS_STAT and stat(), lstat()
2023-06-05 14:37:14 +03:00
1f36ed0cf9
Userspace: Start work on proper shell
2023-06-05 01:42:57 +03:00
a775a920d0
BuildSystem: remove sse and sse2 from userspace
2023-06-03 16:05:32 +03:00
a3f410d1a1
Userspace: create_program creates proper cmake files again
2023-06-02 18:42:25 +03:00
1d19a4bffe
BuildSystem: all scripts have now bash shebang
...
I could not use the scripts on debian
2023-06-02 18:41:45 +03:00
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
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
14982c137a
Userspace: make test program link against libc on change
2023-05-31 22:36:47 +03:00
0acab11620
LibC: add execl
2023-05-31 22:36:26 +03:00
ab61b49aca
Kernel: Add SYS_EXEC syscall
2023-05-31 20:57:33 +03:00
e640344d7a
Kernel: Rename MMU to PageTable
...
This is more descriptive name for what it actually represents
2023-05-29 21:06:09 +03:00
282bf24f65
Kernel: fork() now copies allocations through FixedWidthAllocator
2023-05-28 21:34:35 +03:00
636c308993
Kernel: fork() now copies allocation done through GeneralAllocator
2023-05-28 20:37:39 +03:00
6fdbe6f9c2
Kernel: Add bareboness fork() function
2023-05-28 18:08:49 +03:00
245dff8027
Shell: we now link BAN (we can't use it though)
2023-05-26 22:31:21 +03:00
0ab3332ad3
Userspace: Start work on shell
2023-05-26 22:31:21 +03:00
496adb61a4
Buildsystem: Fix userspace link order
2023-05-26 22:31:21 +03:00
f33e78882e
Kernel: Add argc and argv to process entry
2023-05-16 00:27:49 +03:00
fb1bab7c30
BuildSystem: add helper to create userspace programs
2023-05-11 18:10:06 +03:00
7eb43990ad
BuildSystem: userspace has cmake target
2023-05-11 16:19:53 +03:00
1cf7ef3de6
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
812e61ca70
Kernel: Add barebones GeneralAllocator for >4096B
2023-05-08 22:10:49 +03:00
f32d594879
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
2fe9af7165
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
ff5bcd4416
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
7fac2a7526
Userspace: Simple stdio test
2023-04-25 14:50:26 +03:00
b15deb420f
LibC: Write mostly functioning stdio
2023-04-23 14:32:37 +03:00
ec8b9640e2
Kernel: Usespace programs are now ran through ELF files
...
only 64 bit elf files are supported for now.
2023-04-22 15:35:32 +03:00
079df39ca8
LibELF: Start implementing elf library
2023-04-18 10:18:15 +03:00