Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-10-30 | kernel/mmu: Make sure to check for NULL. | Anton Kling | |
2024-10-12 | Kernel/MMU: Don't return non present pages unless creation is desired | Anton Kling | |
`get_page` is a horrible multipurpose function and at this point I am unsure what behavior I expect and have expected it to produce. Refactor should probably be done soon. | |||
2024-07-03 | Kernel/Time: Improve time keeping | Anton Kling | |
This makes use of TSC and now provides a file system interface for userland programs to change the system time. | |||
2024-07-03 | Kernel: Add simple support for timer using TSC | Anton Kling | |
2024-06-30 | Kernel: Add clock_gettime | Anton Kling | |
2024-06-26 | Kernel: Code cleanup | Anton Kling | |
2024-06-23 | Kernel: Fix small out of memory issues | Anton Kling | |
2024-06-17 | Reorganize logging code | Anton Kling | |
2024-06-09 | Add UDP | Anton Kling | |
2024-05-05 | Kernel: Mask interrupts until they have a handler | Anton Kling | |
2024-05-02 | Bug: Kernel: Bounds check array access | Anton Kling | |
2024-05-02 | Kernel/MMU: Flush TLB after having made allocations | Anton Kling | |
2024-05-01 | Bug: Kernel/MMU: Initialize memory after allocation | Anton Kling | |
The memory not being zeroed caused certain flags to be set(presumably no-cache flag) and resulted in the OS being unusually for only certain operations and only in certain cases. | |||
2024-04-27 | Kernel: Ensure new kernel tables geet allocated for all current page directories | Anton Kling | |
2024-04-26 | Kernel: clang format fixes | Anton Kling | |
2024-04-26 | Kernel: More out of memory condition checks | Anton Kling | |
2024-04-26 | Kernel: Improve error handling for out of memory conditions | Anton Kling | |
2024-04-22 | MMU: Extra asserts to avoid future regressions | Anton Kling | |
2024-04-18 | Kernel: Fix compiler warnings | Anton Kling | |
2024-04-15 | Bug fix and cleanup. | Anton Kling | |
2024-04-13 | Kernel: Don't hard fail if the kernel can't allocate memory. | Anton Kling | |
Currently this is just a improvement of error handling but it should also try to free up memory where it is possible. | |||
2024-04-13 | Kernel/MMU: Optimize search for free frames. | Anton Kling | |
This can significantly cut down on the search space for unallocated frames. But it has not been benchmarked so I am unsure if it makes a big difference. | |||
2024-04-12 | Kernel/MMU: Dellocate pagedirectory when process exits. | Anton Kling | |
2024-04-11 | bug fixes | Anton Kling | |
2024-03-26 | Increase support for signals | Anton Kling | |
2024-03-25 | Random changes | Anton Kling | |
2024-03-20 | MMU: Fixed massive problem in assumption of RAM layout | Anton Kling | |
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. | |||
2024-03-14 | random changes made | Anton Kling | |
2024-02-21 | Kernel: Remove all inline assembly. | Anton Kling | |
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. | |||
2024-02-21 | New clang-format options | Anton Kling | |
2024-02-07 | Add enable/disable interrupts function | Anton Kling | |
This is to reduce usage of inline assembly | |||
2024-02-07 | A lot of small changes | Anton Kling | |
2023-11-28 | Meta: Apply new clang-format rules to kernel | Anton Kling | |
2023-11-15 | Meta: Setup a drive over AHCI | Anton Kling | |
2023-11-13 | Memory: Fix problem where certain tables did not get marked as kernel. | Anton Kling | |
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. | |||
2023-11-13 | Crypto: Implement fast insecure RNG for overwritting memory areas. | Anton Kling | |
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. | |||
2023-11-12 | AHCI: Add very basic AHCI and some additional helper functions to mmu.c | Anton Kling | |
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. | |||
2023-11-10 | Kernel Style: Change uint*_t -> u* | Anton Kling | |
2023-11-10 | Kernel/Memory: Fill new allocations with random data. | Anton Kling | |
This should make it easier to spot uninitalized memory being used. | |||
2023-11-09 | Kernel: Remove old comment | Anton Kling | |
2023-11-08 | Kerenl/MMU: Remove dumb bug as a result of uninitalized memory | Anton Kling | |
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. | |||
2023-11-08 | Kernel/MMU: Detect system memory and dynamically adjust memory usage available | Anton Kling | |
Previously this would be hardcoded but now it can be detected by the bootloader and passed in via the multiboot header. | |||
2023-11-08 | Kernel/MMU: Create a seperate table for heap allocation | Anton Kling | |
2023-10-31 | Kernel: Remove all O0 optimizations on functions. | Anton Kling | |
The kernel can now fully compile under O3 without any noticable problems :) | |||
2023-10-31 | Kernel: Bug fix, infinite loop when checking string memory permissions | Anton Kling | |
If the string is pointed to a very exact location in memory the loop never finishes. | |||
2023-10-31 | Meta: Move kernel and userland to their own folders. | Anton Kling | |
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. |