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
cd74b2167d
LibC: Write mostly functioning stdio
2023-04-23 14:32:37 +03:00
fadce063a7
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
998ae511a3
LibELF: Start implementing elf library
2023-04-18 10:18:15 +03:00