summaryrefslogtreecommitdiff
path: root/kernel/includes
AgeCommit message (Collapse)Author
2024-12-12formatting: Use clang-format on all projectsAnton Kling
This commit also add braces to all `if` statements.
2024-12-10kernel: Add string view and string builderAnton Kling
This makes write/read calls that use strings to communicate much simpler and less error prone.
2024-12-09kernel: Add a way to parse numbers from C stringsAnton Kling
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.
2024-12-09mmu: Make certain allocations physical and virtual mapping linearAnton Kling
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.
2024-12-08kernel/libc: Add isdigit()Anton Kling
2024-11-30kernel: Change math.h to use macrosAnton Kling
Having min/max be functions was a stupid decision in the first place
2024-06-26Kernel: Move all syscalls into one fileAnton Kling
2024-06-22Kernel: Use correct types for syscallAnton Kling
The previous type was a 64 bit which causes problems for the syscall calling interface.
2024-04-29Kernel/Socket: Move sockets back to being file descriptorsAnton 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-22MMU: Extra asserts to avoid future regressionsAnton Kling
2024-04-18LibC/Kernel: Move lseek/seek to kernelAnton Kling
2024-04-17Kernel/LibC: Add fstat() and remove stat() syscallAnton 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-12Kernel/MMU: Dellocate pagedirectory when process exits.Anton Kling
2024-04-11bug fixesAnton Kling
2024-04-02Kernel: Fix some memory leaksAnton Kling
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-14random changes madeAnton 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-28Meta: Apply new clang-format rules to kernelAnton Kling
2023-11-28Kernel: Add basic IPC and move to microkernel design.Anton Kling
The IPC design is currently a WIP and is nowhere near complete
2023-11-24Refactor write() and pwrite()Anton Kling
2023-11-24Refactor open()Anton Kling
2023-11-23Kernel/LibC: Add randomfill() syscall.Anton Kling
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.
2023-11-22Meta: Cleanup of header files such that they are partially sharedAnton Kling
The /include directory contains definitons that both the kernel and libc need to be in sync.
2023-11-17Kernel: Add isatty syscallAnton Kling
2023-11-16Kernel: Change how syscalls are built and implemented.Anton Kling
2023-11-15Add untracked filesAnton Kling
2023-11-15VFS: Add statAnton Kling
2023-11-13Kernel: Add typedefs.hAnton Kling
2023-11-12AHCI: Add very basic AHCI and some additional helper functions to mmu.cAnton 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-10Kernel Style: Change uint*_t -> u*Anton Kling
2023-11-08Kernel/MMU: Detect system memory and dynamically adjust memory usage availableAnton Kling
Previously this would be hardcoded but now it can be detected by the bootloader and passed in via the multiboot header.
2023-10-31Meta: 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.