Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-11-23 | libc: Add append to f(d)open and other fixes | Anton Kling | |
2024-11-22 | libc: Fix bugs in strto(u)l(l) | Anton Kling | |
2024-11-22 | libc: Add RC_ERRNO to more syscalls | Anton Kling | |
This is very inconstant at the moment | |||
2024-11-22 | vfs: Add dup() | Anton Kling | |
2024-11-22 | libc: Add case for strtol(l) where base is 0 | Anton Kling | |
2024-11-22 | vfs: Close new file descriptor if already in use when calling dup2 | Anton Kling | |
2024-10-30 | kernel: Improve error handling for OOM | Anton Kling | |
2024-10-30 | kernel/mmu: Make sure to check for NULL. | Anton Kling | |
2024-10-17 | kernel: Use realloc instead of malloc+free | Anton Kling | |
2024-10-17 | httpd: Bug fix close unused file descriptor | Anton Kling | |
2024-10-16 | kernel: 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-16 | httpd: Bug fix for not handling error code 400 properly | Anton Kling | |
2024-10-14 | httpd: Add /index.html support and better error handling | Anton Kling | |
2024-10-14 | ppm: Fix bounds checking | Anton Kling | |
2024-10-14 | kernel: small bug fixes | Anton Kling | |
2024-10-14 | kernel: stuff | Anton Kling | |
2024-10-14 | TCP: Don't free buffer prematurely | Anton Kling | |
2024-10-14 | libc: Copy string views to preallocated buffers | Anton Kling | |
2024-10-14 | httpd: Add a simple http server | Anton Kling | |
2024-10-13 | libc/sb: Refactor string builder to allow for none malloc allocations | Anton 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-12 | Kernel/MMU: Don't return non present pages unless creation is desired | Anton 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-11 | sh: Add parsing of newlines | Anton Kling | |
2024-10-09 | sh: Conform to the new stringbuilder functions | Anton Kling | |
2024-10-09 | sh: Add support for running commands in the background | Anton Kling | |
2024-10-09 | sh: Fix incorrectly hardcoded value | Anton Kling | |
2024-10-06 | Kernel/Networking: Modify outgoing packet in place | Anton 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-06 | libc: Add sb_prepend_buffer | Anton Kling | |
2024-10-03 | kernel/shm: shm_open only create if O_CREAT was supplied | Anton Kling | |
2024-10-03 | libc: Add sendfile and queue | Anton Kling | |
2024-10-03 | libc: small changes | Anton Kling | |
2024-10-03 | libc: Add readdir_multi | Anton 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-03 | libc: Add fdopendir() | Anton Kling | |
2024-10-02 | test: Fix incorrect test | Anton Kling | |
2024-10-02 | libc: Fix FILE memstream bug | Anton Kling | |
2024-10-02 | libc: 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-12 | Kernel: Add support for shebangs | Anton Kling | |
Adds support for shebangs (#!) that allow for things such as shell scripts without appending `sh` before the file. | |||
2024-09-12 | sh: Load script from file | Anton Kling | |
2024-09-12 | sh: Add support for comments | Anton Kling | |
2024-08-17 | ext2: 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-11 | PCI: Fix bug not account for different bar index | Anton Kling | |
2024-07-08 | Kernel/Net: Don't use kmalloc to create send buffers | Anton 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-08 | LibC: Optimize malloc | Anton Kling | |
2024-07-08 | kmalloc: Merge headers more often | Anton Kling | |
2024-07-06 | Kernel: Add kmalloc scan | Anton Kling | |
This will scan for possible overflows in the program. It is a somewhat expensive operation but really useful for debugging. | |||
2024-07-06 | Kernel: Add queue syscall and improve TCP | Anton Kling | |
2024-07-06 | Kernel: Fix integer overflow | Anton Kling | |
2024-07-06 | Kernel: Fix sleep function to use uptime instead of UTC time | Anton Kling | |
2024-07-06 | Bug fix: Fix use after free when closing a pipe | Anton Kling | |
The other inode might already have been freed when close() is called. | |||
2024-07-05 | TCP: Add back support for listening on a socket | Anton Kling | |
2024-07-04 | scheduler: Use get_uptime() since it caches the result | Anton Kling | |
Apparently getting the current TSC is a expensive operation. This change had a significant improvements for I/O heavy applications. |