feat(kernel): MINT-ZUSE, a word of the lone node (request 2) (#92, 4.6) [skip ci]

word_count 317 -> 318; no POST case (it waits for a stick and YES, as BYE has none).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit is contained in:
Claude
2026-11-08 18:15:26 +00:00
parent 8b83e0a72d
commit 5df4d73480
2 changed files with 9 additions and 3 deletions
+8 -2
View File
@@ -20,6 +20,7 @@
*
* Nothing of the v3 VM is started. docs/v4.0.0/DECOMPOSITION.md.
*/
#include "starkernel/v4/sk_v4_mint.h"
#include "starkernel/v4/sk_v4.h"
#include "starkernel/v4/sk_v4_identity.h"
#include "starkernel/kbd_input.h"
@@ -62,11 +63,12 @@ static int sk_v4_key(void)
}
/* THE KERNEL'S WORDS for the lone node. BYE is v3's (mama_word_bye): a cold
* restart. v3's reaps Hera's children first; the lone node is started
* restart, and MINT-ZUSE mints the real Zuse onto a second stick
* (sk_v4_mint.c). v3's BYE reaps Hera's children first; the lone node is started
* before there is a fleet, so there are none. The rest of the kernel's
* words come when the node is brought up in the VM's place (ENGINE.md
* step 4), where v3's own functions serve them. */
static const char *const sk_v4_words[] = { "BYE" };
static const char *const sk_v4_words[] = { "BYE", "MINT-ZUSE" };
static void sk_v4_serve(v4_node *node, unsigned request)
{
@@ -75,6 +77,10 @@ static void sk_v4_serve(v4_node *node, unsigned request)
console_println("BYE: cold restart");
arch_cold_reset();
}
/* MINT-ZUSE: the real Zuse onto a second stick (docs/v4.0.0/STICK.md 6a;
* plan 2026-10-29-stick-5, Task 4). No POST case: it waits for a stick
* and a typed YES, as BYE has none. */
if (request == 2) (void)sk_v4_mint_zuse();
}
/* Read a line from the keyboard: characters are echoed, backspace rubs one