Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Now the kernel does not rely upon inline assembly which is often very
error prone. This also means that the kernel could probably be compiled
with any c99 compiler which would help future bootstrapping.
|
|
|
|
This is to reduce usage of inline assembly
|
|
|
|
|
|
|
|
This caused the tables to be cloned instead of having the pointer copied
on the new page directory creations.
This is just a solution to the symptom of having a bad design for
memory managment. Maybe I will figure out something better.
|
|
This is mainly done to test for uninitlalized memory and find bugs
faster. Therefore it does not need to be cryptographically secure or
perfectly uniform. Xoshiro256++ seems like a good fit.
|
|
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.
|
|
|
|
This should make it easier to spot uninitalized memory being used.
|
|
|
|
The kernel would randomly crash. Turns out I did not zero out the frames
so my page allocator seemed to get into some weird state.
|
|
Previously this would be hardcoded but now it can be detected by the
bootloader and passed in via the multiboot header.
|
|
|
|
The kernel can now fully compile under O3 without any noticable
problems :)
|
|
If the string is pointed to a very exact location in memory the loop
never finishes.
|
|
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.
|