Files
xenia-rs/audit-runs/phase-c8-keResetEvent/broad-impact.md
MechaCat02 ef93a4fa14 handoff: VSync/event-wedge fixes + iterate 2.A–2.BC research notes
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>
2026-06-05 07:19:08 +02:00

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.