Skip to content

Fix ucode test fixtures for Phoenix, fetch firmware in CI, README fixes - #1

Merged
luuumi-dev merged 5 commits into
mainfrom
fix/ci-fixtures-and-docs
Oct 20, 2026
Merged

luuumi-dev merged 5 commits into
mainfrom
fix/ci-fixtures-and-docs

Conversation

@luuumi-dev

Copy link
Copy Markdown
Owner

Что меняется

  • Тест прошивок: имена исправлены с Navi 32 (gc_11_0_3_*, sdma_6_0_3) на Phoenix (gc_11_0_1_*, sdma_6_0_1) — те же файлы, что грузит tools/phxctl/bringup5.sh. Ожидаемые размеры SDMA (17408/16896) уже соответствовали 6.0.1.
  • Без фикстур firmware-тесты пропускаются; с REQUIRE_FIXTURES=1 (CI) — падают.
  • make fixtures / tools/fetch_test_firmware.sh скачивает блобы из upstream linux-firmware вместо коммита в репо; tests/fixtures/ в .gitignore.
  • CI: загрузка фикстур перед make test.
  • README (EN/RU): сборка mtlprobe, безопасный порядок отката (kmutil install --update-all до возврата AMFI), убран пункт про Apple Pay/Touch ID, make fixtures.
  • fresh.sh: требует MAC_IP вместо захардкоженного адреса.

Проверка

  • make test локально проходит (firmware-тесты пропущены — фикстуры из моего окружения скачать нельзя).
  • Firmware-тесты проверит CI в этом PR. Если упадут проверки количества payload'ов PFP/ME/MEC — ожидания теста не совпадают с реальной прошивкой 11.0.1.

Не входит

  • Переписывание истории git с SMBIOS-идентификаторами (делается владельцем локально + force-push).
  • Выбор между GPL-2.0-only и GPL-2.0-only OR MIT в LICENSE.

Generated by Claude Code

- tests: use Phoenix firmware names (gc_11_0_1_*, sdma_6_0_1) instead of
  Navi 32 (gc_11_0_3_*, sdma_6_0_3); expected SDMA sizes already match 6.0.1.
- tests: skip firmware-based cases when fixtures are absent, fail if
  REQUIRE_FIXTURES is set (CI sets it).
- tools/fetch_test_firmware.sh + `make fixtures`: download blobs from
  upstream linux-firmware instead of committing them; ignore tests/fixtures/.
- CI: fetch fixtures before `make test`.
- README (EN/RU): build step for mtlprobe, safe revert order with
  `kmutil install --update-all`, drop Apple Pay/Touch ID line, `make fixtures`.
- fresh.sh: require MAC_IP instead of a hardcoded LAN address.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vNcz12yj5f6MvZFQ7rrp8
git.kernel.org rejected the CI runner; try the official GitLab mirror
first, then kernel.org, and reject HTML pages saved in place of firmware.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vNcz12yj5f6MvZFQ7rrp8
The script uses bash arrays; `sh` is dash on Ubuntu runners and failed
with a syntax error (exit 2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vNcz12yj5f6MvZFQ7rrp8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vNcz12yj5f6MvZFQ7rrp8
Phoenix (GC 11.0.1) ships gc_11_0_1_{pfp,me,mec}.bin with a v1.0 header
(F32, rs64_enable == false). The extractor only accepted RS64 v2.0 and
returned no payloads for real Phoenix firmware. Return one payload typed
CP_PFP / CP_ME / CP_MEC for v1.x, as tools/phxctl/bringup5.sh loads them.

Tests: check the real Phoenix CP files as v1.0 single payloads, and keep
RS64 v2.0 coverage on a synthetic header.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vNcz12yj5f6MvZFQ7rrp8

Copy link
Copy Markdown
Owner Author

CI зелёный. Что добавилось после открытия PR:

  • Баг в экстракторе: с настоящими фикстурами выяснилось, что прошивки Phoenix gc_11_0_1_{pfp,me,mec}.bin используют F32-заголовок v1.0, а extract_cp_rs64 принимал только RS64 v2.0 и возвращал 0 payload'ов. Добавлена ветка v1.x: один payload с типами CP_PFP/CP_ME/CP_MEC, как в tools/phxctl/bringup5.sh. RS64 v2.0 проверяется на синтетическом заголовке.
  • Makefile запускает fetch-скрипт через bash (dash не понимает массивы).
  • Скрипт загрузки пробует GitLab-зеркало linux-firmware, затем kernel.org, и отбрасывает HTML вместо бинарника.
  • CI выводит хвост лога упавших тестов в аннотацию.

Generated by Claude Code

@luuumi-dev
luuumi-dev merged commit 800852e into main Oct 20, 2026
1 check passed
@luuumi-dev
luuumi-dev deleted the fix/ci-fixtures-and-docs branch October 20, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants