Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-12-12 | signal: Remove old way of sending signals and instead use procfs | Anton Kling | |
2024-12-09 | mmu: Make certain allocations physical and virtual mapping linear | Anton 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-11-29 | ext2: Handle "zero" blocks | Anton 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-28 | changes | 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-05 | TCP: Add back support for listening on a socket | Anton Kling | |
2024-07-03 | Kernel/Time: Improve time keeping | Anton Kling | |
This makes use of TSC and now provides a file system interface for userland programs to change the system time. | |||
2024-06-30 | ahci/ext2: small fixes | Anton Kling | |
2024-06-30 | ext2: Optimize block writes | Anton Kling | |
2024-06-30 | ext2: Get multiple blocks in one function call | Anton Kling | |
This significantly reduces I/O operations on the bitmap when large writes occur. | |||
2024-06-30 | ext2: Refactor and optimize free block/inode lookup | Anton Kling | |
2024-06-30 | ext2: Performance improvements to block write | Anton 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-29 | Ext2: Large file support and stylistic changes | Anton Kling | |
2024-06-29 | Ext2: Bug fix | Anton Kling | |
Off by one error in block/inode lookup that caused roughly two days of debugging | |||
2024-06-28 | Ext2: Support block sizes other than 1024 | Anton Kling | |
2024-06-26 | Kernel: Code cleanup | Anton Kling | |
2024-06-26 | Ext2: Bug fix | Anton Kling | |
2024-06-17 | Reorganize logging code | Anton Kling | |
2024-06-09 | Add UDP | Anton Kling | |
2024-05-08 | ext2: Use LRU for block cache | Anton Kling | |
2024-05-04 | Bug: Ext2: Properly check bounds before doing reads. | Anton Kling | |
2024-04-27 | Kernel: Ensure new kernel tables geet allocated for all current page directories | Anton Kling | |
2024-04-27 | Kernel: Make file descriptor numbers reusable. | Anton Kling | |
Instead of using the "append only" list it now uses "relist" which allows for indexes to be removed. | |||
2024-04-26 | Kernel/VFS: Change polling from variables to functions | Anton Kling | |
Instead of having to store state in variables functions are called to check the object directly. | |||
2024-04-26 | Kernel: clang format fixes | Anton Kling | |
2024-04-26 | Kernel: More out of memory condition checks | Anton Kling | |
2024-04-18 | Ext2: Fix uninitalized memory when reading inode header | Anton Kling | |
2024-04-17 | Kernel/ext2: Fix small bugs in ext2 fs implementation. | Anton Kling | |
2024-04-11 | bug fixes | Anton Kling | |
2024-04-02 | Kernel: Use "struct list" to handle file descriptors instead of a fixed ↵ | Anton Kling | |
sized array | |||
2024-04-02 | Kernel: Fix some memory leaks | Anton Kling | |
2024-03-14 | random changes made | Anton Kling | |
2024-02-21 | New clang-format options | Anton Kling | |
2024-02-07 | A lot of small changes | Anton Kling | |
2023-11-16 | ext2: Fix directory resolution | Anton Kling | |
Previously a parsing of /usr/../ would fail as it would be searching '/' for a empty file even though the desired outcome if for it to stop parsing after reaching '/'. The solution is to give the current directory inode if the file searched for in the directory is empty. | |||
2023-11-15 | VFS: Add stat | Anton Kling | |
2023-11-15 | ext2: Bug fix. Add padding to the block group descriptor. | Anton Kling | |
2023-11-13 | AHCI: Add write function. | Anton Kling | |
This also changes the ext2 filesystem so it will now write to the file it mounted. Currently the file mounted is /dev/sda which points to a SATA drive. | |||
2023-11-13 | Kernel: Add support for AHCI and make use of it with the current filesystem. | Anton Kling | |
It will now also create a corresponding /dev/sd* device for each detected SATA drive. The filesystem still writes using the ATA driver. This should be fixed soon. | |||
2023-11-10 | Ext2: Change char* to u8* where the type is referencing data and not a C | Anton Kling | |
string | |||
2023-11-10 | Kernel Style: Change uint*_t -> u* | Anton Kling | |
2023-11-10 | Kernel/Memory: Fill new allocations with random data. | Anton Kling | |
This should make it easier to spot uninitalized memory being used. | |||
2023-11-10 | Kernel/fs: Dynamically allocate based upon file size. | Anton Kling | |
This commit also changes "unsigned char" to "char". A slight step in the direction of making my coding style less bipolar. | |||
2023-11-09 | Kernel/fs: Dynamically allocate depending upon file size of directory. | Anton Kling | |
This also solves a bug where the data_p pointer could get out of range due to incorrect assumptions being made about the ext2 directory layout. To be fair even a faulty ext2 directory layout should not be able to cause memory bugs. | |||
2023-10-31 | Meta: 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. |