diff --git a/include/starkernel/timer.h b/include/starkernel/timer.h index 8675b66..79f0d61 100644 --- a/include/starkernel/timer.h +++ b/include/starkernel/timer.h @@ -87,7 +87,14 @@ typedef struct time_window { */ typedef struct time_trust_state { /* Core counters */ - uint64_t ticks; /* TIME-TICKS: monotonic heartbeat count */ + volatile uint64_t ticks; /* TIME-TICKS: monotonic heartbeat count -- + * written directly in ISR context + * (heartbeat_tick(), all three archs) and + * read directly by mainline + * (heartbeat_ticks()); genuinely + * concurrent, unlike every other field in + * this struct (FABRIC.md item 4.5a/4.5b, + * 2026-08-11). */ uint64_t last_tsc; /* TSC at last heartbeat */ uint64_t expected_delta; /* Expected TSC ticks per heartbeat */