Commit Graph

7 Commits

Author SHA1 Message Date
csd4ni3l
f4c2657b94 Make keyboard lock-free (and fix Doom deadlock) by only pushing
scancodes to a spsc queue from the interrupts and only process them
inside syscalls. Also make CURRENT_PID atomic to use less locking
2026-04-19 18:22:16 +02:00
csd4ni3l
3ef95940a7 Remove micromath dependency, improve primitive drawing speed by 300x,
add mouse support and interrupts on x86_64 using a ps2 mouse which
needed pic unmasking, add span filling to framebuffer, add back
without_interrupts to serial console and framebuffer, add a mouse
rectangle which tracks the mouse position and test the performance of
the drawing.
2026-03-29 14:38:43 +02:00
csd4ni3l
269d900d97 Add interrupts and IDT and react to double, page, general prot faults
and breakpoints, add keyboard support through the keyboar interrupt, add
paging memory management and a Frame Allocator, add a generic arch
module that initializes arch-specific things, fix framebuffer and
serialconsole being accessed from multiple places, move serial to driver
since its not actually a serial console.
2026-03-24 13:48:31 +01:00
csd4ni3l
e28b898d79 Formatted the code, made the arch code x86_64 only for now, fixed the
serial writer always centering and assuming, added a margin for correct
displaying. Added the IDT and GDT tables, and the TSS so double faults
cant happen. Handled all of these interrupts using functions. Serial
console is now topleft and panic messages are formatted correctly from
there. core PI constant is now used instead of our own.
2026-03-23 18:29:33 +01:00
csd4ni3l
7a938283f7 Move to single arch, add serial console, font rendering, panic handling, move graphics to multiple files, use a global mutex framebuffer & serialconsole 2026-03-14 16:40:23 +01:00
csd4ni3l
eeb1c6c701 Add qemu auto-run to makefile, separate utils into a directory, add graphics support with rectangles, circles and triangles, double buffering (kind of) , and make example shapes on startup with an orange background. 2026-03-13 23:00:27 +01:00
csd4ni3l
b80e6735cd Build upon the limine Rust template and a working pipeline, display an orange background on load. 2026-03-13 18:57:56 +01:00