Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-12-14 | procfs: Add `stat` | Anton Kling | |
2024-12-14 | procfs: Add `self` and `id` | Anton Kling | |
2024-12-14 | sb: Allow input to be "ignored" | Anton Kling | |
This removes edge cases from read calls and makes bugs harder to introduce. | |||
2024-12-12 | formatting: Use clang-format on all projects | Anton Kling | |
This commit also add braces to all `if` statements. | |||
2024-12-12 | signal: Remove old way of sending signals and instead use procfs | Anton Kling | |
2024-12-12 | procfs: Add a procfs | Anton Kling | |
Userland can now interface with processes by writing/reading from `/proc/<pid>/<entry>` It can send signals, for example `echo 15 > /proc/1/signal` | |||
2024-12-09 | kernel: Add a way to parse numbers from C strings | Anton Kling | |
After making this change I am now actually doubting if using C strings is a good idea and maybe it should just always just the string view library that userland makes use of. But old code and the upcoming commits rely upon this so it is a change my future less lazy self will do. | |||
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-12-08 | vfs: Bug fix... | Anton Kling | |
The commit is self explanatory. It was a simple mistype that went unnoticed for a while. | |||
2024-12-08 | vfs: Force truncation even without permissions | Anton 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-11-30 | vfs: Move read() to vfs.c | Anton Kling | |
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-11-23 | vfs: Support O_TRUNC | Anton Kling | |
2024-11-23 | vfs: Add O_APPEND support + refactoring | Anton Kling | |
2024-11-22 | vfs: Add dup() | Anton Kling | |
2024-11-22 | vfs: Close new file descriptor if already in use when calling dup2 | Anton Kling | |
2024-10-14 | kernel: stuff | Anton Kling | |
2024-10-03 | kernel/shm: shm_open only create if O_CREAT was supplied | 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-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-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-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-07-01 | Bug fix: avoid use after free | Anton Kling | |
2024-07-01 | VFS: Move towards unifying vfs_inode_t and vfs_fd_t | Anton Kling | |
There is no need for these to be seperate. They will probably move to the same struct soon. | |||
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 | Libc/Kernel: Add fcntl() | Anton Kling | |
2024-06-26 | Remove mread | Anton Kling | |
2024-06-26 | Ext2: Bug fix | Anton Kling | |
2024-06-25 | VFS: dup2 fixes | Anton Kling | |
2024-06-22 | Kernel stuff | 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-29 | Kernel/Socket: Move sockets back to being file descriptors | Anton Kling | |
2024-04-27 | Kernel: Ensure new kernel tables geet allocated for all current page directories | Anton Kling | |
2024-04-27 | Kernel: Make "relist" able to dynamically resize | 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 | |