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
+19
-3
@@ -305,12 +305,23 @@ architectures in QEMU and capturing the serial log. There is no other test.
|
||||
The vendored hosted `make` build (above) is NEVER used to validate kernel changes.
|
||||
|
||||
```bash
|
||||
# Run in this exact order for every kernel change:
|
||||
# Run in this exact order for every kernel change. v4 is the default (2026-10-14):
|
||||
make -f kernel/Makefile ARCH=amd64 clean qemu
|
||||
make -f kernel/Makefile ARCH=aarch64 clean qemu
|
||||
make -f kernel/Makefile ARCH=riscv64 clean qemu
|
||||
# ...and the 32-bit build -- v4 with 32-bit cells, the F18/Zynq (FPGA) case: its nucleus
|
||||
# image and every v4 test at that width (no QEMU; not a substitute for the boots above):
|
||||
make -C v4 test-32
|
||||
```
|
||||
|
||||
**v4 is the default build (Captain Bob, 2026-10-14: "v4 is the default build ... no, qemu to v4
|
||||
too ... we are effectively trying to retire v3").** Every kernel build carries v4 and v3 and
|
||||
boots v4; `system=v3` in the boot arguments (`KERNEL_ARGS` for QEMU, `starforth.cfg` /
|
||||
`cmdline.txt` on a board's medium) boots v3. `STARFORTH_V4=0` builds v3 alone. The boot prints
|
||||
which system runs and why ("System: ..."). See `boards/BRINGUP.md` A6, `FABRIC-3.md` §XLIII.
|
||||
**v3 is not part of acceptance** (Captain Bob, 2026-10-14: "i don't care about v3"). It is still
|
||||
in the tree and `system=v3` still boots it, but nothing is accepted or refused on its account.
|
||||
|
||||
**QEMU rule — non-negotiable:** Only ONE QEMU instance may run at a time, always in the
|
||||
foreground (never backgrounded). All three instances use `accel=tcg` (software emulation);
|
||||
concurrent runs compete for host CPU and corrupt the timing signal the DoE measures.
|
||||
@@ -330,8 +341,13 @@ audit artifacts — they are committed to the repo. Do not delete them. There is
|
||||
timestamped convention (self-documented via its own README); not a contradiction, just a
|
||||
second, less-structured log location.
|
||||
|
||||
Do not claim a change is accepted until all three architectures have booted
|
||||
to `zuse)ok>` and their logs are present in `logs/`.
|
||||
Do not claim a change is accepted until all three architectures have booted, and their logs are
|
||||
present in `logs/`:
|
||||
- **as built (v4)** to `ok> `, with `PARITY:V4_POST tests=538 pass=538 fail=0` (the count
|
||||
grows with v4's POST) and `POST: PASSED`, and `PARITY:V4_SYSTEM ... dict_hash=` equal across
|
||||
the three;
|
||||
- **the 32-bit build** (Captain Bob, 2026-10-14: "the 32 bit build needs to go into the
|
||||
acceptance test too"): `make -C v4 test-32` passes -- every test, `0 failures`.
|
||||
|
||||
### CI
|
||||
|
||||
|
||||
Reference in New Issue
Block a user