Bananymous
8af390e0f6
Kernel: Big commit. Rewrite ELF loading code
...
We now load ELF files to VirtualRanges instead of using kmalloc.
We have only a fixed 1 MiB kmalloc for big allocations and this
allows loading files even when they don't fit in there.
This caused me to rewrite the whole ELF loading process since the
loaded ELF is not in memory mapped by every process.
Virtual ranges allow you to zero out the memory and to copy into
them from arbitary byte buffers.
2023-06-09 00:37:43 +03:00
Bananymous
4a4a3bf184
Kernel/LibC: move file offset back to kernel
...
This makes keeping track of offsets easier and more proper
2023-05-26 22:31:21 +03:00
Bananymous
53f4b5a9da
LibC: add function declarations to sys/stat.h
2023-05-11 15:11:33 +03:00
Bananymous
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
Bananymous
163d2e4ba8
LibELF: Add 32 bit support
2023-04-22 19:00:18 +03:00
Bananymous
4ae1332a43
LibELF: Header printing can now be turned off
2023-04-22 15:34:09 +03:00
Bananymous
10c884bba4
LibELF: ELF now has methods for accessing more attributes
...
You can now access the program headers and the memory itself
2023-04-22 15:31:05 +03:00
Bananymous
a993d997ad
LibELF: remove unused file
2023-04-19 17:32:12 +03:00
Bananymous
7bd4593748
Kernel: Process is not reference counted any more
...
This was not necessary and it made things needlessly complicated
2023-04-19 00:34:18 +03:00
Bananymous
079df39ca8
LibELF: Start implementing elf library
2023-04-18 10:18:15 +03:00