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.
This commit is contained in:
csd4ni3l
2026-03-29 14:38:43 +02:00
parent aa5cd85b48
commit 3ef95940a7
13 changed files with 494 additions and 56 deletions

View File

@@ -73,8 +73,10 @@ pub fn init_serial_console(start_x: usize, start_y: usize) {
}
pub fn with_serial_console<F: FnOnce(&mut SerialConsole)>(f: F) {
let mut guard = SERIAL_CONSOLE.lock();
if let Some(fb) = guard.as_mut() {
f(fb);
}
without_interrupts(|| {
let mut guard = SERIAL_CONSOLE.lock();
if let Some(fb) = guard.as_mut() {
f(fb);
}
});
}