FABRIC-3.10.8 MC-2: observers stay on core 0

The decision's observer pass runs only on core 0; a switch into an
observer on any other core is refused and counted (a guard, 0 in every
run). Probe posing as core 1: no observer chosen, switch refused 0 -> 1;
as core 0 the same decision returns Hestia. 3-ISA acceptance clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-26 14:24:47 -04:00
co-authored by Claude Opus 5.5
parent 3c07636ecd
commit c8b754fd80
12 changed files with 36665 additions and 2 deletions
+6
View File
@@ -42,10 +42,16 @@
#ifdef __STARKERNEL__
#include <stdint.h>
struct VM;
int sk_vm_context_switch(struct VM *from, struct VM *to);
/* FABRIC-3.10.8 MC-2: how many switches were refused because they would
* have entered an observer on a core other than core 0 (a guard; 0). */
uint64_t sk_vm_switch_observer_refusals(void);
/* FABRIC-3.md §XXVIII Stage 3 follow-on (2026-09-14): which VM is
* currently physically running, tracked by the switch mechanism itself --
* see switch.c's own doc comment on g_switch_current_vm for why this