Files
LithosAnanake/Kconfig.kernel
T
Robert Allan JamesandClaude Sonnet 5 5572e5e429 WIP: item 2.2 -- bound the VM registry (not complete, do not check off)
Partial work toward FABRIC.md punch list item 2.2. Adds the
STADIUM_MAX_VM_COUNT Kconfig symbol (default 4, per item 1.5) wired
through Makefile.starkernel, a new CAPSULE_RUN_ERR_FLEET_FULL result
code, and a vm_registry_live_count() helper in capsule_birth.c that
counts LIVE VMs only (distinct from the existing monotonic
vm_registry_count, which never decrements on death).

NOT YET DONE: nothing calls vm_registry_live_count() yet -- the actual
birth-refusal check is not wired into capsule_birth_baby(). Not built,
not boot-tested. FABRIC.md's item 2.2 checkbox is deliberately left
unchecked; this commit exists only to save in-progress work before a
pause, not to claim the item complete.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 13:30:06 -04:00

60 lines
2.2 KiB
Plaintext

menu "Kernel-only options"
if STARFORTH_VARIANT_KERNEL
config STARFORTH_ENABLE_VM
bool "Enable StarForth VM integration, M7 milestone (STARFORTH_ENABLE_VM)"
default y
help
Compiles the full StarForth VM source tree into the kernel image
and enables capsule birth/execution. Disabling this builds a
kernel that only reaches the M0-M6 hardware milestones (console,
PMM, VMM, interrupts, timers, kmalloc) with no FORTH interpreter,
no capsules, no "ok" REPL. Gates a large source-file selection
block in Makefile.starkernel, not just a handful of -D flags.
config PARITY_MODE
bool "Deterministic parity harness mode (PARITY_MODE)"
default n
help
Enables the parity/determinism verification harness used to
compare dict_hash and capsule state across independent runs.
Off by default (normal boot); on for parity-campaign builds.
config SK_PARITY_DEBUG
bool "Verbose parity/vocabulary debug logging (SK_PARITY_DEBUG)"
default n
help
Extra diagnostic logging in vocabulary_words.c and
vm_bootstrap.c's parity paths (src/starkernel/vm/vm_internal.h
guards these with #if defined(__STARKERNEL__) && SK_PARITY_DEBUG).
Previously opt-in-only via VM_FEATURE_FLAG_VARS with no Kconfig
presence at all; promoted here for discoverability, same
treatment as every other previously-unwired constant in this
migration.
config HEARTBEAT_DOE_LOG
bool "Per-tick heartbeat DoE logging (HEARTBEAT_DOE_LOG)"
default y
help
Emits per-heartbeat-tick DoE observation records used by the
bare-metal Design-of-Experiments campaigns
(experiments/bare_metal/). On by default; the DoE tooling expects
this log to be present.
config STADIUM_MAX_VM_COUNT
int "Outer Stadium VM population bound (STADIUM_MAX_VM_COUNT)"
default 4
help
Hard bound on live VMs in the outer Stadium (FABRIC.md item 1.5).
Birth is refused once this many VMs are LIVE simultaneously; a
dead or stillborn VM's registry slot does not count against the
bound. Default of 4 matches Tripod's currently-known topology
(Hera + two Hermes instances + Artemis) -- an explicit placeholder
pending a DoE campaign to find an idealized default (item 5.1),
not a padded estimate.
endif # STARFORTH_VARIANT_KERNEL
endmenu