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>
This commit is contained in:
MechaCat02
2026-06-05 07:19:08 +02:00
parent acd1656753
commit ef93a4fa14
620 changed files with 108303 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
#!/usr/bin/env python3
"""Extract ours tid=13 timeline plus matching canary tid=17 prefix."""
import json
import os
OURS = "/home/fabi/RE - Project Sylpheed/xenia-rs/audit-runs/phase-w-wedge-reattack/ours-postfix.jsonl"
OUTDIR = os.path.dirname(os.path.abspath(__file__))
ours_evts = []
with open(OURS, "r") as f:
for line in f:
if '"tid":13' not in line:
continue
try:
ev = json.loads(line)
except json.JSONDecodeError:
continue
if ev.get("tid") != 13:
continue
ours_evts.append(ev)
print(f"ours tid=13: {len(ours_evts)} events")
print(f"\n=== FULL ours tid=13 timeline (kernel.call, handle.create, wait.*) ===")
with open(os.path.join(OUTDIR, "ours-tid13-full-timeline.csv"), "w") as f:
f.write("host_ns,tid_event_idx,kind,name,detail\n")
for ev in ours_evts:
name = ev["payload"].get("name", "") if isinstance(ev.get("payload"), dict) else ""
detail = json.dumps(ev.get("payload", {}))[:400].replace('"', '""')
f.write(f'{ev["host_ns"]},{ev["tid_event_idx"]},{ev["kind"]},{name},"{detail}"\n')
print(f"Wrote ours-tid13-full-timeline.csv")
# Show the last 40 events.
print("\n=== Last 40 events on ours tid=13 ===")
for ev in ours_evts[-40:]:
name = ev["payload"].get("name", "") if isinstance(ev.get("payload"), dict) else ""
detail = json.dumps(ev.get("payload", {}))[:200]
print(f" {ev['host_ns']/1e9:.5f}s idx={ev['tid_event_idx']} {ev['kind']:18s} {name:30s} {detail}")