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