Login
Check-in [afb4181acf]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge S.8b: QEMU's microbit machine in Glint's qemu-system-aarch64

Reviewed against docs/tasks/S.8b.md; verdict merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX

Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: afb4181acf635087112b5fc3544c6c868eb8a36606492d0780a3befb8a2f043e
User & Date: x86-1-glint 2026-11-09 14:52:37.834
Context
2026-11-09
15:00
Merge S.8c: emit for the first nodes, run on QEMU's Cortex-M0

Reviewed against docs/tasks/S.8c.md; verdict merge after one change (arena by pointer).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: 496ed9c188 user: x86-1-glint tags: trunk

14:52
Create new branch named "slice/S.8c" check-in: 4b3dc8389f user: x86-1-glint tags: slice/S.8c
14:52
Merge S.8b: QEMU's microbit machine in Glint's qemu-system-aarch64

Reviewed against docs/tasks/S.8b.md; verdict merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: afb4181acf user: x86-1-glint tags: trunk

14:52
S.8b: QEMU's microbit machine (Cortex-M0) in Glint's qemu-system-aarch64

Claim: Glint's aarch64 QEMU also runs the microbit machine, an nRF51 with a Cortex-M0, the board Zephyr calls qemu_cortex_m0. Cortex-M0 code can now be run and checked on x86-1 with the QEMU Glint builds, for S.8c's emit and later S.2. CONFIG_MICROBIT=y joins the one aarch64 device selection that the build and the specs read; ten sources join the inventory, and i2c_ss is built as a system set.

Passage: S.8's demonstration, emitted code run on qemu_cortex_m0.

Demonstration: bin/glint-qemu aarch64 rebuilds, 16,823,296 to 16,885,968 bytes. spec/qemu/microbit_spec.cr: microbit is in -M help, and a raw image of four hand-encoded Thumb instructions exits QEMU through semihosting with status 7. The minikconf and inventory specs pass with QEMU_SRC set (9 examples, 0 failures in all three files), and the cross-check finds no missing or extra sources. Codex reports the x86_64 binary's checksum unchanged. Not shown: bin/glint-run aarch64, because x86-1 can't build aarch64 images yet. Codex wrote the change from docs/tasks/S.8b.md; the reviewer checked the ADR offset (Align(14, 4) + 4 = 16), reran the specs and made no changes.

Size: 10 inventory sources, 3 lines in Crystal, a 41-line spec, notes in qemu/PIN.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX Leaf check-in: e26d7499a4 user: x86-1-glint tags: slice/S.8b

14:41
Merge S.8a: a fixed arena for the program tree

Reviewed against docs/tasks/S.8a.md; verdict merge. Spec 5 examples, 0 failures; Arena(256) is 3,076 bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: d4e9600a59 user: x86-1-glint tags: trunk

Changes
Unified Diff Side-by-Side Diff Patch
Changes to qemu/PIN.md.
Changes to qemu/inventory.yml.
Added spec/qemu/microbit_spec.cr.
Changes to src/glint/qemu/build/compile.cr.
Changes to src/glint/qemu/minikconf.cr.