summaryrefslogtreecommitdiff
path: root/kernel
AgeCommit message (Collapse)Author
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
2024-06-30Kernel: cleanupAnton Kling
2024-06-30UBSAN: Add more ubsan handlersAnton Kling
2024-06-30Kernel: Add clock_gettimeAnton Kling
2024-06-30AHCI: Optimization to writesAnton Kling
Now it avoids waiting for completion if possible and can instead batch commands.
2024-06-30ext2: Optimize block writesAnton Kling
2024-06-30ext2: Get multiple blocks in one function callAnton Kling
This significantly reduces I/O operations on the bitmap when large writes occur.
2024-06-30AHCI: Only check command slots that existAnton Kling
2024-06-30ext2: Refactor and optimize free block/inode lookupAnton Kling
2024-06-30ext2: Performance improvements to block writeAnton Kling
Don't invalidate the cache of a block if written to. Instead the cache can be changed and then be written to disk. This is optimal for ext2 since it gets to keep the cache and the hard drive since it may not have to do extra reads when doing writes.
2024-06-29Ext2: Large file support and stylistic changesAnton Kling
2024-06-29Ext2: Bug fixAnton Kling
Off by one error in block/inode lookup that caused roughly two days of debugging
2024-06-28Bug fixesAnton Kling
2024-06-28Ext2: Support block sizes other than 1024Anton Kling
2024-06-28Bug fix: Fix undefined behavior of ipv4_t type.Anton Kling
Turns out unions that include arrays and a integer can have UB due to endianess not being the same across systems.
2024-06-28Kernel: Change naming scheme for certain structsAnton Kling
2024-06-28Kernel: Port over libc printf to kernelAnton Kling
Kernel printf had bugs and was poorly written. LibC still has some FILE* releated stuff that should be cleaned up.
2024-06-28RTL8139: Add out of memory conditionsAnton Kling
2024-06-27RTL8139: Masking "Transmit OK" interruptsAnton Kling
2024-06-27RTL8139: Nicer codeAnton Kling
2024-06-27Kernel: poll should exit early if events already existAnton Kling
In certain cases there is almost always something to read in which case setting up the list of file descriptors and switching context becomes very expensive.
2024-06-27stuffAnton Kling
2024-06-27TCP: Optimize checksum calculationAnton Kling
2024-06-26TCP: Delay ACKs to batch together packets ACKedAnton Kling
2024-06-26Kernel: Move all syscalls into one fileAnton Kling
2024-06-26Kernel: Remove unused syscallsAnton Kling
2024-06-26Kernel: Code cleanupAnton Kling
2024-06-26Libc/Kernel: Add fcntl()Anton Kling
2024-06-26Remove mreadAnton Kling
2024-06-26Scheduler: Don't run switch_task() if task switch is already occuringAnton Kling
2024-06-26Ext2: Bug fixAnton Kling
2024-06-26Networking stuffAnton Kling
TCP is now in a somewhat good state
2024-06-26LibC: Fix printf formattingAnton Kling
Previously %02x would not print out padding if the given value was zero.
2024-06-26TCP: Increment ACK for FIN and SYNAnton Kling