summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-22LibC: Add fflush() and buffer writes to file descriptorsAnton Kling
2023-11-22Meta: Use dirent as a general include fileAnton Kling
This include file is shared by the kernel and libc
2023-11-22Kernel/RTL8139/Networking fixesAnton Kling
This is just a commit containing multiple fixes since I am too lazy to split them up.
2023-11-22Kernel/LibC: Change file type detectionAnton Kling
2023-11-22Meta: Cleanup of header files such that they are partially sharedAnton Kling
The /include directory contains definitons that both the kernel and libc need to be in sync.
2023-11-21Kernel: Make poll() return number of file descriptors that had revent setAnton Kling
2023-11-20LibC: Add ntohs and ntohlAnton Kling
2023-11-20LibC: Add macros for stdin, stdout, stderr in unistdAnton Kling
2023-11-20LibC: Allow open to accept multiple argumentsAnton Kling
2023-11-20LibC: Add macros for file regnitionAnton Kling
2023-11-18VFS: Do not add extra '/' on root path.Anton Kling
2023-11-18WindowServer: Implement window resizing.Anton Kling
Currently no event is sent to a client that a window is resized. This should be added when I can bother adding that functionality to the client applications also.
2023-11-17Minibox: Add a somewhat improved shellAnton Kling
This shell actually lexes and produces a AST which makes it easier to add features and will makes it more difficult to introduce bugs. So basically it is just better code.
2023-11-17LibC: Add isatty()Anton Kling
2023-11-17Kernel: Add isatty syscallAnton Kling
2023-11-16VFS: Do canonicalization of the current working directoryAnton Kling
2023-11-16Kernel: Change how syscalls are built and implemented.Anton Kling
2023-11-16ext2: Fix directory resolutionAnton 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-16LibC: Add error checking to scandirAnton Kling
2023-11-15Add untracked filesAnton Kling
2023-11-15VFS/LibC: Add getcwd()Anton Kling
2023-11-15LibC: Add getdelim and getlineAnton Kling
2023-11-15Meta: Setup a drive over AHCIAnton Kling
2023-11-15PCI: Add interrupt handler functionsAnton Kling
2023-11-15Kernel/LibC: Add chdir function and syscallAnton Kling
2023-11-15VFS: Add statAnton Kling
2023-11-15VFS: Bug fix. Uninitalized structure member.Anton Kling
This was found thanks to kmalloc now filling new allocations with random data.
2023-11-15ext2: Bug fix. Add padding to the block group descriptor.Anton Kling
2023-11-13AHCI: 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-13Kernel: 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-13Memory: Fix problem where certain tables did not get marked as kernel.Anton Kling
This caused the tables to be cloned instead of having the pointer copied on the new page directory creations. This is just a solution to the symptom of having a bad design for memory managment. Maybe I will figure out something better.
2023-11-13Kernel: Remove kmalloc_eternalAnton Kling
I would like to be able to free some of those objects but I have not decided upon how that will be done yet. Even if not freeded the added complexity of having two functions does not make the extra bytes saved worth it IMO.
2023-11-13Crypto: Implement fast insecure RNG for overwritting memory areas.Anton Kling
This is mainly done to test for uninitlalized memory and find bugs faster. Therefore it does not need to be cryptographically secure or perfectly uniform. Xoshiro256++ seems like a good fit.
2023-11-13Kernel: Add typedefs.hAnton Kling
2023-11-13ARP: Save the IP, MAC of incoming ARP requestsAnton Kling
2023-11-13Exceptions: Output CR2 on page faultAnton Kling
2023-11-13LibC: Support negative values in printf for %dAnton Kling
2023-11-12Meta: Change license to be WTFPLAnton Kling
2023-11-12AHCI: Add very basic AHCI and some additional helper functions to mmu.cAnton Kling
Currently certain parts of the code are taken from osdev wiki as there seems to be very little documentation that I can find on how H2D FIS is structured. Those parts, especially some of the uglier parts of the example code will be rewritten/changed.
2023-11-12Kernel/PCI: Add functions for getting BAR and specific PCI devices byAnton Kling
class
2023-11-10Ext2: Change char* to u8* where the type is referencing data and not a CAnton Kling
string
2023-11-10Kernel Style: Change uint*_t -> u*Anton Kling
2023-11-10Kernel/Memory: Fill new allocations with random data.Anton Kling
This should make it easier to spot uninitalized memory being used.
2023-11-10Syscall: Cleanup code and remove dumb usage of get_vfs_fd.Anton Kling
2023-11-10Kernel: Remove old dead codeAnton Kling
2023-11-10Kernel/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-09Kernel/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-11-09Kernel: Remove old commentAnton Kling
2023-11-09Kernel: Initalize the file descriptor pointers in the proess struct toAnton Kling
zero.
2023-11-08Kerenl/MMU: Remove dumb bug as a result of uninitalized memoryAnton Kling
The kernel would randomly crash. Turns out I did not zero out the frames so my page allocator seemed to get into some weird state.