summaryrefslogtreecommitdiff
path: root/kernel/cpu
AgeCommit message (Collapse)Author
2024-12-12signal: Remove old way of sending signals and instead use procfsAnton Kling
2024-12-12procfs: Add a procfsAnton 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-08vfs: Force truncation even without permissionsAnton 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-30vfs: Move read() to vfs.cAnton Kling
2024-11-28changesAnton Kling
2024-11-23vfs: Add O_APPEND support + refactoringAnton Kling
2024-11-22vfs: Add dup()Anton Kling
2024-10-16kernel: 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-14kernel: small bug fixesAnton Kling
2024-10-14kernel: stuffAnton Kling
2024-10-03libc: Add sendfile and queueAnton Kling
2024-07-06Kernel: Add queue syscall and improve TCPAnton Kling
2024-07-06Kernel: Fix sleep function to use uptime instead of UTC timeAnton Kling
2024-07-05TCP: Add back support for listening on a socketAnton Kling
2024-07-03Kernel/Time: Improve time keepingAnton Kling
This makes use of TSC and now provides a file system interface for userland programs to change the system time.
2024-06-30Kernel: Add clock_gettimeAnton Kling
2024-06-26Kernel: Move all syscalls into one fileAnton Kling
2024-06-26Libc/Kernel: Add fcntl()Anton Kling
2024-06-26Remove mreadAnton Kling
2024-06-26Networking stuffAnton Kling
TCP is now in a somewhat good state
2024-06-26LibC: Fix printf formattingAnton Kling
Previously %02x would not print out padding if the given value was zero.
2024-06-24Kernel: Purge unused/bad syscallsAnton Kling
2024-06-17Reorganize logging codeAnton Kling
2024-06-09Add UDPAnton Kling
2024-05-05Kernel: Clear more interrupts for mouse driverAnton Kling
I am not sure why the mouse requires interrupt line 2 to be cleared.
2024-05-05Kernel: Mask interrupts until they have a handlerAnton Kling
2024-04-29Kernel/LibC: Remove unused syscallsAnton Kling
2024-04-29Kernel/IRC: Add setsockopt and move IRC client to use new socket interfaceAnton Kling
2024-04-29Kernel/Socket: Move sockets back to being file descriptorsAnton Kling
2024-04-26Kernel: Handle userspace memory errors instead of crashing.Anton Kling
The kernel should kill the process if it has memory issues.
2024-04-18LibC/Kernel: Move lseek/seek to kernelAnton Kling
2024-04-18Kernel: Fix compiler warningsAnton Kling
2024-04-17Kernel/LibC: Add fstat() and remove stat() syscallAnton Kling
2024-04-16Kernel: Improve "out of memory" error handlingAnton Kling
It can now boot with fairly low memory while not crashing and instead gracefully failing the operation. Userland still does not properly handle errors.
2024-04-15Bug fix and cleanup.Anton Kling
2024-04-11bug fixesAnton Kling
2024-04-02Kernel: Fix some memory leaksAnton Kling
2024-03-26Increase support for signalsAnton Kling
2024-03-25Random changesAnton Kling
2024-03-17stuffAnton Kling
2024-03-14random changes madeAnton Kling
2024-03-02Kernel: Fix incorrect hardcoded value.Anton Kling
It should be 20 as there are 5 addresses pushed onto the stack. Not hex 20 which is sligthly more and as a result caused random crashes.
2024-02-25IPC: Inform the scheduler the process is waiting for a IPC messageAnton Kling
2024-02-22Kernel: Fix undefined behavior and cleanup functions.Anton Kling
The int_syscall caused crashes for higher level of optimizations. To fix this I rewrote the function in assembly as I deemed it to be simpler.
2024-02-21Kernel: Remove all inline assembly.Anton Kling
Now the kernel does not rely upon inline assembly which is often very error prone. This also means that the kernel could probably be compiled with any c99 compiler which would help future bootstrapping.
2024-02-21New clang-format optionsAnton Kling
2024-02-17cleanupAnton Kling
2024-02-16General cleanupAnton Kling
2024-02-14Kernel: Update signal handling and IPCAnton Kling
2024-02-09Kernel/Interrupts: Restructure how interrupts are handeled in the kernelAnton Kling
Now all interrupts go through a common stub which will make certain signal handlers easier to implement