Punch list §25 item 3.1 re-closed after reopening. Items 1.1 and 1.4's resolutions both explicitly named this item as where their Kconfig symbols would be implemented, but 3.1's own stated scope never mentioned them, so the first close missed both: - STADIUM_CONTAINS_DEPTH_MAX (default 5) -- item 1.1's contains-chain depth cap. No consumer yet; reap-gating enforcement is item 3.5. - STADIUM_CAPACITY_TICK (default 1000) -- item 1.4's capacity arbitration cadence in virtual ticks. No consumer yet; capacity arbitration itself is not on the punch list. Both added following STADIUM_MAX_VM_COUNT's exact pattern: Kconfig.kernel entry, Makefile.starkernel kconfig_int + VM_FEATURE_FLAG_VARS forwarding, starforth_config.h fallback default. stadium.h now includes starforth_config.h and carries two more C99-portable compile-time checks proving both symbols are defined and sane, same discipline as the byte-count checks. Declaration only -- not inventing the consuming logic to close this out early. Verified: three-architecture boot (amd64, aarch64, riscv64), all reaching ok> with identical dict_hash=0x3d4e1daf289da94f, re-run after the reopening. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
85 lines
3.3 KiB
Plaintext
85 lines
3.3 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.
|
|
|
|
config STADIUM_CONTAINS_DEPTH_MAX
|
|
int "Patron containment chain depth cap (STADIUM_CONTAINS_DEPTH_MAX)"
|
|
default 5
|
|
help
|
|
Hard bound on how many patrons deep a `contains` chain (FABRIC.md
|
|
item 1.1, the ninth cell wire) may nest. A patron with a non-none
|
|
`contains` link cannot be reaped -- reap-gating enforcement of
|
|
this bound is item 3.5's scope, not yet implemented. Distinct
|
|
from the already-implemented VM-Stadium nesting depth (item 1.7,
|
|
default 2): that bounds VMs nested inside VMs, this bounds
|
|
patrons held inside patrons within one Stadium.
|
|
|
|
config STADIUM_CAPACITY_TICK
|
|
int "Capacity arbitration cadence, in virtual ticks (STADIUM_CAPACITY_TICK)"
|
|
default 1000
|
|
help
|
|
How often Hera re-evaluates capacity transfers between VMs
|
|
(FABRIC.md item 1.4), expressed in virtual ticks -- never
|
|
wall-clock. Default matches the existing precedent at
|
|
capsule_vm_physics.c's vm_physics_heartbeat_tick()
|
|
(HEARTBEAT_INFERENCE_FREQUENCY, also 1000), comfortably past
|
|
the "order of magnitude apart from the heat tick" minimum
|
|
(FABRIC.md §22.4). No consumer yet -- capacity arbitration
|
|
itself is not yet on the punch list.
|
|
|
|
endif # STARFORTH_VARIANT_KERNEL
|
|
|
|
endmenu
|