summaryrefslogtreecommitdiffstats
path: root/tools/qemu.sh
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-31 02:28:10 +0200
committersalmonik <salmonik@tuta.io>2026-07-31 02:28:10 +0200
commitaf8d5aa4538ac71f11a5418ef94ae478868a0484 (patch)
treec235d89cbdd1486dd2239d08abc750be2e5a88d2 /tools/qemu.sh
parentInitial commit: raisernics toy kernel (diff)
downloadrs-dos-af8d5aa4538ac71f11a5418ef94ae478868a0484.tar.gz
rs-dos-af8d5aa4538ac71f11a5418ef94ae478868a0484.zip
interrupts: IDT, PIC remap, PIT timer, PS/2 keyboard IRQ
- IDT with 256 entries, loaded via lidt (CS read from current context) - PIC 8259A remapped to vectors 32-47, timer+keyboard IRQs unmasked - PIT channel 0 at ~100 Hz (mode 2, rate generator) - PS/2 keyboard IRQ (IRQ1 → vector 33): reads port 0x60, pushes byte to lock-free SPSC ring buffer - Timer IRQ (IRQ0 → vector 32): sends EOI, increments tick counter - ps2::poll_key() now reads from ring buffer with cli/sti+hlt for race-free sleep (instead of busy-polling the data port) - build.rs: use idiomatic Result<_, Box<dyn Error>> return type - tools/qemu.sh: fix SC2207 shellcheck warning
Diffstat (limited to '')
-rwxr-xr-xtools/qemu.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/qemu.sh b/tools/qemu.sh
index 428954f..b75bed4 100755
--- a/tools/qemu.sh
+++ b/tools/qemu.sh
@@ -81,7 +81,7 @@ QEMU_CMD=(
81[ -n "$GUI_FLAG" ] && QEMU_CMD+=("$GUI_FLAG") 81[ -n "$GUI_FLAG" ] && QEMU_CMD+=("$GUI_FLAG")
82if [ -n "$DEBUG_FLAG" ]; then 82if [ -n "$DEBUG_FLAG" ]; then
83 # Split the flag string safely into words 83 # Split the flag string safely into words
84 read -ra dbg <<< "$DEBUG_FLAG" 84 read -ra dbg <<<"$DEBUG_FLAG"
85 QEMU_CMD+=("${dbg[@]}") 85 QEMU_CMD+=("${dbg[@]}")
86fi 86fi
87 87