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