- stadium_release_quota(): evict every patron but pending messages, mark the slot retiring; stadium_retire_sweep() releases a retiring slot once nothing is resident -- free cells to the best donor (ruled), word row and block-table entries cleared, slot free for reuse. Swept at release and after evictions while any slot is retiring. - Called on KILL and reap, and for the nine synthetic self-test ids after the boot self-tests. Hera's slot never released. - Admission fallback skips DELIVER (message) cells. - Probe (removed): slots in use == live VMs after boot and after 56-64 churned VMs on all three ISAs; forced fallback kept the message cell resident and intact; conserved everywhere; K-1's post-churn Hermes refusal gone (1 2 + . -> 3 on the churned system). Heap growth per 28-VM churn halved (~3.4 KB/VM still retained -- open as K-8). - Standard sequence on amd64/aarch64/riscv64: hash, G, ledger unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
include/starkernel/vm/
Headers for the kernel-side VM subsystem (src/starkernel/vm/).
arena.h— the capsule arena allocator: fixed-region allocation for capsule payload data, separate fromkmalloc's general kernel heap.parity.h— the birth/execution parity-record logger: declares the logging interface used to record VM ID, capsule content hash, and dictionary hash on every capsule birth, enabling offline determinism verification across independent kernel runs.
See include/starkernel/vm/bootstrap/README.md for the VM bootstrap
subsystem.