summaryrefslogtreecommitdiff
path: root/kernel
AgeCommit message (Collapse)Author
2024-04-27Kernel: Make "relist" able to dynamically resizeAnton Kling
2024-04-27Kernel: Make file descriptor numbers reusable.Anton Kling
Instead of using the "append only" list it now uses "relist" which allows for indexes to be removed.
2024-04-26Kernel/VFS: Change polling from variables to functionsAnton Kling
Instead of having to store state in variables functions are called to check the object directly.
2024-04-26Kernel: clang format fixesAnton Kling
2024-04-26Kernel: More out of memory condition checksAnton Kling
2024-04-26Kernel: Handle userspace memory errors instead of crashing.Anton Kling
The kernel should kill the process if it has memory issues.
2024-04-26Kernel: Improve error handling for out of memory conditionsAnton Kling
2024-04-25Kernel: Add a ringbufferAnton Kling
This will be used later
2024-04-23VFS: Fix reference count of file descriptors.Anton Kling
It appears that there was a race condition where the process got closed before the server accepted the incoming request. Causing the file descriptor to have "0" in the reference count but it would still be given when calling accept.
2024-04-22MMU: Extra asserts to avoid future regressionsAnton Kling
2024-04-18LibC/Kernel: Move lseek/seek to kernelAnton Kling
2024-04-18Kernel: Fix compiler warningsAnton Kling
2024-04-18Ext2: Fix uninitalized memory when reading inode headerAnton Kling
2024-04-17VFS/LibC: Fix small bugsAnton Kling
2024-04-17Kernel/ext2: Fix small bugs in ext2 fs implementation.Anton Kling
2024-04-17Kernel/LibC: Add fstat() and remove stat() syscallAnton Kling
2024-04-16Kernel: Improve "out of memory" error handlingAnton Kling
It can now boot with fairly low memory while not crashing and instead gracefully failing the operation. Userland still does not properly handle errors.
2024-04-15Bug fix and cleanup.Anton Kling
2024-04-13Kernel: 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-13Kernel/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-12Kernel/MMU: Dellocate pagedirectory when process exits.Anton Kling
2024-04-11bug fixesAnton Kling
2024-04-02Kernel: Use "struct list" to handle file descriptors instead of a fixed ↵Anton Kling
sized array
2024-04-02Kernel: Fix some memory leaksAnton Kling
2024-03-28new stuffAnton Kling
2024-03-26Kernel: Improve kmalloc security and performanceAnton Kling
Fill new and freed allocations with random data unless it is allocated from kcalloc in which case it should be zero filled.
2024-03-26Increase support for signalsAnton Kling
2024-03-25Random changesAnton Kling
2024-03-20MMU: Fixed massive problem in assumption of RAM layoutAnton 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-19IRC: Add the IRC client I am working onAnton Kling
2024-03-17stuffAnton Kling
2024-03-14random changes madeAnton Kling
2024-03-02Kernel: Fix incorrect hardcoded value.Anton Kling
It should be 20 as there are 5 addresses pushed onto the stack. Not hex 20 which is sligthly more and as a result caused random crashes.
2024-02-28TCP/UDP: Start rewrite of network socketsAnton Kling
Having sockets be file descriptors seems like a bad idea so I trying to make UDP and TCP sockets be more independent and not be abstracted away as much.
2024-02-25IPC: Inform the scheduler the process is waiting for a IPC messageAnton Kling
2024-02-22Kernel: Fix undefined behavior and cleanup functions.Anton Kling
The int_syscall caused crashes for higher level of optimizations. To fix this I rewrote the function in assembly as I deemed it to be simpler.
2024-02-21Kernel: 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-21Kerenel: Cleanup halt checking codeAnton Kling
2024-02-21New clang-format optionsAnton Kling
2024-02-19Kernel: Change timing for context switchesAnton Kling
2024-02-19Kernel/VFS: Cleanup of file descriptor haltsAnton Kling
2024-02-17cleanupAnton Kling
2024-02-16General cleanupAnton Kling
2024-02-14Kernel: Update signal handling and IPCAnton Kling
2024-02-09Kernel/Interrupts: Restructure how interrupts are handeled in the kernelAnton Kling
Now all interrupts go through a common stub which will make certain signal handlers easier to implement
2024-02-07Kernel: poll() should skip invalid file descriptorsAnton Kling
2024-02-07Remove sti and cli inline assemblyAnton Kling
2024-02-07Add enable/disable interrupts functionAnton Kling
This is to reduce usage of inline assembly
2024-02-07A lot of small changesAnton Kling
2023-11-29Kernel: Zero initialize process struct during creationAnton Kling