§H.12 step 1: add Session struct (type only)

include/starkernel/session.h: vm_id (VMUuid), pinned (int, authoritative
over Stadium's STADIUM_FLAG_PIN per H.10), parent (VMUuid), name (fixed
64-byte buffer), identity (embedded VMIdentity, reusing the existing
type rather than inventing a new one). No logic yet, no callers -- next
step wires the session-slot array and register/find functions.

Verified 3-arch boot to ok> (amd64/aarch64/riscv64).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-03 05:57:01 -04:00
co-authored by Claude Opus 5
parent 4cd18734ee
commit 668e36bb17
10 changed files with 27654 additions and 3 deletions
+5 -2
View File
@@ -3941,8 +3941,11 @@ identity work lands") — wiring real identities into them is part of this refac
work, not new invention.
**Phase 1 — Session struct + pin-authority choke point**
1. `include/starkernel/session.h`: `Session{vm_id (VMUuid), pinned (int), parent (VMUuid),
name (fixed buffer), identity (VMIdentity, embedded)}`. Type only, no logic.
1. **DONE 2026-09-03.** `include/starkernel/session.h`: `Session{vm_id (VMUuid), pinned (int),
parent (VMUuid), name (fixed buffer, `SESSION_NAME_BUF`=64), identity (VMIdentity,
embedded)}`. Type only, no logic. No callers yet, so this acceptance run only confirms the
header itself is syntactically clean and doesn't break the build. Verified 3-arch boot to
`ok>` (amd64/aarch64/riscv64).
2. `src/starkernel/vm/session.c`: fixed-size global session-slot array +
`session_find(VMUuid)`/`session_register(...)` skeleton. No callers yet.
3. `session_set_pinned()`/`session_is_pinned()` — the pin-authority choke point (H.2/H.10):