Age | Commit message (Collapse) | Author |
|
This commit also add braces to all `if` statements.
|
|
This makes write/read calls that use strings to communicate much
simpler and less error prone.
|
|
After making this change I am now actually doubting if using
C strings is a good idea and maybe it should just always just the
string view library that userland makes use of.
But old code and the upcoming commits rely upon this so it is a change my
future less lazy self will do.
|
|
Previously it was possible for fragmentation to occur and as a result
certain allocations would have a linear virtual address space but not a
linear physical address space. This is bad since a lot of calls to
kmalloc_align rely upon both being linear, it has now been changed such
that all allocations done by kmalloc_align now guarantee this mapping
holds for both virtual and physical addresses.
It was due to oversight and sheer luck that this had been working for so
long.
|
|
|
|
Having min/max be functions was a stupid decision in the first place
|
|
|
|
The previous type was a 64 bit which causes problems for the syscall
calling interface.
|
|
|
|
|
|
The kernel should kill the process if it has memory issues.
|
|
|
|
|
|
|
|
Currently this is just a improvement of error handling but it should
also try to free up memory where it is possible.
|
|
|
|
|
|
|
|
|
|
|
|
This caused certain addreses which where not RAM memory to be assigned
to virtual addresses incorrectly. This caused a significant slowdown
when running it with KVM due to constantly having to exit the VM if the
OS writes to memory that is not RAM.
This fix increased the performance of KVM significantly and improved TCG
performance.
|
|
|
|
This is to reduce usage of inline assembly
|
|
|
|
|
|
The IPC design is currently a WIP and is nowhere near complete
|
|
|
|
|
|
This syscall aims to fill the given buffer with cryptographically secure
random data. If the syscall returns and does not cause a page fault it
will **always** have filled the buffer with random data and never gives
back any error value.
|
|
The /include directory contains definitons that both the kernel and libc
need to be in sync.
|
|
|
|
|
|
|
|
|
|
|
|
Currently certain parts of the code are taken from osdev wiki as there
seems to be very little documentation that I can find on how H2D FIS is
structured. Those parts, especially some of the uglier parts of the
example code will be rewritten/changed.
|
|
|
|
Previously this would be hardcoded but now it can be detected by the
bootloader and passed in via the multiboot header.
|
|
This is to allow both the kernel and the userland to share certain
header files and to make the folder structure a bit more clear.
|