summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-31Meta: Create a simple toolchain compilation scriptAnton Kling
2023-10-31Meta: Create simple build scripts for kernel, userland and general enviromentAnton Kling
2023-10-31Meta: 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.
2023-10-30Cleanup of things that did not get formatted or not included in old commitsAnton Kling
2023-10-30LibC: Remove header files that are not in the "include" directoryAnton Kling
2023-10-30LibC: Don't fail if a free() is done that the wrong address location.Anton Kling
2023-10-30Kernel/LibC: Add signals and support for custom signal handlers to processes.Anton Kling
2023-10-30LibC: Bug fix, make sure to invalidate cache if it skips using itAnton Kling
Since when the cache gets skipped the offset in the file increases far outside of the reach of the current cache. Therefore the current cache should be discarded.
2023-10-30LibC: Skip using cache if length requested is longer than the cache blockAnton Kling
This avoid a bunch of extra systemcalls that would have to be made to read each portion into a cache block.
2023-10-30EXT2: Improve block cacheAnton Kling
This significantly speeds up certain operations as indirect block looksup now don't need to make as many requests to the hard drive.
2023-10-30Kernel/LibC/Networking: Be able to send UDP messagesAnton Kling
Now it can send UDP messages to a specific IP address and libc has enough to create a basic UDP ECHO server, that is kinda cool.
2023-10-30Kernel: Expose source information of incoming UDP packetsAnton Kling
2023-10-30Kernel: Move min, max functions to their own fileAnton Kling
2023-10-30LibC: Optimize memcpy functionAnton Kling
Instead of copying byte by byte it now copies in 64, 32, 16, 8 bit chunks.
2023-10-30Kernel/Networking/LibC: Add syscalls and libc functions for UDPAnton Kling
This allows a UDP server to be created in userland and read data. Currently it can't send data and is very very simplistic. Code is horrible and probably needs some fixing until it can be further built upon.
2023-10-30Kernel: Fixup rtl8139, add basic ARP and ethernet supportAnton Kling
Currently the ARP appears to be able to respond to requests.
2023-10-30Build system: Remove the network cards from as where only for testingAnton Kling
2023-10-30Kernel: Add basic support for PCI and rtl8139Anton Kling
This implementation is very messy and is currently not used.
2023-10-30RTL8139: Transmission and interrupts seem to magically work now.Anton Kling
This commit is done to preserve the functional code before I make new changes.
2023-10-30Kernel: Add basic PCI and very basic rtl8139 supportAnton Kling
2023-10-24Add ftruncate syscalls that I forgot to addAnton Kling
2023-10-24ante: Truncate the file before writing to it.Anton Kling
Previously the file size would not decrease even if data was deleted.
2023-10-24EXT2: Add truncate function to filesystemAnton Kling
2023-10-24VFS/LibC: Create ftruncate function and corresponding syscall and libc ↵Anton Kling
implementation Previously this function was only used for shared memory region created by shm_open because I was lazy. Now exists for all files.
2023-10-24Scheduler/MMU: Include length variable in structure that did not get ↵Anton Kling
included in previous commit
2023-10-24LibC: Allocate stdin, stdout, stderr on the heap so they can be closed with ↵Anton Kling
fclose
2023-10-24WindowServer: Optimize 'for' loop such that it avoids doing a division ↵Anton Kling
during each iteration
2023-10-24WindowServer: Don't hardcode the display resolutionAnton Kling
2023-10-23EXT2: Use the vfs_create_inode function to create the mountAnton Kling
2023-10-23VFS/libc: Create a syscall for mkdir and add the function to libcAnton Kling
2023-10-23EXT2: Make a function for directory creation and refactor directory entry ↵Anton Kling
creation code
2023-10-23ante: Make use of the LibGUI event loop.Anton Kling
2023-10-23WindowServer/LibGUI: Add a eventloopAnton Kling
This can be used by any program does nothing until it gets user input.
2023-10-23WindowServer: Draw a border around the active windowAnton Kling
2023-10-23WindowServer: Remove client struct and make a client equivalent to a windowAnton Kling
2023-10-23WindowServer: Add ability to focus on windows by doing a left click.Anton Kling
2023-10-23Scheduler/MMU: Add a mmaped region to the memory map array.Anton Kling
2023-10-23VBE: Add a interface for getting width, height information about the displayAnton Kling
2023-10-23WindowServer: Optimize copying of buffers.Anton Kling
This optimization should probably move over to memcpy later.
2023-10-23WindowServer: Make the wallpaper be stored in a shared memory region.Anton Kling
This allow other processes to easily modify the wallpaper by opening the memory region and poking into memory.
2023-10-23WindowServer: Launch a new terminal by pressing ALT+nAnton Kling
2023-10-23EXT2: Invalidate inode cache if the inode gets written to.Anton Kling
2023-10-22libc: Implement fscanf functionAnton Kling
2023-10-22libc: Add a cache to the fread function for reading from files on disk.Anton Kling
This helps a ton when using functions such as fscanf that reads from a FILE byte by byte. By creating a cache it avoids a ton of 'read' syscalls that would otherwise be made.
2023-10-22EXT2: Implement a very basic cache for blocks and inodesAnton Kling
2023-10-22Update .gitignore for all programsAnton Kling
2023-10-22Change CC in Makefiles to not use a absolute pathAnton Kling
2023-10-22Ignore relased key events in 'ante'Anton Kling
2023-10-22Remove junk files from sync.sh script.Anton Kling
2023-10-22Add hashmap to submodulesAnton Kling