IOS LLE: optional IPC request/reply metadata trace (StarletOS phase 11 L2)

With DOLPHIN_IPC_TRACE=1 and the original IOS on the emulated Starlet, log
each request Broadway posts (X1: command, descriptor, argument words, an
OPEN's path) and each reply Starlet posts (Y1: original command, result).
Buffer contents are never read; nothing changes without the variable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Yaya48andClaude Opus 5.5 committed 2026-10-06 18:40:56 +02:00
1 parent 78738093ec
commit cd8c8cedca
4 files changed
+107 -1

No files matched your search

+33
View File
@@ -81,3 +81,36 @@ Rebuilding its PPC binary under Linux remains unqualified (the exact devkitPro
packages could not be downloaded: HTTP 403). Preserve the archived probe.
This documentation commit changes the dependency pin, not the built code;
the executables above still report their build's original commit.
## Phase 11 IPC trace for the original IOS — 2026-10-06
Starting checkout: master `78738093ece433e9198213f91d43a3a0d60e3fa2`, clean;
fetch found no divergence. Companion: StarletOS Phase 11 proposal L2
(`docs/PHASE11_PROPOSAL.md`), approved by the user.
- `Source/Core/Core/HW/WII_IPC.cpp`: with the environment variable
`DOLPHIN_IPC_TRACE=1` and the original IOS running on the emulated Starlet
(`WiiIOSLLE`), every request Broadway posts (PPCCTRL X1) is logged as
`IPCTRACE RQ <addr> C <command> FD <fd> A <five argument words>` (an OPEN
adds ` P <path>`), and every reply Starlet posts (ARMCTRL Y1) as
`IPCTRACE RP <addr> C <original command> RC <result>`. Notice level, `WII_IPC`
log type. Metadata only: buffer contents are never read. Without the
variable, or in HLE mode, nothing changes.
- The file is now an exact integration file (`.gitattributes -text`, hash in
`docs/StarletOS_Checkpoint.json`, 23 files).
- Build: `.starlet_linux` `dolphin-emu-nogui` and `tests` rebuilt; the 95
selected Starlet tests (filter in the companion `docs/LINUX_QUALIFICATION.md`)
passed.
- Emulation smoke run (supporting evidence only, private log in the companion
`target/phase11/l2/`): headless, Null video, the companion's Phase 10C NAND
read-only behind a private profile's COW journal, original boot chain to the
System Menu for 5 minutes: 74342 requests and 74337 replies traced (5
asynchronous requests still pending at the stop).
- Limitation: this Linux build has no window platform (X11 disabled; the
system lacks the `xi` development package), so no one can point and click in
it yet. A separate X11 build directory is the next step once `libxi-dev` is
installed; the qualified headless build stays unchanged.
Next: the companion's Phase 11 L2c (the user launches the Mii Channel from the
Menu in a window with the trace on); analysis stays in the companion.