feat(kernel): a stick offered to a waiting mint, not attached or refused (#92, 4.4) [skip ci]

sk_v4_identity_offer_wait() beats until a stick that is not this system's arrives (offered), a key is pressed, or the system stick leaves; sk_v4_identity_recheck_offered() runs the arrival check again once the mint has written it. Builds on three ISAs; not yet called.

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:12:54 +00:00
parent e94cd3245d
commit cfa60fd0ec
3 changed files with 55 additions and 1 deletions
@@ -8,6 +8,7 @@
#define STARKERNEL_V4_SK_V4_IDENTITY_H
#include "uefi.h" /* BootDisk */
#include "blkio.h"
/* After POST and the block chain: every xHCI controller brought up, and the
* heartbeat started, as the v3 path does before its headless wait. `boot_disk`
@@ -31,6 +32,16 @@ void sk_v4_identity_beat(void);
* is seen before a prompt is shown. */
void sk_v4_identity_check_now(void);
/* MINT-ZUSE (plan 2026-10-29-stick-5, Task 4): beat until a stick that is not
* this system's arrives -- it is offered, not attached or refused: 1, its raw
* device and size in bytes -- or a key is pressed, or the system stick
* leaves: 0. */
int sk_v4_identity_offer_wait(blkio_dev_t **raw, uint64_t *bytes);
/* The arrival check run again on the offered stick, now that the mint has
* written its GPT and identity (it is then recognised as the real Zuse's). */
void sk_v4_identity_recheck_offered(void);
/* Headless: no prompt, and what is typed is read and dropped, until Zuse's
* session begins (v3's sk_repl_headless_wait()). */
void sk_v4_identity_wait(void);