summaryrefslogtreecommitdiff
path: root/kernel
AgeCommit message (Collapse)Author
2024-12-08vfs: Bug fix...Anton Kling
The commit is self explanatory. It was a simple mistype that went unnoticed for a while.
2024-12-08vfs: Force truncation even without permissionsAnton Kling
O_TRUNC as a mode does not seem to imply write permissions but we still wish to truncate the file before giving back a file descriptor. Therefore the kernel can now override any permission checks if it wishes to do a truncation while still using the "ordinary path".
2024-12-08audio: Control master volume through /dev/volumeAnton Kling
2024-12-08kernel/libc: Add isdigit()Anton Kling
2024-12-08kernel: Change error reporting for exec*Anton Kling
2024-12-02ac97: Messy fixes to audioAnton Kling
It seems to work completely now, but it is still very messy.
2024-11-30kernel: Change math.h to use macrosAnton Kling
Having min/max be functions was a stupid decision in the first place
2024-11-30ac97/audio: Add audioAnton Kling
Incomplete but still very cool
2024-11-30vfs: Move read() to vfs.cAnton Kling
2024-11-29ext2: Handle "zero" blocksAnton Kling
Any blocks with the value zero appear to indicate a region completly filled to zeros. I don't see this anywhere in the spec but it does make sense and the behavior matches files that I have on my FreeBSD machine so I guess it must be valid.
2024-11-28changesAnton Kling
2024-11-23vfs: Support O_TRUNCAnton Kling
2024-11-23vfs: Add O_APPEND support + refactoringAnton Kling
2024-11-22vfs: Add dup()Anton Kling
2024-11-22vfs: Close new file descriptor if already in use when calling dup2Anton Kling
2024-10-30kernel: Improve error handling for OOMAnton Kling
2024-10-30kernel/mmu: Make sure to check for NULL.Anton Kling
2024-10-17kernel: Use realloc instead of malloc+freeAnton Kling
2024-10-16kernel: Add RSOD(red screen of death)Anton Kling
This is not useful since 99% of the time I will have access to the serial output. But it does look cool.
2024-10-14kernel: small bug fixesAnton Kling
2024-10-14kernel: stuffAnton Kling
2024-10-14TCP: Don't free buffer prematurelyAnton Kling
2024-10-12Kernel/MMU: Don't return non present pages unless creation is desiredAnton 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-10-06Kernel/Networking: Modify outgoing packet in placeAnton Kling
This avoids creation of new buffers and unnecessary memcpys. The old interface still exists for UDP but will be removed when I am less lazy. From testing it does not appear to have any performance improvement but this is most likely due to other bottlenecks as extra copies should always be worse.
2024-10-03kernel/shm: shm_open only create if O_CREAT was suppliedAnton Kling
2024-10-03libc: Add sendfile and queueAnton Kling
2024-09-12Kernel: Add support for shebangsAnton Kling
Adds support for shebangs (#!) that allow for things such as shell scripts without appending `sh` before the file.
2024-08-17ext2: Bug fix. Incorrect assumption that `len` is not modified.Anton Kling
I appear to have assumed that len would always be the number requested not the number left to be read. Therefore to get the number of bytes left ot read I did `len - rc` but the `- rc` was already accounted for by line 298.
2024-07-11PCI: Fix bug not account for different bar indexAnton Kling
2024-07-08Kernel/Net: Don't use kmalloc to create send buffersAnton Kling
Current method is also really bad since it uses multiple copies when it should instead just copy to the send buffer of the network card directly. But I have other things that I want to prioritize first.
2024-07-08kmalloc: Merge headers more oftenAnton Kling
2024-07-06Kernel: Add kmalloc scanAnton Kling
This will scan for possible overflows in the program. It is a somewhat expensive operation but really useful for debugging.
2024-07-06Kernel: Add queue syscall and improve TCPAnton Kling
2024-07-06Kernel: Fix integer overflowAnton Kling
2024-07-06Kernel: Fix sleep function to use uptime instead of UTC timeAnton Kling
2024-07-06Bug fix: Fix use after free when closing a pipeAnton Kling
The other inode might already have been freed when close() is called.
2024-07-05TCP: Add back support for listening on a socketAnton Kling
2024-07-04scheduler: Use get_uptime() since it caches the resultAnton Kling
Apparently getting the current TSC is a expensive operation. This change had a significant improvements for I/O heavy applications.
2024-07-04TCP: Allow delay for sendsAnton Kling
This is not at all optimal for applications that already buffer their data but can have a huge impact on those that don't. Applications that don't wish to use this should disable this for their socket.
2024-07-04PIT: Fix dumb bugAnton Kling
The incorrect timer was being used for TCP ACK flush
2024-07-04Random: Improve random seeding.Anton Kling
Now it appears to be sufficiently good at producing a distinct seed at each boot without using a /etc/seed file. Previously it did not do this. Of course this is nowhere near cryptographically secure but randomness does assist with things such as kmalloc.
2024-07-04CMOS: Make read/write calls asyncAnton Kling
This can speed up boot times since CMOS would otherwise have to wait before it could perform a read/write call. Now it gets triggered by a interrupt.
2024-07-03Kernel/Time: Improve time keepingAnton Kling
This makes use of TSC and now provides a file system interface for userland programs to change the system time.
2024-07-03CMOS: Add basic CMOS RTC supportAnton Kling
2024-07-03Kernel: Add simple support for timer using TSCAnton Kling
2024-07-02TCP: Increase the receive buffer significantlyAnton Kling
2024-07-02ahci: Bug fix, turns out the async optimization does not work that wellAnton Kling
2024-07-01Bug fix: avoid use after freeAnton Kling
2024-07-01VFS: Move towards unifying vfs_inode_t and vfs_fd_tAnton Kling
There is no need for these to be seperate. They will probably move to the same struct soon.
2024-06-30ahci/ext2: small fixesAnton Kling