<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rs-dos/tools/qemu.sh, branch qemu</title>
<subtitle>Simple, kernel-only, 64bit OS, early stage.
</subtitle>
<id>https://git.2137697.xyz/rs-dos/atom?h=qemu</id>
<link rel='self' href='https://git.2137697.xyz/rs-dos/atom?h=qemu'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rs-dos/'/>
<updated>2026-07-31T01:22:20Z</updated>
<entry>
<title>fix(rsdos): organizational changes</title>
<updated>2026-07-31T01:22:20Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-31T01:22:20Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rs-dos/commit/?id=0ace22d6f88692883584119c64ff010f4cee6738'/>
<id>urn:sha1:0ace22d6f88692883584119c64ff010f4cee6738</id>
<content type='text'>
</content>
</entry>
<entry>
<title>interrupts: IDT, PIC remap, PIT timer, PS/2 keyboard IRQ</title>
<updated>2026-07-31T00:28:10Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-31T00:28:10Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rs-dos/commit/?id=af8d5aa4538ac71f11a5418ef94ae478868a0484'/>
<id>urn:sha1:af8d5aa4538ac71f11a5418ef94ae478868a0484</id>
<content type='text'>
- 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&lt;_, Box&lt;dyn Error&gt;&gt; return type
- tools/qemu.sh: fix SC2207 shellcheck warning
</content>
</entry>
<entry>
<title>Initial commit: raisernics toy kernel</title>
<updated>2026-07-31T00:18:30Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-31T00:18:30Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rs-dos/commit/?id=76103215711d268b4b02f62e900f2be3032cf295'/>
<id>urn:sha1:76103215711d268b4b02f62e900f2be3032cf295</id>
<content type='text'>
- Bare-metal x86_64 UEFI kernel (PE32+, no libc)
- GOP framebuffer + 8x16 bitmap font
- PS/2 keyboard (polling, scancode set 1)
- UART 16550 serial driver (COM1, 115200 8N1)
- Bump allocator as #[global_allocator] (alloc::String, Vec, format!)
- UEFI memory map capture (static buffer, ADR 0001)
- Shell with 7 commands (help, echo, clear, hello, info, mem, halt)
- Dual output: GOP framebuffer + serial console
- Makefile: run, run-gui, debug, release, image targets
- tools/: qemu.sh, boot-image.sh, debug-kernel.py
</content>
</entry>
</feed>
