Source changes (dormant parity infra, retained from iterate 2.AI/2.AO): - xenia-kernel/exports.rs: nt_create_event manual_reset polarity + related event wiring - xenia-gpu/mmio_region.rs: D1MODE_VBLANK_VLINE_STATUS hardcode parity Also lands the audit-runs/ analysis notes (.md/.txt/.json digests) for the iterate 2.x VSync/0x10e8/0x1004 wedge investigation. Raw trace dumps (.jsonl/.gz/.csv/.stdout) and agent worktrees (.claude/) are gitignored as regenerable local artifacts — see memory + HANDOFF for the running findings. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.7 KiB
Phase C+8 — broad-impact analysis
KeResetEvent is hot like KeSetEvent — called many times before idx=102164. Predecessor (C+7) advanced the main chain by +6 due to a stale-comment test; C+8 advances by +33 — modest but ~5x larger. Each event between 102164 and 102197 is a continuation inside the same critical-section / content-enumeration block in the boot sequence.
Pre-C+8 (post-C+7) tid=6->1 first-divergence
idx=102164 -- kernel.return KeResetEvent canary=1 ours=0
Post-C+8 tid=6->1 first-divergence
idx=102197 -- kernel.return XamContentCreateEnumerator canary=1317 ours=0
- 1317 = 0x525 = X_ERROR_NO_CONTENT (returned when no save data exists)
- ours returning 0 implies our stub either succeeds blindly or doesn't implement the "no content" path
Resolved divergences
idx=102164 KeResetEvent return_value=0 -> 1
Advanced divergences
tid=6->1 first-divergence position 102164 -> 102197
Persisted divergences
tid=12->7 idx=2 KeWaitForSingleObject canary=258 ours=0 tid=14->9 idx=39 XAudio cluster vs RtlEnterCS
NEW divergences (consequence of the C+8 fix)
None visible -- the new first-divergence at idx=102197 was already the second-divergence pre-fix (hidden behind 102164). Now exposed.
Sister-chain stability
All 5 sister chains (tid=4, 7, 12, 14, 15) at their identical prior matched-prefix lengths. No regression to lockstep-mapped sub-runs.
Coarse stable-digest stability
50M c6d895829b4611964978990ae1cb8a6a identical to C+7 baseline.
Coarse digest is field-coarse at this stage; it doesn't yet count
distinct event sequences inside the matched-window expansion.
Test count
Pre: 156. Post: 160 (+4). No regressions.