summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-08-01 19:34:40 +0200
committersalmonik <salmonik@tuta.io>2026-08-01 19:34:40 +0200
commit9b9758e5ee2564b04685eadf2b9ce23dd1060b86 (patch)
tree57fce9e715510ec70df70dc399b4440f3480fd77 /Makefile
parentfix pi-lens warnings: unwraps, shell SC2046, dup code (fmtbuf/scripts/hexdump... (diff)
downloadrs-dos-9b9758e5ee2564b04685eadf2b9ce23dd1060b86.tar.gz
rs-dos-9b9758e5ee2564b04685eadf2b9ce23dd1060b86.zip
rsnix v0.4.0: GUI input foundation — PS/2 mouse + scheduler message queues
Mouse (IRQ12, stream mode): ByteRing generalized for both PS/2 devices, ISR routes data-port bytes by the controller's aux bit; mouse_init with bounded-ACK handshake (boots without a mouse); packet decoder with bit-3 resync, screen-relative deltas, buttons. Exposed as /dev/mouse, the `mouse` stream command, and `make test-mouse`. Message queues (ADR 0003's GUI-era primitive): every task gets a static 16-slot TaskMsg ring; send/recv/recv_blocking with direct wake + tick scan safety net for the lost-wakeup race; `msgrecv`/`send` commands, `mouse <id>` routes real IRQ12 events into a task's queue, jobs shows q=. `make test-msg` + `make test-disk` regression pass.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile12
1 files changed, 11 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 01e265a..f244251 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ export BOOT_EFI=$(ESP_DIR)/EFI/BOOT/BOOTX64.EFI
14# Create one with: make disk (or: ./scripts/mkdisk.sh) 14# Create one with: make disk (or: ./scripts/mkdisk.sh)
15export DISK_IMG ?= /tmp/disk.img 15export DISK_IMG ?= /tmp/disk.img
16 16
17.PHONY: all run run-gui clean image debug release fmt bootloader boot-image disk disk-fresh inspect test-disk 17.PHONY: all run run-gui clean image debug release fmt bootloader boot-image disk disk-fresh inspect test-disk test-mouse test-msg
18 18
19# ---- Build --------------------------------------------------------------- 19# ---- Build ---------------------------------------------------------------
20 20
@@ -113,6 +113,16 @@ inspect:
113test-disk: 113test-disk:
114 ./scripts/test-disk.sh 114 ./scripts/test-disk.sh
115 115
116# Automated PS/2 mouse round trip: boot -> inject mouse_move/mouse_button
117# via the monitor -> verify /dev/mouse + the `mouse` stream -> poweroff.
118test-mouse:
119 ./scripts/test-mouse.sh
120
121# Automated scheduler message-queue round trip: msgrecv/send, real-input
122# routing into a task's queue, queue-full boundary.
123test-msg:
124 ./scripts/test-msg.sh
125
116# ---- Full boot chain ----------------------------------------------------- 126# ---- Full boot chain -----------------------------------------------------
117 127
118# Build bootloader only (rsboot submodule) 128# Build bootloader only (rsboot submodule)