- hosted (v4/tools/hosted.c): a line longer than the buffer is read to its end and refused as too long. Before, fgets handed it over in 1025-byte pieces and the last piece ran as a line of its own. - bare metal (kernel/src/v4/sk_v4.c): the line editor takes 1024 characters, as the boot does, and a line typed past that is refused as too long instead of being cut at 255 and run. V4_BOOT_LINE_TOO_LONG is now reported at the prompt and while a line waits. - engine (v4/src/exec.c): a store the node itself refuses (to "any port", "which port", How or Have) left the opcode running on: !+ advanced A, against node.h's FAULTS, and !p advanced P past the handler, into the next fault kind's entry. A refused store now does nothing more; a store that raises an error (D-18) still counts as made, but P stays the handler's. - test_port.c: both cases; they fail on the old exec.c (A 1017, P 901). Engine-level tests (all v4/tests/test_*.c but test_host_*) pass at 32 and 64 bits; test_port also under ASan/UBSan. Not yet run: make -C v4 test, test-32, hosted-check, and the three QEMU acceptance boots. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
src/starkernel/
LithosAnanke — the bare-metal UEFI kernel that boots StarForth directly on
hardware (amd64/aarch64/riscv64). Built only via Makefile.starkernel; the
only valid acceptance test is the three-arch QEMU boot (see
.claude/CLAUDE.md), never make test.
kernel_main.c— kernel entry point, driving the boot milestones (console init, PMM, VMM, interrupts, timers, kmalloc heap, VM bootstrap).repl.c— kernel REPL.doe_log.c— kernel-side DoE (Design of Experiments) metrics logging.
Subdirectories:
arch/{amd64,aarch64,riscv64}/— per-architecture support (APIC/GIC/ PLIC interrupt controller, timers, boot/ISR assembly).boot/— UEFI loader, ELF loading, kernel command-line parsing.capsule/— capsule birth/run/load/validate pipeline.hal/— hardware-abstraction-layer implementation (console, framebuffer, VT100, memory, host services).hash/— XXHash64 content-addressing implementation.math/— kernel-build Q48.16 fixed-point arithmetic.memory/— physical/virtual memory managers and the kernel heap.pci/— PCI bus enumeration.virtio/— VirtIO block device driver.vm/— kernel VM subsystem (bootstrap, core interpreter, parity logging, capsule arena).
See include/starkernel/README.md for the corresponding headers.