chore(audit): mark P7 frozen-snapshot drift cleared (manual regen, no code change)
P7 of the PPC instruction audit fix application: re-ran the ppc-manual generator (`python3 ppc-manual/generator/generate_manual.py`) to regenerate all 350 family pages from current xenia-rs and xenia-canary source. The 3 audit-cited stale snapshots (PPCBUG-066/117/145) are now refreshed. Note: the `ppc-manual/` directory is not versioned in xenia-rs/.git, so this commit is purely the audit-findings status update + report section. The regen itself happened in-place outside this repo. Verification: post-regen grep confirms the old "For now, just trace and continue" stub is gone from every page, and modern constructs (trap::evaluate, current reservation_line model) appear correctly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -618,7 +618,7 @@ convention (`twi 31, r0, IMM`) not handled. Two LOW findings for stale manual sn
|
||||
|
||||
### PPCBUG-066 — Stale frozen snapshots in ppc-manual for td/tdi/tw/twi
|
||||
- **Severity**: LOW
|
||||
- **Status**: open
|
||||
- **Status**: applied (P7 manual regen, 2026-05-02)
|
||||
- **Location**: `ppc-manual/branch/td.md`, `tdi.md`, `tw.md`, `twi.md`
|
||||
- **Symptom**: all four show the old unconditional-trap stub (`// For now, just trace and continue`)
|
||||
instead of the current TO-field-evaluating implementation.
|
||||
@@ -1197,7 +1197,7 @@ and confirmed correct (PPCBUG-115 informational). One MEDIUM documentation findi
|
||||
### PPCBUG-117 — Stale frozen snapshot in `ppc-manual/memory/ldarx.md`
|
||||
|
||||
- **Severity**: LOW
|
||||
- **Status**: open
|
||||
- **Status**: applied (P7 manual regen, 2026-05-02)
|
||||
- **Location**: `ppc-manual/memory/ldarx.md` (frozen snapshot section)
|
||||
- **Symptom**: Snapshot uses old field name `ctx.reserved_addr`; live code uses
|
||||
`ctx.reserved_line = ea & !RESERVATION_MASK` (M3 refactor). Cosmetic only.
|
||||
@@ -1443,7 +1443,7 @@ and PPCBUG-130: `invalidate_for_write` is never called from any plain store arm.
|
||||
### PPCBUG-145 — stwcx: stale manual snapshot uses `reserved_addr` (LOW)
|
||||
|
||||
- **Severity**: LOW (documentation only; live code is correct)
|
||||
- **Status**: open
|
||||
- **Status**: applied (P7 manual regen, 2026-05-02)
|
||||
- **Location**: `ppc-manual/memory/stwcx.md` (frozen snapshot section)
|
||||
- **Symptom**: The frozen snapshot shows `ctx.reserved_addr == ea` (exact-word comparison).
|
||||
The live code at `interpreter.rs:1137-1153` uses `ctx.reserved_line == line` where
|
||||
|
||||
@@ -466,6 +466,25 @@ After applying Phase 1 alone, run `xenia-rs check sylpheed.iso -n 4B --parallel`
|
||||
|
||||
---
|
||||
|
||||
### P7 — Frozen-snapshot drift sweep (2026-05-02, manual regen — no xenia-rs code change)
|
||||
|
||||
**PPCBUGs fixed**: 3 IDs.
|
||||
- PPCBUG-066: ppc-manual/branch/{td,tdi,tw,twi}.md — old unconditional-trap stub replaced with current TO-field-evaluating implementation snippet.
|
||||
- PPCBUG-117: ppc-manual/memory/ldarx.md — refreshed to current reservation_line/reservation_table model.
|
||||
- PPCBUG-145: ppc-manual/memory/stwcx.md — same reservation refresh.
|
||||
|
||||
**Methodology**: ran `python3 ppc-manual/generator/generate_manual.py` (the existing idempotent generator that scrapes xenia-rs and xenia-canary source for each opcode and emits a Markdown page). Output: 350 family pages updated, 598-key index.json refreshed.
|
||||
|
||||
**Verification**: post-regen `grep` confirms (a) the old "For now, just trace and continue" stub is gone from every page; (b) modern constructs (`trap::evaluate`, the current reservation pattern) appear in the trap and reservation pages.
|
||||
|
||||
**Note on scope**: the `ppc-manual/` directory is not versioned in `xenia-rs/.git`. The regen is therefore "done by running the script" with no commit landing in this repo. Documented for posterity here.
|
||||
|
||||
**Implicit drift cleared by earlier phases**: addicx (PPCBUG-003 fixed in P4), andisx (PPCBUG-023 fixed in P4), cmp/cmpi (PPCBUG-050 — no code change required; manual snapshot now reflects current behavior), extsbx/extshx (PPCBUG-036/037 fixed in P4 batch 2), 32 in batch 1 — all auto-resolved by re-running the generator after P1-P6.
|
||||
|
||||
**Conclusion**: P7 is functionally complete. No xenia-rs code change. Next: P8 — test gap closure.
|
||||
|
||||
---
|
||||
|
||||
## Index — every PPCBUG referenced (in numerical order)
|
||||
|
||||
This list intentionally includes every ID found in `audit-findings.md` so nothing is dropped. For each entry's full description / file:line / fix snippet / test recommendation, see the corresponding `### PPCBUG-NNN` heading in `audit-findings.md`.
|
||||
|
||||
Reference in New Issue
Block a user