77 lines
3.5 KiB
Markdown
77 lines
3.5 KiB
Markdown
# Phase-0 and offline Phase-1 build evidence
|
|
|
|
- Date: 2026-07-17
|
|
- Source commit: `72292f2d5788ad643e9d1816ce28ab754ef739b5`
|
|
- Branch: `main`
|
|
- Firmware gate: `NONE`
|
|
- Hardware transfer/execution: **not performed**
|
|
|
|
The source tree was clean when the two artifacts below were rebuilt. Generated
|
|
build directories and ELFs are ignored; only their machine-readable manifests
|
|
are tracked.
|
|
|
|
## Host verification
|
|
|
|
| Environment | Result |
|
|
|---|---|
|
|
| Windows, Visual Studio 2022 x64 Debug | 11/11 CTest tests passed |
|
|
| Windows, Visual Studio 2022 x64 Release | 11/11 CTest tests passed |
|
|
| WSL, Clang 18.1.8, clang-tidy 18, warnings as errors | 12/12 CTest tests passed |
|
|
| WSL, GCC 15.2.0, ASan + UBSan | 12/12 CTest tests passed |
|
|
| Installed core library consumer | compiled and exited 0 |
|
|
| Installed RetroArch/SDL2 scaffold consumer | compiled and exited 0 |
|
|
|
|
The tests include API/error/lifecycle validation, cross-context ownership,
|
|
resource limits, deterministic mock upload/present state, adapter refusal,
|
|
firmware-gate negative cases, symbol-manifest generation, artifact-manifest
|
|
tamper rejection, format, safety policy, and secret scanning.
|
|
|
|
The Clang ASan/UBSan variant was attempted but could not link because this WSL
|
|
installation lacks Clang 18's `compiler-rt` ASan archives. That attempt is not
|
|
counted as a passed test. The available GCC sanitizer runtime completed the
|
|
same 12-test suite successfully.
|
|
|
|
Docker was not installed in the local environment, so the pinned Dockerfile
|
|
was reviewed but not built. Its host and Phase-0 cross-build commands were run
|
|
directly with the same pinned compiler/SDK inputs. No Gitea job is claimed as
|
|
passed merely from being queued.
|
|
|
|
## Cross-build verification
|
|
|
|
The clean PS5 compile used:
|
|
|
|
- PS5 Payload SDK `v0.41`, commit
|
|
`d2e2e585740362976a39fdd5ccf390f199a7bc37`;
|
|
- PS5 SDL2 commit `0baf4ac49382b537ba449901b5b6d0d189bb1fbb`;
|
|
- the single reviewed keyboard/IME-removal overlay;
|
|
- SDL2main, audio, joystick, haptic, sensor, power, file, filesystem, locale,
|
|
misc, OpenGL, LoadSO, render, Vulkan, dummy/offscreen video, and HIDAPI
|
|
disabled for the Phase-1 candidate;
|
|
- warnings as errors and firmware identifier `NONE`.
|
|
|
|
All core, adapter, firmware-gate, probe, and disabled Phase-1 targets compiled
|
|
and linked. Static `prospero-nm` inspection then passed the strict import audit.
|
|
|
|
| Artifact | Size | SHA-256 | Static result |
|
|
|---|---:|---|---|
|
|
| `chimera-gfx-capability-probe.elf` | 110424 | `f0f74978ac62490ff2482386e9c4efa3ad6d6cc46e10d54c41cb8669b4449f36` | 0 direct Sce imports; 0 GNM imports |
|
|
| `chimera-gfx-phase1-videoout-clear.elf` | 1566368 | `2e826ac4ea2bffb626d82e370f98909bb508417d92b1ac3796e9f5a902e975c9` | exact reviewed 15-name Sce set; 0 GNM/keyboard/IME/UserService imports |
|
|
|
|
The 15 Phase-1 imports are six direct-memory/equeue functions, one
|
|
SystemService function, and eight VideoOut functions listed in
|
|
`docs/phase1/VIDEOOUT_CLEAR_EXPERIMENT.md`.
|
|
|
|
`llvm-objdump-18` confirmed the retained control-flow order in the Phase-1
|
|
`main`: firmware gate at offset `0x78`, `SDL_SetMainReady` at `0xa9`,
|
|
`SDL_Init` at `0xb4`, and the sole `SDL_UpdateWindowSurface` at `0x1fc`. The
|
|
probe likewise reaches its firmware gate before loader construction and probe
|
|
logic. With embedded identifier `NONE`, both return before the later calls.
|
|
|
|
The corresponding tracked manifests are:
|
|
|
|
- `manifests/artifacts/chimera-gfx-capability-probe-0.1.0-none.json`;
|
|
- `manifests/artifacts/chimera-gfx-phase1-videoout-clear-0.1.0-none.json`.
|
|
|
|
Both manifests verify against the local bytes and state `authorized: false`,
|
|
`transferred: false`, and `executed: false`.
|