build: v4 is the default build -- every kernel boots v4; acceptance is v4 on three ISAs and the 32-bit build
Captain Bob, 2026-10-14: "v4 is the default build", "no, qemu to v4 too ... we are effectively trying to retire v3", "the 32 bit build needs to go into the acceptance test too", "i don't care about v3". - STARFORTH_V4 defaults on (Kconfig default y) and V4_DEFAULT=1 everywhere: every kernel carries v4 and v3 and boots v4; system=v3 boots v3; STARFORTH_V4=0 builds v3 alone. Board images write system=v4. - Acceptance (CLAUDE.md): the three ISAs as built (v4, POST passed, V4_SYSTEM dict_hash equal) and make -C v4 test-32. v3 is not part of it. Acceptance run: amd64, aarch64, riscv64 -- PARITY:V4_POST 538/538, dict_hash=0xe5a57f3eb72ff94a on all three, no unknown word; test-32: 30 suites, 0 failures. The SER5 image under OVMF boots v4 as built, v3 after the one-word edit. README, BRINGUP, FABRIC-3 XLIII, the register updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7bc658bb83
commit
79db0e8d88
+14
-11
@@ -60,8 +60,10 @@ $(eval $(call kconfig_bool,PARITY_MODE,0))
|
||||
# StarForth VM integration (default: enabled)
|
||||
$(eval $(call kconfig_bool,STARFORTH_ENABLE_VM,1))
|
||||
|
||||
# StarForth v4 at a single prompt in place of the v3 VM (default: off)
|
||||
$(eval $(call kconfig_bool,STARFORTH_V4,0))
|
||||
# StarForth v4 built in (default: on, 2026-10-14 -- v3 is being retired). With
|
||||
# it the kernel carries v4 and v3 and boots v4 unless the boot arguments say
|
||||
# system=v3 (V4_DEFAULT below). STARFORTH_V4=0 builds v3 alone.
|
||||
$(eval $(call kconfig_bool,STARFORTH_V4,1))
|
||||
|
||||
# Monolithic build — loader + kernel compiled together (default: enabled)
|
||||
MONOLITHIC ?= 1
|
||||
@@ -621,9 +623,10 @@ endif
|
||||
# same file for all three.
|
||||
# ------------------------------------------------------------------------------
|
||||
# V4_DEFAULT: with v4 built in, whether it runs when the boot arguments
|
||||
# name no system (A6, 2026-10-14). 1 for a plain STARFORTH_V4=1 build, as
|
||||
# before; board images build with both and V4_DEFAULT=0 -- v3 unless
|
||||
# `system=v4` (root Makefile, boot_image).
|
||||
# name no system (A6, 2026-10-14). 1 -- v4 -- for every build: QEMU and the
|
||||
# board images alike (Captain Bob, 2026-10-14: "v4 is the default build ...
|
||||
# we are effectively trying to retire v3"); the board images also write
|
||||
# `system=v4` into their boot arguments. `system=v3` boots v3.
|
||||
V4_DEFAULT ?= 1
|
||||
ifeq ($(STARFORTH_V4),1)
|
||||
V4_DEFS := -DSTARFORTH_V4=1 -DSK_V4_DEFAULT=$(V4_DEFAULT) -Iv4/include \
|
||||
@@ -1288,10 +1291,10 @@ else ifeq ($(BOARD_BOOT),uefi-esp)
|
||||
boot_image: all
|
||||
@mkdir -p $(BOARD_OUT)
|
||||
@printf 'FS0:\\EFI\\BOOT\\%s\r\n' "$(EFI_BOOTNAME)" > $(BOARD_OUT)/startup.nsh
|
||||
@# The boot arguments, always written: system=v3 first, so that which
|
||||
@# system runs is one word to change on the stick (A6); KERNEL_ARGS
|
||||
@# after it, and a later system= wins.
|
||||
@printf '%s\n' 'system=v3 $(KERNEL_ARGS)' > $(BOARD_OUT)/starforth.cfg
|
||||
@# The boot arguments, always written: system=v4 first -- v4 is the
|
||||
@# default -- so that which system runs is one word to change on the
|
||||
@# stick (A6); KERNEL_ARGS after it, and a later system= wins.
|
||||
@printf '%s\n' 'system=v4 $(KERNEL_ARGS)' > $(BOARD_OUT)/starforth.cfg
|
||||
@bash scripts/mkdiskimage.sh --out $(BOARD_OUT)/$(BOARD_IMAGE) --table gpt \
|
||||
--size-mib $(BOOT_IMAGE_SIZE_MIB) --label LITHOS \
|
||||
$(LOADER_EFI):/EFI/BOOT/$(EFI_BOOTNAME) \
|
||||
@@ -1311,8 +1314,8 @@ $(RPI5_DTB):
|
||||
boot_image: v3/include/version.h $(RPI5_NATIVE_IMG) $(RPI5_DTB)
|
||||
@mkdir -p $(BOARD_OUT)
|
||||
@# cmdline.txt, always: the firmware hands it to the kernel as the
|
||||
@# devicetree's bootargs. system=v3 first, one word to change (A6).
|
||||
@printf '%s\n' 'system=v3 $(KERNEL_ARGS)' > $(BOARD_OUT)/cmdline.txt
|
||||
@# devicetree's bootargs. system=v4 first, one word to change (A6).
|
||||
@printf '%s\n' 'system=v4 $(KERNEL_ARGS)' > $(BOARD_OUT)/cmdline.txt
|
||||
@bash scripts/mkdiskimage.sh --out $(BOARD_OUT)/$(BOARD_IMAGE) --table mbr \
|
||||
--size-mib $(BOOT_IMAGE_SIZE_MIB) --label LITHOS \
|
||||
boards/$(BOARD)/config.txt:/config.txt \
|
||||
|
||||
Reference in New Issue
Block a user