WIP checkpoint: quiet default log level, QEMU_DISPLAY control, tee'd serial log

Default log level dropped from info to warn so the per-word ECW dispatch
trace doesn't flood REPL output after POST (--log-level=info/debug still
re-enables it). qemu target gains QEMU_DISPLAY (default gtk) so the
framebuffer window shows by default; serial log is tee'd live via
`tail -f` instead of dumped with `cat` at the end. Includes regenerated
BLOCK_MAP.md/amd64.csv/artemis.img and this morning's boot logs/DoE runs
from the sessions that produced this WIP.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-12 12:55:08 -04:00
co-authored by Claude Sonnet 5
parent 64a3ff58cc
commit a02e14915f
16 changed files with 66551 additions and 53 deletions
+20
View File
@@ -66,6 +66,8 @@ EFI_RUNTIME_SERVICES *g_sk_runtime_services = NULL;
#include "starkernel/virtio_input.h"
#include "block_subsystem.h"
#include "vm.h" /* DictEntry, vm_find_word, ACL_MODE_STRICT */
#include "log.h" /* must follow vm.h: vm.h's LOG_LINE_MAX has no
include guard, log.h's does */
#include "version.h"
#endif
@@ -544,6 +546,24 @@ static void kernel_main_deep(BootInfo *boot_info) {
console_println("VM: parity bootstrap complete");
}
/* sk_vm_bootstrap_parity() left the logger at LOG_TEST (or LOG_DEBUG
* under SK_PARITY_DEBUG) so POST output is always fully visible.
* Once POST is done, drop to whatever --log-level asked for (default:
* LOG_WARN) so the per-word "ECW: w=... func=... 'NAME'" trace from
* vm_core.c doesn't flood every REPL command. --log-level=info/debug
* re-enables it if you actually want to watch word dispatch. */
{
LogLevel repl_level;
switch (boot_info->args.log_level) {
case KARGS_LOG_DEBUG: repl_level = LOG_DEBUG; break;
case KARGS_LOG_INFO: repl_level = LOG_INFO; break;
case KARGS_LOG_ERROR: repl_level = LOG_ERROR; break;
case KARGS_LOG_WARN:
default: repl_level = LOG_WARN; break;
}
log_set_level(repl_level);
}
/* Wire parity log so PARITY:MAMA_INIT/BIRTH/RUN/KILL reach serial */
capsule_parity_set_output(NULL, console_puts);