summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-23libc: Add append to f(d)open and other fixesAnton Kling
2024-11-22libc: Fix bugs in strto(u)l(l)Anton Kling
2024-11-22libc: Add RC_ERRNO to more syscallsAnton Kling
This is very inconstant at the moment
2024-11-22vfs: Add dup()Anton Kling
2024-11-22libc: Add case for strtol(l) where base is 0Anton 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-17httpd: Bug fix close unused file descriptorAnton 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-16httpd: Bug fix for not handling error code 400 properlyAnton Kling
2024-10-14httpd: Add /index.html support and better error handlingAnton Kling
2024-10-14ppm: Fix bounds checkingAnton Kling
2024-10-14kernel: small bug fixesAnton Kling
2024-10-14kernel: stuffAnton Kling
2024-10-14TCP: Don't free buffer prematurelyAnton Kling
2024-10-14libc: Copy string views to preallocated buffersAnton Kling
2024-10-14httpd: Add a simple http serverAnton Kling
2024-10-13libc/sb: Refactor string builder to allow for none malloc allocationsAnton Kling
A lot of code written usually has means of doing allocations in a more optimal way than having the string builder library doing it itself. For example a temporary buffer can be allocated on the stack and the string builder functions can then make use of this buffer without ever having to run malloc/free(which would be expensive)
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-11sh: Add parsing of newlinesAnton Kling
2024-10-09sh: Conform to the new stringbuilder functionsAnton Kling
2024-10-09sh: Add support for running commands in the backgroundAnton Kling
2024-10-09sh: Fix incorrectly hardcoded valueAnton Kling
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-06libc: Add sb_prepend_bufferAnton Kling
2024-10-03kernel/shm: shm_open only create if O_CREAT was suppliedAnton Kling
2024-10-03libc: Add sendfile and queueAnton Kling
2024-10-03libc: small changesAnton Kling
2024-10-03libc: Add readdir_multiAnton Kling
This is a faster, zero allocation function for reading directory entries. It has massive speed increases for certain applications since malloc(especially my implementation) is really slow in comparison.
2024-10-03libc: Add fdopendir()Anton Kling
2024-10-02test: Fix incorrect testAnton Kling
2024-10-02libc: Fix FILE memstream bugAnton Kling
2024-10-02libc: Add faster scandir function(scandir_sane).Anton Kling
This function is significantly faster due to not requiring memory allocations for each directory entry. Now they are instead just allocated as a large chunk. This function is not compatible with scandir since the cleanup of both function will be different. With this a new function scandir_sane_free has also been added. Besides having a function(like scandir) that forces the programmer to implement their own cleanup procedure that is anymore complicated than a simple free() call is absurd.
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-09-12sh: Load script from fileAnton Kling
2024-09-12sh: Add support for commentsAnton Kling
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-08LibC: Optimize mallocAnton Kling
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.