From b21399953faa576b17f3121087742fb597c872a5 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 07:56:49 -0400 Subject: [PATCH 1/7] Refresh Aurora 7.2 candidate to merged upstream source --- mseries/OS9-HANDOFF.md | 13 ++ mseries/ROADMAP.md | 9 ++ mseries/aurora/test_qualification.py | 10 +- mseries/aurora/unified72/README.md | 118 +++++++++++------- .../aurora/unified72/review-2026-10-21.json | 88 +++++++++++++ mseries/aurora/unified72/series.json | 42 ++++--- 6 files changed, 215 insertions(+), 65 deletions(-) create mode 100644 mseries/aurora/unified72/review-2026-10-21.json diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index fac653564..4c403f494 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,18 @@ # OS 9 implementation / Claude Code handoff +## Aurora 7.2 merged-source refresh selected — 2026-10-21 + +Owner selected refreshing the independent 7.2 candidate. The unified72 manifest +now pins merged #139 `644133b7799f` with streamed archive SHA256 and new distinct +`7.2.10-elementary-aurora72-wip2` / Debian wip2 identity. The already-upstream +stock-bindgen patch is removed from the active series and retained as historical +provenance. Five GPU-reader and 12 PMP host tests pass on the selected source; +three old GPU/SEP source gaps are addressed, not all 64 semantic review gates. +Native ARM64 config/build/package inspection is pending. No host installation or +boot payload change. Shared-DTB/old-7.1 fallback, actual Mesa/UAPI, upstream M1 +Touch ID regressions and J314S boot/suspend/recovery remain gates. See +[the current lane and receipt](aurora/unified72/README.md). + ## Rupert on SER8: updated to main, auto-deployer installed — 2026-10-20 Rupert (`techmore/rupert`) runs in the `rupert` Incus container on SER8 diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index e0ec77647..c53088397 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,5 +1,14 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) +## Aurora 7.2 candidate refresh — 2026-10-21 + +Owner selected merged #139 as the next independent build candidate. unified72 +revision 3 pins `644133b7799f`, new wip2 module/package identity and no duplicate +bindgen patch. Selected GPU-reader/PMP host tests pass; native build/inspection +is pending. Next: artifact-only ARM64 CI, then source/config/UAPI and exact +boot-chain/fallback/J314S acceptance review. No live deployment or power win. +See [the lane's source review and limits](aurora/unified72/README.md). + ## Native Messages experience landed — 2026-10-20 PR #353 merged to `dev` (`0bb46b7d`), including PR #352's media links, name diff --git a/mseries/aurora/test_qualification.py b/mseries/aurora/test_qualification.py index 36b9d938b..dd079f632 100644 --- a/mseries/aurora/test_qualification.py +++ b/mseries/aurora/test_qualification.py @@ -223,7 +223,15 @@ def test_unified72_snapshot_has_separate_identity_and_no_moving_branch_url(self) self.assertIn(data["source"]["commit"], data["source"]["url"]) self.assertRegex(data["source"]["sha256"], r"^[a-f0-9]{64}$") self.assertTrue(data["kernel_release"]["unified72"].startswith("7.2.10-")) - self.assertEqual(data["patches"][0]["head"], "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7") + self.assertEqual(data["patches"], []) + self.assertEqual(data["superseded_patches"][0]["head"], + "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7") + self.assertEqual(data["kernel_release"]["unified72"], + "7.2.10-elementary-aurora72-wip2") + self.assertEqual(data["debian_package"], "linux-image-elementary-aurora72-wip2") + receipt = json.loads((candidate.HERE / "unified72" / data["review_receipt"]).read_text()) + self.assertEqual(receipt["source"], data["source"]["commit"]) + self.assertEqual(receipt["archive_verification"]["sha256"], data["source"]["sha256"]) self.assertEqual(candidate.settings(data, "unified72")["DRM_AMDGPU"], "n") diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index 7dc61972b..910a17857 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -1,18 +1,43 @@ -# Unified Aurora 7.2.10 experiment - -This lane snapshots draft [upstream PR #139](https://github.com/omacom/linux-aurora/pull/139) -at `582e9ef3d44c93082e8abc740ad3e0a8dde29752`; moving branch tips never update -the build implicitly. `series.json` pins the complete archive hash, source -identity, package identity and host-test entrypoints. - -The first ARM64 build reproduced the known stock-bindgen layout assertion -failure (`E0080` for namespace sizes). The series now carries Chris Kearney's -unmodified [review fix 4c56f9cd](https://github.com/omacom/linux-aurora/commit/4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7), -already present in `.20` but missing from this WIP snapshot. It applies cleanly, -restores the upstream stock-generator default and retains opt-in -`BINDGEN_LAYOUT_TESTS=1` with the corrected private generator. Original author, -license/trailers, documentation and hash are preserved. This is a build-policy -port, not a new energy claim. The fixed native build and package inspection passed in [run 39114197052](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39114197052); review parity still blocks hardware promotion. +# Unified Aurora 7.2.10 build candidate + +## Merged source refresh — October 21, 2026 + +The owner selected a refresh of this independent Aurora 7.2 candidate. Revision 3 +pins merged [upstream PR #139](https://github.com/omacom/linux-aurora/pull/139) at +`644133b7799f759c5bfd88507b6246d298b6509c`. This deliberately selects the merged +7.2.10 source, rather than unmerged PR #158's 7.2.11 proposal or a moving branch. +`series.json` records the complete archive SHA256, source/config and new package +identity. [Source review receipt](review-2026-10-21.json) records the streamed +270,217,427-byte archive check, immutable file digests and validation limits. + +New identity: **`7.2.10-elementary-aurora72-wip2`**, package +`linux-image-elementary-aurora72-wip2`, version +`7.2.10+elementary.aurora72.wip2-1`. It has its own module directory and namespaced +phram configuration, allowing the existing `.20`, `.20-enh1` and `wip1` payloads +to remain separate. The fixed `.20` installer/stager does not deploy this lane. +No boot entry, shared payload or running kernel is changed by building it. + +The old wip1 stock-bindgen patch is **not applied** to wip2: the merged source +already contains the stock `--no-layout-tests` default and opt-in +`BINDGEN_LAYOUT_TESTS=1` policy. Its patch file and metadata remain as historical +provenance under `superseded_patches`; do not apply it twice. + +Focused source review confirms that the three shared gaps reported against the +old snapshot are addressed in the inspected merged files: render/compute use +`read_supported`, SEP's OF table is not exported for autoload, and SEP capture +stop timeout continues suspend. Five original GPU-reader host tests and the nine +PMP argument-parser plus three PMP reply-correlation tests pass at this source. +These are bounded host controls, not a GPU/kernel boot or complete 64-fix audit. +The previous GPU util file had seven tests; the merged file has five, so no +identical test-count/coverage claim is made. + +Native source/config/Image/modules/DTBs/package inspection for this revision is +pending the existing Aurora enhancement CI. Earlier wip1 build receipts do not +qualify wip2. Full source/config/toolchain provenance and LICENSES travel with +its generated artifacts. No local 7.2 boot, power saving or hardware acceptance +is claimed. + +## Reproduce in an isolated builder ```sh python3 mseries/aurora/candidate.py prepare --profile unified72 \ @@ -22,32 +47,37 @@ python3 mseries/aurora/candidate.py build --prepared /absolute/work/unified72 \ --output /absolute/work/unified72-artifacts --jobs 4 ``` -The build uses the checksum-pinned `.20` full recipe config as a seed, resolves -it against the new source and checks Apple/Rust/16K/USB4/memory support. This is -not the upstream author's Fedora configuration or hardware result. It disables -eGPU drivers and keeps a separate `7.2.10-elementary-aurora72-wip1` module tree -and `linux-image-elementary-aurora72-wip1` Debian package. It creates no boot -entry and changes no default. The fixed `.20` installer/stager cannot deploy it. - -The 9 production PMP parser tests and 3 reply-correlation tests pass locally. -Native Image/modules/DTB compilation and package inspection run in the existing -Aurora enhancement workflow, alongside the original `.20` source candidate. -The previously built eGPU profile remains available by manual dispatch. -Full build status is recorded in that run; no local 7.2 hardware boot is claimed. -PMP/PMGR/CPU-idle helpers already present in `.20` are not reapplied as patches. -The M3 camera/thermal/SMC patch series belongs to the separate `.20` enhancement -candidate; it is not silently layered onto the unified upstream snapshot. - -Before hardware use, review matching DT/m1n1 and root-unlock/recovery together. -The [64-fix parity inventory](../branch-audits/2026-10-18-review-parity.json) -also identifies shared GPU command-admission and SEP loader/suspend differences -from the reviewed `.20` tree. These require semantic rebases/tests. This lane -remains **build-only** while those gates are open; `.20-enh1` is the first -hardware candidate. Passing compilation is not approval to promote 7.2. -PR #139 is draft, has incomplete gate/soak work, and its contributor M1 Pro -results refer to a J316S and specific earlier tree/config combinations. Shared -display, storage, memory and SEP changes require J314S acceptance. See the -[port plan](../ENERGY-PORT-PLAN-2026-10-18.md) and -[qualification process](../hardware-tests/README.md). The sources retain -upstream licenses and authors; each package includes full corresponding source, -resolved config, build-tool versions and provenance. +The builder uses the checksum-pinned `.20` **full recipe config** as its seed, +resolves it with the pinned 7.2 source and enforces Apple/Rust/16K/USB4/memory +requirements. It is not the contributor's Fedora config. eGPU drivers remain +disabled in this profile. The separate `.20` M3 camera/thermal/SMC series is not +silently layered onto this source. Preparation, build and package inspection +fail on pin/config/identity errors; none installs a package. + +## Hardware and compatibility gates + +This remains **build-only**. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) +records the old `582e9ef3` snapshot; retain it as history. The new focused review +supersedes only its three inspected GPU/SEP gap descriptions, not all 64 semantic +review requirements. Check the intended Mesa/kernel UAPI and actual client +compatibility before hardware promotion. + +Upstream's merged PR reports M1-family Touch ID first-attempt reliability +regressions and an unexplained M1 Pro early hang. Contributor J316S/M1 Pro, +J413/M2 or J700 results do not qualify this J314S or our resolved config. +Never disable xART protections or re-provision identities as part of a routine +kernel update. + +The installed `boot.bin` shares one DTB set across GRUB entries. Upstream notes +that older 7.1 fallback kernels need a compatible five-cell DART backport to use +the newer DTBs. Retaining an old kernel entry alone does not prove recovery. +Review exact DT/m1n1/U-Boot, initramfs/root-unlock and accessible byte-exact +rollback together. Display/GPU/storage/radio/input/thermal/suspend and recovery +acceptance remain separate from compilation and source review. + +## Historical wip1 evidence + +The prior revision pinned draft PR #139 at `582e9ef3d44c93082e8abc740ad3e0a8dde29752` +as `7.2.10-elementary-aurora72-wip1`. Its stock-bindgen policy port and native +build/package inspection passed in [run 39114197052](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39114197052). +Those frozen source/build receipts remain unchanged and are not wip2 results. diff --git a/mseries/aurora/unified72/review-2026-10-21.json b/mseries/aurora/unified72/review-2026-10-21.json new file mode 100644 index 000000000..c93ef4272 --- /dev/null +++ b/mseries/aurora/unified72/review-2026-10-21.json @@ -0,0 +1,88 @@ +{ + "schema": 1, + "reviewed_on": "2026-10-21", + "source": "644133b7799f759c5bfd88507b6246d298b6509c", + "previous_source": "582e9ef3d44c93082e8abc740ad3e0a8dde29752", + "upstream_pr": "https://github.com/omacom/linux-aurora/pull/139", + "upstream_status": "merged", + "archive_verification": { + "sha256": "10cc0be484644e98bf13ef181ddd268e50d4e4da0993e97d8e6b61cb6037e31a", + "bytes": 270217427, + "method": "Entire codeload gzip streamed through SHA256; tar root independently read from gzip stream without full extraction.", + "archive_root": "linux-aurora-644133b7799f759c5bfd88507b6246d298b6509c" + }, + "files": [ + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/drivers/gpu/drm/asahi/queue/mod.rs", + "sha256": "4487dce9dd6062ee80ffcaf0f5cf1d52cf3d247a31f1449247911b09455afcf2" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/drivers/gpu/drm/asahi/util.rs", + "sha256": "fcbbeb3765bc8809809c141cdd7732592136cbeaef6844273ee04a9c3b5b81e6" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/drivers/soc/apple/sep.rs", + "sha256": "d5e207e37b98105b0c287a815b9fe63d521d968687d1c2239a01bfab8c029cc1" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/drivers/soc/apple/sbio.rs", + "sha256": "545d74363f9eb81135d8672eb2e19f7b15349c2415350da69067a5bb2b8fc2c7" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/rust/Makefile", + "sha256": "524384d1130cb0c6422b9237907d81967573c411116f96fbb7a8926ac7bd4083" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/Makefile", + "sha256": "341195c3615673a7c43656a0a779bbd720553a1d05881e90909ff216ae23fee3" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/COPYING", + "sha256": "fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0" + } + ], + "selected_review": { + "gpu_command_admission": "Render and compute use read_supported with supported-size constants; production util validates unsupported fields/tails.", + "sep_loader": "OF table is local with explicit no-autoload policy; no MODULE_OF_TABLE export in inspected file.", + "sep_suspend": "sleep_prepare capture-drain timeout logs and returns unit, continuing suspend instead of vetoing with EBUSY.", + "bindgen": "Stock --no-layout-tests default plus BINDGEN_LAYOUT_TESTS opt-in already present; local wip1 patch retired from active series." + }, + "host_tests": { + "rustc": "1.93.1", + "gpu_reader": { + "passed": 5, + "failed": 0, + "boundary": "Unmodified util.rs tests, Result/EINVAL-only kernel type shim; not whole GPU driver execution." + }, + "pmp_bootargs": { + "passed": 9, + "failed": 0 + }, + "pmp_reply_correlation": { + "passed": 3, + "failed": 0 + }, + "pmp_boundary": "Unmodified tools/asahi wrappers and matching production module source at pinned commit." + }, + "licensing": "COPYING: GPL-2.0 WITH Linux-syscall-note; retain full source LICENSES and individual file licensing/attribution in generated artifacts. No upstream contribution authorship claimed.", + "native_build": "pending ARM64 CI; no local full build due free disk budget", + "qualification": { + "full_64_fix_semantic_parity": false, + "j314s_boot": false, + "suspend_recovery": false, + "energy_improvement": false + }, + "remaining_gates": [ + "Full review parity against .20 beyond selected source paths.", + "Source/config resolution and native Image/modules/DTBs/package build and inspection.", + "GPU UAPI compatibility with actual intended Mesa and clients.", + "Shared boot.bin DTBs: 7.1 fallback needs compatible 5-cell DART backport; an entry alone does not prove fallback boot.", + "Upstream reports M1-family Touch ID first-attempt reliability regression and an M1 Pro early hang; local J314S acceptance required.", + "Exact boot payload, initramfs/root unlock, image/modules/DTBs, storage/display/radio/suspend and recovery qualification before any stable promotion." + ], + "repository_tests": { + "command": "python3 -m unittest discover -s mseries/aurora -p 'test_*.py' -q", + "passed": 63, + "failed": 0 + } +} diff --git a/mseries/aurora/unified72/series.json b/mseries/aurora/unified72/series.json index 9dd280cdd..9682a94df 100644 --- a/mseries/aurora/unified72/series.json +++ b/mseries/aurora/unified72/series.json @@ -1,31 +1,22 @@ { "schema": 1, "base_source": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", - "revision": 2, + "revision": 3, "source": { "repository": "aurora-silicon/linux", - "commit": "582e9ef3d44c93082e8abc740ad3e0a8dde29752", + "commit": "644133b7799f759c5bfd88507b6246d298b6509c", "upstream_pr": "https://github.com/omacom/linux-aurora/pull/139", - "name": "linux-aurora-582e9ef3d44c93082e8abc740ad3e0a8dde29752.tar.gz", - "url": "https://codeload.github.com/omacom/linux-aurora/tar.gz/582e9ef3d44c93082e8abc740ad3e0a8dde29752", - "archive_root": "linux-aurora-582e9ef3d44c93082e8abc740ad3e0a8dde29752", - "sha256": "47597a08b0d13cbace050ac16e0b5ad4b91fe3f0d307041bf7b6cec803b057fd" + "name": "linux-aurora-644133b7799f759c5bfd88507b6246d298b6509c.tar.gz", + "url": "https://codeload.github.com/omacom/linux-aurora/tar.gz/644133b7799f759c5bfd88507b6246d298b6509c", + "archive_root": "linux-aurora-644133b7799f759c5bfd88507b6246d298b6509c", + "sha256": "10cc0be484644e98bf13ef181ddd268e50d4e4da0993e97d8e6b61cb6037e31a" }, "kernel_release": { - "unified72": "7.2.10-elementary-aurora72-wip1" + "unified72": "7.2.10-elementary-aurora72-wip2" }, - "debian_package": "linux-image-elementary-aurora72-wip1", - "debian_version": "7.2.10+elementary.aurora72.wip1-1", - "patches": [ - { - "file": "0001-stock-bindgen-layout-policy.patch", - "sha256": "bba23efd3298c7f4fba31bde6a7a798b73fcbce7d07cb87683422d429615dedd", - "upstream": "https://github.com/omacom/linux-aurora/commit/4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7", - "head": "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7", - "profile": "candidate", - "note": "Unmodified authored review fix from .20; applies cleanly to 7.2.10; stock bindgen default, opt-in layout checker retained" - } - ], + "debian_package": "linux-image-elementary-aurora72-wip2", + "debian_version": "7.2.10+elementary.aurora72.wip2-1", + "patches": [], "config": { "candidate": { "UDMABUF": "y", @@ -37,5 +28,16 @@ "tools/asahi/pmp-bootargs-tests.rs", "tools/asahi/pmp-power-tests.rs" ], - "qualification": "Pinned draft PR snapshot. Build candidate only; no local boot or battery improvement. Seed config is the fixed .20 recipe, resolved against 7.2.10; it is not upstream's Fedora-config hardware result." + "qualification": "Merged PR #139 source pinned as a new build-only candidate. Local source review and selected host tests do not establish complete 64-fix parity, native build success or J314S boot/power/recovery acceptance. Preserve shared-DTB fallback compatibility and review upstream M1-family Touch ID regression before hardware use.", + "superseded_patches": [ + { + "file": "0001-stock-bindgen-layout-policy.patch", + "sha256": "bba23efd3298c7f4fba31bde6a7a798b73fcbce7d07cb87683422d429615dedd", + "upstream": "https://github.com/omacom/linux-aurora/commit/4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7", + "head": "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7", + "profile": "candidate", + "note": "Historical local port for wip1; corresponding stock-bindgen default and BINDGEN_LAYOUT_TESTS opt-in are now carried in merged upstream source. Retained for provenance; not applied to wip2." + } + ], + "review_receipt": "review-2026-10-21.json" } From ed08d502d294f6fa8c9160852e91f6f2ff5c802e Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 08:39:58 -0400 Subject: [PATCH 2/7] Record Aurora 7.2 native build and independent artifact audit --- mseries/OS9-HANDOFF.md | 14 +- mseries/ROADMAP.md | 8 +- mseries/aurora/test_qualification.py | 11 +- mseries/aurora/unified72/README.md | 37 +- .../unified72/native-build-2026-10-21.json | 107 ++ .../aurora/unified72/review-2026-10-21.json | 104 +- ...review-patch-applicability-2026-10-21.json | 1469 +++++++++++++++++ 7 files changed, 1732 insertions(+), 18 deletions(-) create mode 100644 mseries/aurora/unified72/native-build-2026-10-21.json create mode 100644 mseries/aurora/unified72/review-patch-applicability-2026-10-21.json diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 4c403f494..9e82384ea 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -8,10 +8,18 @@ now pins merged #139 `644133b7799f` with streamed archive SHA256 and new distinc stock-bindgen patch is removed from the active series and retained as historical provenance. Five GPU-reader and 12 PMP host tests pass on the selected source; three old GPU/SEP source gaps are addressed, not all 64 semantic review gates. -Native ARM64 config/build/package inspection is pending. No host installation or -boot payload change. Shared-DTB/old-7.1 fallback, actual Mesa/UAPI, upstream M1 +Native ARM64 config/Image/modules/DTBs/package inspection and upload passed +[run 39595756051](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051) +at `b213999`; the `.20` control passed too. Independent ZIP/checksum/full-source +digest/package/J314S-DTB audit passed; +[receipt](aurora/unified72/native-build-2026-10-21.json). Later audit/test/docs +edits preserve the recorded build input hashes. No host installation or boot +payload change. Shared-DTB/old-7.1 fallback, actual Mesa/UAPI, upstream M1 Touch ID regressions and J314S boot/suspend/recovery remain gates. See -[the current lane and receipt](aurora/unified72/README.md). +[the current lane and receipt](aurora/unified72/README.md). The refreshed +64-patch comparison is 0 forward / 40 reverse / 24 neither: mechanical checks, +not full semantic parity. The paused kernel task now resumes active PR/CI and +requires archive, carried-patch and artifact evidence before success claims. ## Rupert on SER8: updated to main, auto-deployer installed — 2026-10-20 diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index c53088397..0faf74349 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -4,9 +4,11 @@ Owner selected merged #139 as the next independent build candidate. unified72 revision 3 pins `644133b7799f`, new wip2 module/package identity and no duplicate -bindgen patch. Selected GPU-reader/PMP host tests pass; native build/inspection -is pending. Next: artifact-only ARM64 CI, then source/config/UAPI and exact -boot-chain/fallback/J314S acceptance review. No live deployment or power win. +bindgen patch. Selected GPU-reader/PMP host tests and native ARM64 build/inspection +pass [run 39595756051](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051), +with independent complete-source/checksum/package/DTB audit. Next: finish +semantic parity and actual Mesa/UAPI plus exact boot-chain/fallback/J314S +acceptance review. No live deployment or power win. See [the lane's source review and limits](aurora/unified72/README.md). ## Native Messages experience landed — 2026-10-20 diff --git a/mseries/aurora/test_qualification.py b/mseries/aurora/test_qualification.py index dd079f632..4a09a8e5e 100644 --- a/mseries/aurora/test_qualification.py +++ b/mseries/aurora/test_qualification.py @@ -226,12 +226,21 @@ def test_unified72_snapshot_has_separate_identity_and_no_moving_branch_url(self) self.assertEqual(data["patches"], []) self.assertEqual(data["superseded_patches"][0]["head"], "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7") + retired = data["superseded_patches"][0] + lane = candidate.HERE / "unified72" + self.assertEqual(candidate.sha256(lane / "patches" / retired["file"]), + retired["sha256"]) self.assertEqual(data["kernel_release"]["unified72"], "7.2.10-elementary-aurora72-wip2") self.assertEqual(data["debian_package"], "linux-image-elementary-aurora72-wip2") - receipt = json.loads((candidate.HERE / "unified72" / data["review_receipt"]).read_text()) + receipt = json.loads((lane / data["review_receipt"]).read_text()) self.assertEqual(receipt["source"], data["source"]["commit"]) self.assertEqual(receipt["archive_verification"]["sha256"], data["source"]["sha256"]) + self.assertEqual(receipt["archive_verification"]["archive_root"], + data["source"]["archive_root"]) + comparison = json.loads((lane / receipt["patch_applicability"]["receipt"]).read_text()) + self.assertEqual(comparison["source"], data["source"]["commit"]) + self.assertEqual(comparison["counts"], receipt["patch_applicability"]["counts"]) self.assertEqual(candidate.settings(data, "unified72")["DRM_AMDGPU"], "n") diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index 910a17857..9d55b7e75 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -29,13 +29,38 @@ stop timeout continues suspend. Five original GPU-reader host tests and the nine PMP argument-parser plus three PMP reply-correlation tests pass at this source. These are bounded host controls, not a GPU/kernel boot or complete 64-fix audit. The previous GPU util file had seven tests; the merged file has five, so no -identical test-count/coverage claim is made. +identical test-count/coverage claim is made. The two omitted cases test +`read_up_to` stride consumption and zero extension; that implementation differs +from `.20` only in a local variable name and formatting. -Native source/config/Image/modules/DTBs/package inspection for this revision is -pending the existing Aurora enhancement CI. Earlier wip1 build receipts do not -qualify wip2. Full source/config/toolchain provenance and LICENSES travel with -its generated artifacts. No local 7.2 boot, power saving or hardware acceptance -is claimed. +The [refreshed 64-patch comparison](review-patch-applicability-2026-10-21.json) +checks the affected immutable files at the new source: zero patches apply +forward, 40 reverse-apply, and 24 apply in neither direction. These independent +checks locate follow-up work; they do not qualify 40 fixes or prove that the +other 24 are absent. No patch was adopted from these checks. Selected source +inspection also finds the `user4k=on` opt-in, privileged-exec page-size reset and +perf AUX speculation bound retained. Their runtime tests were not run here. + +The Asahi UAPI header differs from `.20` in two comments, with declarations +unchanged after comment/whitespace removal. Installed Mesa packages were +`26.0.8-1ubuntu0.3` at observation. Header similarity does not qualify driver +behavior or actual clients on 7.2; that compatibility gate remains open. + +Native source/config/Image/modules/DTBs/package build, inspection and artifact +upload passed in [run 39595756051](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051) +at repository commit `b21399953faa576b17f3121087742fb597c872a5`. The unchanged +`.20` control build passed too. [Independent artifact audit](native-build-2026-10-21.json) +verified GitHub's ZIP digest, every `SHA256SUMS` entry, the full archived prepared +source-tree digest, package boundaries and the J314S DTB. Full corresponding +source, resolved config, toolchain provenance and LICENSES are included. Actions +retention is seven days; the saved receipt includes its expiry and exact digests. + +The old recipe seed emits one `NETFILTER_NETLINK=m` warning; `olddefconfig` +resolves it to `y`, with `NF_TABLES=m` and `NFT_COMPAT=m` retained. This is not a +warning-free build claim. Subsequent review/test/documentation changes preserve +the recorded builder/manifest/workflow hashes; artifact-embedded documentation +remains the snapshot at the tested commit. Earlier wip1 receipts are separate. +No local 7.2 boot, power saving or hardware acceptance is claimed. ## Reproduce in an isolated builder diff --git a/mseries/aurora/unified72/native-build-2026-10-21.json b/mseries/aurora/unified72/native-build-2026-10-21.json new file mode 100644 index 000000000..7e5bfda26 --- /dev/null +++ b/mseries/aurora/unified72/native-build-2026-10-21.json @@ -0,0 +1,107 @@ +{ + "schema": 1, + "kind": "native-arm64-build-artifact-audit", + "audited_at": "2026-10-21T12:39:09.753782+00:00", + "tested_repository_commit": "b21399953faa576b17f3121087742fb597c872a5", + "artifact_id": 12344789576, + "artifact_name": "elementary-aurora-enhancements-unified72-39595756051", + "artifact_zip_sha256": "f0be95387d5275fcc89d7902ae3b66a01ae28d39f9ac9ba635524ae8507edee2", + "github_artifact_digest_matched": true, + "ci_run": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051", + "artifact_url": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051/artifacts/12344789576", + "checksums_verified": { + "build.config": "005829aa9a52d1640e2bf82ed6c0eddd2ce2e4a78086397684452e4d50ad0c1a", + "linux-7.2.10-elementary-aurora72-wip2-source.tar.gz": "51ec735b5c80b066d48c23855366eadfb2264e81b9a0689d555d46f4838e0348", + "linux-image-elementary-aurora72-wip2_7.2.10+elementary.aurora72.wip2-1_arm64.deb": "f4297f70a266bf81bc8c4c25163548c62a051ef8759790c7a2db5b5b74104ef7", + "provenance.json": "c9250d7d95159a7a5d9664a00a182948ec19ccab662362850b37077cbdb79b70" + }, + "prepared_source_tree_reconstructed_from_archive": "344d748b7e4f16aa7fc85576e7a73b0b3e3c588d993adaabd77afd93feef3313", + "source_archive_regular_files": 95945, + "source_archive_symlinks": 110, + "package": { + "control": "Package: linux-image-elementary-aurora72-wip2\nVersion: 7.2.10+elementary.aurora72.wip2-1\nArchitecture: arm64\nMaintainer: ElementaryOS MSeries contributors \nInstalled-Size: 154616\nSection: kernel\nPriority: optional\nDepends: kmod\nDescription: Experimental Aurora enhancement kernel payload\n Distinct modules directory, no boot hooks; requires explicit boot-chain staging.\n", + "control_files": [ + "control" + ], + "module_files": 1876, + "apple_dtbs": 115, + "image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954" + }, + "provenance": { + "profile": "unified72", + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "base_pins": { + "repository": "omacom/linux-aurora", + "release": "aurora-2026.10.17.20", + "kernel_source": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", + "kernel_release": "7.1.12-2-20261017.20-sep-ARCH", + "debian_package": "linux-image-elementary-aurora20", + "debian_version": "7.1.12+aurora.20261017.20-1", + "recipe_config_sha256": "c811698c5242d42850bef6669f29cd7b485e997d3ac1a423e2d3cbbb3fdc19b8", + "m1n1_source": "https://github.com/omacom/m1n1/tree/d05ba17dfb771871d608225be42968bbb1e75a18", + "assets": { + "kernel": { + "name": "linux-aurora-7.1.12.aurora2-20261017.20-aarch64.pkg.tar.zst", + "sha256": "49efa0ec088059aaae6c1fc7fef49521171abbab2c21a3d62bf670148dc0c7d8" + }, + "recipe": { + "name": "linux-aurora-recipe-20261017.20.tar.gz", + "sha256": "6e5ff423f0ef07d6e478c39c8c9c0739a2cc12050afa8c9f90ec49e5bd0ddcc3" + }, + "source": { + "name": "aurora-linux-c46d7dcdb8712ea9aeb0ce47b439ffae76371e55.tar.gz", + "sha256": "493ed9fb4a9e245fd59a92a2396d3c968516be932749b8059757a29380652509" + }, + "m1n1": { + "name": "m1n1-aurora-1.6.1.aurora17-5-aarch64.pkg.tar.zst", + "sha256": "fd72ec6c7ff514a2fb17141ccd8ff94268e4412fc5660fb0db62564a036e30ca" + }, + "m1n1_source": { + "name": "m1n1-d05ba17dfb771871d608225be42968bbb1e75a18.tar.gz", + "url": "https://codeload.github.com/omacom/m1n1/tar.gz/d05ba17dfb771871d608225be42968bbb1e75a18", + "sha256": "45ecb3c3efa13409b148c1b76397ec0c5cb747d3fc5f049455601b4c65295fe8" + }, + "touchid": { + "name": "aurora-touchid-20261003-2-any.pkg.tar.zst", + "sha256": "84243a96fcabed344460c1dc67309730f03de34b9f1955faccbedc10c619c7c4" + }, + "libfprint": { + "name": "libfprint-1.94.100-1.1-aarch64.pkg.tar.zst", + "sha256": "bc7d9762db6644f2cfb58ddb209602c1d513845eb1498c098e01f12600fcbdf9" + } + } + }, + "series_sha256": "1abdc9dd15f4977c6a5828b2f6a38d474c5cf7d620b155ee15b3fc9ab28c844c", + "patches": [], + "source_pin": { + "repository": "aurora-silicon/linux", + "commit": "644133b7799f759c5bfd88507b6246d298b6509c", + "upstream_pr": "https://github.com/omacom/linux-aurora/pull/139", + "name": "linux-aurora-644133b7799f759c5bfd88507b6246d298b6509c.tar.gz", + "url": "https://codeload.github.com/omacom/linux-aurora/tar.gz/644133b7799f759c5bfd88507b6246d298b6509c", + "archive_root": "linux-aurora-644133b7799f759c5bfd88507b6246d298b6509c", + "sha256": "10cc0be484644e98bf13ef181ddd268e50d4e4da0993e97d8e6b61cb6037e31a" + }, + "source_tree_sha256": "344d748b7e4f16aa7fc85576e7a73b0b3e3c588d993adaabd77afd93feef3313", + "modified_files": { + "localversion.elementary": "509b35e2b95b369130b7a8d1823a39ad6101540807a6578c09a8221b4d0e219a", + "rust-toolchain.toml": "2a95563bb9f5b216cc3c170a17e9471448bc63a7084bdd67df23d074939b366c" + }, + "prepared_config_sha256": "20efc4af999b142e5cac358b9567a00a24bf3b687b30d47cadccc194c888126d", + "status": "ARM64 Image/modules/DTBs built; no hardware boot", + "package": "linux-image-elementary-aurora72-wip2_7.2.10+elementary.aurora72.wip2-1_arm64.deb", + "package_sha256": "f4297f70a266bf81bc8c4c25163548c62a051ef8759790c7a2db5b5b74104ef7", + "source_sha256": "51ec735b5c80b066d48c23855366eadfb2264e81b9a0689d555d46f4838e0348", + "resolved_config_sha256": "005829aa9a52d1640e2bf82ed6c0eddd2ce2e4a78086397684452e4d50ad0c1a", + "rustc": "rustc 1.93.1 (01f6ddf75 2026-02-11)", + "clang": "Ubuntu clang version 22.1.2 (1ubuntu1)", + "package_compression": { + "format": "zstd", + "level": 3, + "max_threads": 4 + } + }, + "result": "pass", + "limits": "Artifact integrity, source/config binding and package/DTB inspection only; no install, boot, hardware, full review parity, suspend/recovery or power qualification.", + "ci_artifact_expires_at": "2026-10-28T12:37:36Z" +} diff --git a/mseries/aurora/unified72/review-2026-10-21.json b/mseries/aurora/unified72/review-2026-10-21.json index c93ef4272..28a2ee047 100644 --- a/mseries/aurora/unified72/review-2026-10-21.json +++ b/mseries/aurora/unified72/review-2026-10-21.json @@ -39,20 +39,54 @@ { "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/COPYING", "sha256": "fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/drivers/soc/apple/pm.rs", + "sha256": "bd0358ee7db06ed59d2867b760270b2c441305ffa667d295b3de0b2f38f08b72" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/arch/arm64/mm/context.c", + "sha256": "29d16b5a18c611a2325f1d74d590478aa6ea8a7548570ca5d3d29d5945743d9c" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/arch/arm64/include/asm/mmu.h", + "sha256": "5c587d44cc5f6fa52aa754805d1db7ba57c336e47fcf8a8f80a6c8053d7ea6de" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/arch/arm64/include/asm/mmu_context.h", + "sha256": "a2c38c7ddbffb325e27e60d34f38df0877968e1bc2c524e5cf4237d7d28ecff1" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/arch/arm64/kernel/process.c", + "sha256": "d7c8231005296ae780a89dc2ced5439317faa36cacbe84825b405b64c928ad09" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/fs/exec.c", + "sha256": "72dcf0f816519dd94935846c2756d9b9cfaa500ac3d9b6a6a84ee81bcb890ef6" + }, + { + "url": "https://github.com/aurora-silicon/linux/blob/644133b7799f759c5bfd88507b6246d298b6509c/kernel/events/core.c", + "sha256": "5d415fc3c5a05060577b88a7612cc1c7401b5ecdf94039bbae6d9b92b9a7a5f7" } ], "selected_review": { "gpu_command_admission": "Render and compute use read_supported with supported-size constants; production util validates unsupported fields/tails.", "sep_loader": "OF table is local with explicit no-autoload policy; no MODULE_OF_TABLE export in inspected file.", "sep_suspend": "sleep_prepare capture-drain timeout logs and returns unit, continuing suspend instead of vetoing with EBUSY.", - "bindgen": "Stock --no-layout-tests default plus BINDGEN_LAYOUT_TESTS opt-in already present; local wip1 patch retired from active series." + "bindgen": "Stock --no-layout-tests default plus BINDGEN_LAYOUT_TESTS opt-in already present; local wip1 patch retired from active series.", + "sep_suspend_consumer": "pm.rs holds capture/entropy with unit-returning SleepHolds callbacks and a unit-returning notifier; sbio.rs timeout is not propagated as a suspend veto. Source review only.", + "user4k_boot_opt_in": "context.c initializes arm64_user4k_on false and parses early user4k=. mmu.h, mmu_context.h and process.c consult user4k_enabled for request and exec geometry. Source checks show boot opt-in retained; no KUnit/QEMU/native 4K runtime test performed.", + "privileged_exec_page_preference": "fs/exec.c uses PER_CLEAR_ON_SETID or secureexec to restage privileged exec page size before the point of no return and clear exec/default preferences afterward. Inspected source; privilege-transition fixtures not run.", + "perf_aux_speculation_bound": "kernel/events/core.c retains array_index_nospec(pagenum, rb->aux_nr_pages) before indexing AUX pages in map_range. Source review only; no generated-code or speculation test." }, "host_tests": { "rustc": "1.93.1", "gpu_reader": { "passed": 5, "failed": 0, - "boundary": "Unmodified util.rs tests, Result/EINVAL-only kernel type shim; not whole GPU driver execution." + "boundary": "Unmodified util.rs tests, Result/EINVAL-only kernel type shim; not whole GPU driver execution.", + "production_sha256": "fcbbeb3765bc8809809c141cdd7732592136cbeaef6844273ee04a9c3b5b81e6", + "test_count_review": "The two tests absent from the new upstream module cover read_up_to stride consumption and zero extension. Comparing .20 and new read_up_to shows only a local copy_size-to-size identifier/formatting change; their omission is still not equivalent coverage." }, "pmp_bootargs": { "passed": 9, @@ -62,10 +96,25 @@ "passed": 3, "failed": 0 }, - "pmp_boundary": "Unmodified tools/asahi wrappers and matching production module source at pinned commit." + "pmp_boundary": "Unmodified tools/asahi wrappers and matching production module source at pinned commit.", + "files_sha256": { + "drivers/gpu/drm/asahi/util.rs": "fcbbeb3765bc8809809c141cdd7732592136cbeaef6844273ee04a9c3b5b81e6", + "drivers/soc/apple/pmp_bootargs.rs": "2619b9043e6eaee99ac978211af493972db7e3077d3e216075e45e33572a0d0c", + "drivers/soc/apple/pmp_power.rs": "16a71405a2927c99c3e797495b02dc5df551544149ff378af9c9e12e07404b2e", + "tools/asahi/pmp-bootargs-tests.rs": "9785679096b4df850e79842bf5e5d21392860fe3133c1d2b95bb346fc3bae301", + "tools/asahi/pmp-power-tests.rs": "c787c46aa118118b9f2616541d26ed826faf5e010729bb9323a40ae9aa7b96b1" + } }, "licensing": "COPYING: GPL-2.0 WITH Linux-syscall-note; retain full source LICENSES and individual file licensing/attribution in generated artifacts. No upstream contribution authorship claimed.", - "native_build": "pending ARM64 CI; no local full build due free disk budget", + "native_build": { + "result": "pass", + "ci_run": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051", + "tested_repository_commit": "b21399953faa576b17f3121087742fb597c872a5", + "artifact_id": 12344789576, + "artifact_zip_sha256": "f0be95387d5275fcc89d7902ae3b66a01ae28d39f9ac9ba635524ae8507edee2", + "receipt": "native-build-2026-10-21.json", + "audit": "CI config/Image/modules/DTBs/package/inspection/upload succeeded. Independent local ZIP digest and all SHA256SUMS passed; full archived prepared-source tree reconstructed and matched. Package control/payload boundaries and J314S DTB inspected. No installation or boot." + }, "qualification": { "full_64_fix_semantic_parity": false, "j314s_boot": false, @@ -74,7 +123,6 @@ }, "remaining_gates": [ "Full review parity against .20 beyond selected source paths.", - "Source/config resolution and native Image/modules/DTBs/package build and inspection.", "GPU UAPI compatibility with actual intended Mesa and clients.", "Shared boot.bin DTBs: 7.1 fallback needs compatible 5-cell DART backport; an entry alone does not prove fallback boot.", "Upstream reports M1-family Touch ID first-attempt reliability regression and an M1 Pro early hang; local J314S acceptance required.", @@ -84,5 +132,51 @@ "command": "python3 -m unittest discover -s mseries/aurora -p 'test_*.py' -q", "passed": 63, "failed": 0 + }, + "patch_applicability": { + "receipt": "review-patch-applicability-2026-10-21.json", + "counts": { + "patches": 64, + "forward_applies": 0, + "reverse_applies": 40, + "neither_applies": 24, + "source_files": 101, + "missing_at_new_source": 4 + }, + "meaning": "40 independent reverse checks pass; 24 neither direction. None forward-applies cleanly. These are mechanical checks, not 40 semantically qualified fixes or evidence that the other 24 are absent. Full review parity remains open." + }, + "uapi_header_comparison": { + "source": "644133b7799f759c5bfd88507b6246d298b6509c", + "baseline": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", + "path": "include/uapi/drm/asahi_drm.h", + "old_sha256": "2698ae2b447945202ed45bcdb93ea34db3782e191473da045e63a5524550b4ef", + "new_sha256": "0bed9d45468035f76d5d9d58330664a2685c9c9378e93f1a72f48f9f881a7ccc", + "declarations_equal_after_comment_whitespace_removal": true, + "observed_mesa_packages": { + "libegl-mesa0": "26.0.8-1ubuntu0.3", + "libgl1-mesa-dri": "26.0.8-1ubuntu0.3", + "mesa-vulkan-drivers": "26.0.8-1ubuntu0.3" + }, + "limits": "Read-only header comparison and installed package metadata. Header changes are two documentation comments, including an M3/T6030 capability restriction. This does not establish command-handler behavior, actual client/runtime compatibility or hardware acceptance." + }, + "tested_build_inputs": { + "repository_commit": "b21399953faa576b17f3121087742fb597c872a5", + "sha256": { + "mseries/aurora/candidate.py": "99ec56366026178d046d1853b7dadb1f30ba9ce81aac8fb821c4a456265a1782", + "mseries/aurora/release.py": "5cda57378d7ef61ab2d66e8ed3d85d5238cdbc297d176a50209edb23bfc0f598", + "mseries/aurora/release.json": "9a4649738b724d01bfdfc4c27b074d702a9164bd0a6be762f465d34207c0b71f", + "mseries/aurora/unified72/series.json": "1abdc9dd15f4977c6a5828b2f6a38d474c5cf7d620b155ee15b3fc9ab28c844c", + ".github/workflows/aurora-enhancements.yml": "d3e79f8375122fdcbe82594dbcc7c9e3ce696a6d606c412d8306bcee4cee0644" + }, + "boundary": "Subsequent audit/test/documentation edits do not change these builder, manifest or workflow inputs. Artifact-embedded documentation remains the snapshot at the tested commit." + }, + "config_resolution_warning": { + "message": "seed .config:1221: symbol value 'm' invalid for NETFILTER_NETLINK", + "resolved": { + "NETFILTER_NETLINK": "y", + "NF_TABLES": "m", + "NFT_COMPAT": "m" + }, + "result": "olddefconfig resolved the new-source config and the native build passed; not a warning-free build claim." } } diff --git a/mseries/aurora/unified72/review-patch-applicability-2026-10-21.json b/mseries/aurora/unified72/review-patch-applicability-2026-10-21.json new file mode 100644 index 000000000..aa096d73d --- /dev/null +++ b/mseries/aurora/unified72/review-patch-applicability-2026-10-21.json @@ -0,0 +1,1469 @@ +{ + "schema": 1, + "kind": "independent-patch-applicability", + "captured_at": "2026-10-21T12:15:54.642548+00:00", + "source": "644133b7799f759c5bfd88507b6246d298b6509c", + "review_baseline": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", + "previous_unified72_source": "582e9ef3d44c93082e8abc740ad3e0a8dde29752", + "counts": { + "patches": 64, + "forward_applies": 0, + "reverse_applies": 40, + "neither_applies": 24, + "source_files": 101, + "missing_at_new_source": 4 + }, + "source_file_sha256": { + "Documentation/PCI/controller/apple-t8140.rst": "257d5cca4179c2a9ea739d47fe722c35e4de0ef18f43d730bc04f61e4d04e021", + "Documentation/admin-guide/kernel-parameters.txt": "3475a2336be2d6207564b7ca709f48a53f315efc8e300487e12ba0adc374fffb", + "Documentation/admin-guide/media/apple-ave.rst": null, + "Documentation/arch/arm64/apple-j813.rst": "c08045c1f5d5492038300901510f5def299ae6004c7d80e0ae3ef319cb29a513", + "Documentation/arch/arm64/apple-m6-cpu.rst": "56cb2d7bf710dfc1bb784df7b2411ccb1826316562358f50d4b5862f1f3c2e44", + "Documentation/arch/arm64/apple-t8140-pmp-dvfs.rst": null, + "Documentation/arch/arm64/index.rst": "80cbcd1ef686f661fa4982e8e526129bd5b48809b83d4f16430c91fcc1ee0f6e", + "Documentation/arch/arm64/user4k.rst": "121d505b6d33ff3f1b14172a26904d893fe6ddaf6cc54d0db5001c7e656fbde6", + "Documentation/devicetree/bindings/power/apple,t8140-pmp-report.yaml": "c6d8efca9cf55993c598781a7a9435412c8ddb0d14578d73ce2d7dc1019b9e1c", + "Documentation/gpu/apple-dcp-backlight.rst": "fa0e7617c40f90d871f89fcf92d340d85de899d6305b38e6bf7496d5f044a6c0", + "Documentation/gpu/drivers.rst": "b5ea0632c13cbf1d2d132d59071f02855bdd714abb2cf4d844eb0c84ee06914e", + "Documentation/mm/user_page_size.rst": "097bbc0bd9bccd88084c3473baace6e13549e9ae23e03eed0aa89a33a704653c", + "Documentation/rust/bindgen-layout-checks.rst": "221d9968188173653e70e1199c483e76407b7c467b3419dd13a9568488ea84c3", + "Documentation/soc/apple/t8140-pmp-dvfs.rst": null, + "MAINTAINERS": "4bd1cf05be4a129bad953fcf3a29db068bd619bce9be6f6475b6cb3a38f8bd91", + "arch/arm64/Kconfig.debug": "e35669f5b0b3df27483ac4943dff1429fce755c44df8bdda8b7d4b360969d678", + "arch/arm64/boot/dts/apple/t8140.dtsi": "c7f86b87f781ee9eeb80bfdfb5903865761334765312a1ecf65ea960e97a409a", + "arch/arm64/include/asm/mmu.h": "5c587d44cc5f6fa52aa754805d1db7ba57c336e47fcf8a8f80a6c8053d7ea6de", + "arch/arm64/include/asm/mmu_context.h": "a2c38c7ddbffb325e27e60d34f38df0877968e1bc2c524e5cf4237d7d28ecff1", + "arch/arm64/kernel/cpufeature.c": "1e46a8c3235611f235a12a98c6182edfa148d067e1f59b038ecfc8d2020d3861", + "arch/arm64/kernel/process.c": "d7c8231005296ae780a89dc2ced5439317faa36cacbe84825b405b64c928ad09", + "arch/arm64/mm/context.c": "29d16b5a18c611a2325f1d74d590478aa6ea8a7548570ca5d3d29d5945743d9c", + "arch/arm64/mm/user4k-test.c": "5e3abf3ef22ea47566fba3722b0a16be0eb6fed0712443feecc821d452b1ec39", + "block/blk-map.c": "b812c14bd4ea15b46569a33b4da3101006c8c6bd0595fc24ef720372ec5cbc7c", + "drivers/gpu/drm/Makefile": "aa1097d094602582c1408436c56fd6c8862d443d610d6626c37c0aba72710e79", + "drivers/gpu/drm/apple/Kconfig": "aab0e280af9df4d64ad9b8e51ce04e9e36a034ed48cc730add40d7e28164cf36", + "drivers/gpu/drm/apple/Makefile": "0d1aac886444568e6f283d1668e8d007af01017e09d5e93d6a9836f5c8ad8d6a", + "drivers/gpu/drm/apple/dcp-fabric-test.c": "3a15dcee84f35e8946e9495c3292fd398a5ca5cf7f67949a0087f00133f31587", + "drivers/gpu/drm/apple/dcp-fabric.c": "e067271dd2018f88eb74e3e122a36b29316f96b676f6fdb48612bc8021a94b36", + "drivers/gpu/drm/apple/dcp-internal.h": "58ce3683712b7790debc002501772d6b79ab6fc15098a157f609cbcba445d77b", + "drivers/gpu/drm/apple/dcp-relink.h": "4cc43a69deb661461be47ac2f1f5287fd30d698e58b81cb1a937bdf82acae252", + "drivers/gpu/drm/apple/dcp.c": "fc37f11a3c06dc389b272816773d9c11618e5def145f2788c419341c78402d11", + "drivers/gpu/drm/apple/dptxep.c": "5d855e76f1136579f74e8fe7bcb5fb701f4a7496b2c75253514ce20c7aafce67", + "drivers/gpu/drm/apple/parser-test.c": "6842aca65f22b892aae6ef55251a6db630a7292227ed4425565612c4b0092a28", + "drivers/gpu/drm/asahi/mem.rs": "f5099153964db1d4fd5c608ad5b765f3238897bf428be1d2d5041de91a382d8a", + "drivers/gpu/drm/asahi/queue/mod.rs": "4487dce9dd6062ee80ffcaf0f5cf1d52cf3d247a31f1449247911b09455afcf2", + "drivers/gpu/drm/asahi/util.rs": "fcbbeb3765bc8809809c141cdd7732592136cbeaef6844273ee04a9c3b5b81e6", + "drivers/gpu/drm/drm_gem_shmem_helper.c": "95ddb5c8610cfba4827835781caba36a419d9758e4f88f296618a840b1a14589", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c": "62dd4ec0ea2ea4ec291a834b28a2f00f092962070d7401887c747f9940ef7a15", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c": "d560f3173b0f6aa0cffa785f66dca4727e830817099564d2fb15494ed9f905d6", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h": "e4dbb3d8c661b94387b27b6c610a4ad42c41e8bba3d6e293f127cb9db09fefb3", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c": "7b25a18d8a40e41657235be54b0e680b4b04a948ead9ad6e540d2001015e6482", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c": "ff2682518d106dcdd501abb73af919da0481e00e6eced0102fb238540c99aa23", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c": "322ed47d2c0caebb6d92524f905627f0db567985ba844ce6229da15cf85e6bf9", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.h": "b8179845b48e4983d88874ff8cae9212783e02c266dee686bdfe8102e88df34f", + "drivers/pmdomain/apple/pmp-report.c": "aaa787641f17e46c6faafa61bdda442a2bf8b8ccf2995c5a233568cba196adf9", + "drivers/soc/apple/pm.rs": "bd0358ee7db06ed59d2867b760270b2c441305ffa667d295b3de0b2f38f08b72", + "drivers/soc/apple/pm_shim.c": "98d2321963c924f8e99e257e61eda06252d81dec6425547d95ac55acb7218402", + "drivers/soc/apple/sbio.rs": "545d74363f9eb81135d8672eb2e19f7b15349c2415350da69067a5bb2b8fc2c7", + "drivers/soc/apple/sep.rs": "d5e207e37b98105b0c287a815b9fe63d521d968687d1c2239a01bfab8c029cc1", + "drivers/soc/apple/shim.h": "c063758c7f773a213b0f300ae286a0fb8db40c2756bd07206dcd0893a8e884ce", + "drivers/soc/apple/store.rs": "e51531276a051fb3557b3440feb76b63cd05e1673af652d419b7251d98a64f90", + "drivers/spi/Kconfig": "3752a284faffe4778da8f5bed6a75198372275d9092a44ddf2e9502858834bae", + "drivers/spi/Makefile": "47b8ec942805e1ab9373b5c052e7115a026a6b7fc2528ad34353632fdd50a7ba", + "drivers/spi/spi-apple-qspi-policy-test.c": "e64a61e399b6570bac2bf8f14fd4b3ec31244b73ce6fbe3b27caf7d9da2b5c5c", + "drivers/spi/spi-apple-qspi-policy.h": "c1f4ae487ff2e2363469b018a76b4516fb534043b051512277f7a645a7377062", + "drivers/spi/spi-apple-qspi.c": "8de36648e6dd085c29b2b264fc3b50e7fb1d55e9fd7fca7d0fe88f2e28172121", + "drivers/usb/typec/tipd/Kconfig": "9574a0810560f293754b150adde751ea7a7a62d2a118114eaaa43f71929d5e1c", + "drivers/usb/typec/tipd/cd321x-pm-test.c": "daa34ef8f792e8a9048bcfefbf198a6337fb64e003c463ce82d922caf41bc67b", + "drivers/usb/typec/tipd/cd321x-pm.h": "c9751f037da606198c0e5b9161048cdd2c35d1b2c6ac4123a6e52829cdbc4795", + "drivers/usb/typec/tipd/core.c": "3b1b0a981f2a5653792a7dd8d57b35fa6c1db636bbf11f18c3c3641e4a9294d5", + "drivers/usb/typec/tipd/debugfs.c": "99c72f8bca32942d8e16e4fbd403b55e2a07c0d7ba059b6e5ce38714a03c3f38", + "drivers/vfio/Kconfig": "8a372864fa08a5d283065f2d6d547f92a3eee310aa03bf00e8427dcfa350c33f", + "drivers/vfio/vfio_iommu_type1.c": "6ff628b4a88d35006ac86260076547e9d34822001546877f4ce67dbe6c0336ce", + "drivers/vfio/vfio_iommu_type1_fragments.c": "9a3ac3b4f18582c73bede25e8611de03b441fb786d9eb1c70ff2edce64bf8bab", + "fs/exec.c": "72dcf0f816519dd94935846c2756d9b9cfaa500ac3d9b6a6a84ee81bcb890ef6", + "fs/ocfs2/file.c": "9b82ea43255adc24d45cfc387dd793fbd87d7a985de6547990a9bb7ff0cea4a3", + "fs/proc/task_mmu.c": "115da7578dd000bf89438056d1f3d1db6f267ee7428d27686d91402925f044f0", + "fs/userfaultfd.c": null, + "include/linux/binfmts.h": "50240d6c34e32a49f4df504d42cafdd9e5143f103d369dacaeb23d8e6a8fec71", + "include/linux/mm_granule.h": "c0498eda6d7688dc393d4dc5d57e4861e9a591c7a747f28fbcd5c72625bc1630", + "include/linux/pgtable.h": "1c6e3fab3e7e195f6353e847a91f632a555c83bbc5970c835e6957f75a555bf0", + "include/linux/shmem_fs.h": "f6764b924c7a2d8bea543470f6f17ba309d8df2508aa2a2b6506521357b0a960", + "include/uapi/linux/prctl.h": "77b2f619bbdaea0ed01310fc17b65c789902d8811cff72d01e316f6d415eb739", + "io_uring/rsrc.c": "a66479894bd9d53242dcc9e8260f6957490fe16817231b68b061f9d7910be408", + "kernel/events/core.c": "5d415fc3c5a05060577b88a7612cc1c7401b5ecdf94039bbae6d9b92b9a7a5f7", + "kernel/sys.c": "18eee4435a571f974cc945459ff9d7f3223f1c3860d27ba2489128da4d647b61", + "mm/internal.h": "759c9a3596d9c8ef647a9fdad80e104d37a7c8993576af131882fe64d7371549", + "mm/memory.c": "3043aac324de9dc9b5bb7d3bfc99ae0ebe04efe652dc06d75f3c3a5c1c3ed43d", + "mm/mmap.c": "fb0d220ddbd4c8b1f16b1864cb23bc537e72119407af3ad973784ba7930e7ef0", + "mm/page_io.c": "4d5552f36feebae7aa607e080138d4c6c55a900301ce715112e35ad9301e4897", + "mm/pagewalk.c": "47d5a4043554f945375aa5033b01e1895b92acab81501191492dd137e2c313b3", + "mm/process_vm_access.c": "8eb40bfac194668c4c951097c136ba4801e6ffd59d67bc3dc302ad980a47d1a9", + "mm/shmem.c": "42a84924bde1910390a25e54919abe05e92756090ec22b5ba5c74d2c19fdac92", + "mm/swapfile.c": "05956efd3ec7dc2762cd31e9285988a1a81c7d28bad9bff056240dbb16274a5a", + "mm/user-subpage.c": "332785497b9ceb40146035137428608de7452a7c5fd79eaf24837dedcece242d", + "mm/util.c": "8904b6ec26c6403ce8195f9f6fc4374f27b77539f8dc92c87984a18433c3a45f", + "mm/vmscan.c": "98a5551210092c4f34def5eb3a2caed2af5886620c80dfbdde8964dc915607a9", + "net/core/skbuff.c": "d6404a5fe1b952bef426b676ce1bc129fb3f6c785298ceaaa51a2d7ee41b9ea7", + "rust/Makefile": "524384d1130cb0c6422b9237907d81967573c411116f96fbb7a8926ac7bd4083", + "security/tomoyo/common.h": "1799f6cff9b1da5b7787f504d8e63aed08cbf0f9218da9671234060a4823b0a2", + "security/tomoyo/domain.c": "82123f57cda8bb7be1faa5e555d2188b33a0e0c92474fc0235edcaf2755a5f0c", + "tools/aurora-bindgen/README.rst": "c5d0cc3099eb44db1241e2a8a723a111b94ef99ed869fb94f2404e7dfc97b482", + "tools/aurora-bindgen/build.py": "0e63e0341703959d1f6f37c6a4c11d1033d1add1986f9698f631d81b72e9fee5", + "tools/aurora-sep/README.md": "dbcf59cecd62c0245cf39c3c8ee41e3088e2890da89288e91d1c53ee3f02cba4", + "tools/aurora-sep/neo/mesa-neo-env": "daff7b2e51b33a3904a991a410a736d93ee16f24c1fe0daf9a737090cbe87a50", + "tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD": "342fc8c0c7332fed4c9f25847501b97e7b92076873242442cd49380c5edbab7d", + "tools/aurora-sep/tests/test_neo_gpu.py": "f07840b8480ff13208b5e8bab5816e6015d2e7233e512a1799e5a5e7cdeaef08", + "tools/aurora-sep/tests/test_t8112_sep_dma.py": "c118e5d812e51fdfa57dbb979b32ed826561e474ffc6b1edf2b7bb3065964f46", + "tools/aurora-userpages/README.rst": "af5afebdb99186711b4ed854a82ff243d059d8218b4078c498f6c46080c48578", + "tools/aurora-userpages/userpages.c": "ed18373a56c80175fc72479c074c38133b1b84b5e7d7342739cf647a53ec66cb" + }, + "checks": [ + { + "sha": "7638540a67d8a8fd1a0f228ba119e14193702f9e", + "subject": "tools/aurora-userpages: say that 4K pages need user4k=on", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/7638540a67d8a8fd1a0f228ba119e14193702f9e.patch", + "patch_sha256": "6cec51120372da32e130b25db6be41ecf3cf711f7482fe8f6dd0a9529c4ea923", + "affected_files": [ + "tools/aurora-userpages/README.rst", + "tools/aurora-userpages/userpages.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: tools/aurora-userpages/README.rst:4", + "error: tools/aurora-userpages/README.rst: patch does not apply", + "error: patch failed: tools/aurora-userpages/userpages.c:19", + "error: tools/aurora-userpages/userpages.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "2e6535a04c4efe07ecf041705e6e17cb81b17c7b", + "subject": "mm: user-subpage: skip the 4K page_ext record when user4k is off", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2e6535a04c4efe07ecf041705e6e17cb81b17c7b.patch", + "patch_sha256": "b83c002027a953a2a8954e902c92b6aa888d6c13c2d205283d588cf14aea1a1c", + "affected_files": [ + "Documentation/admin-guide/kernel-parameters.txt", + "Documentation/arch/arm64/user4k.rst", + "Documentation/mm/user_page_size.rst", + "arch/arm64/Kconfig.debug", + "arch/arm64/include/asm/mmu.h", + "arch/arm64/mm/context.c", + "arch/arm64/mm/user4k-test.c", + "include/linux/mm_granule.h", + "mm/user-subpage.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/admin-guide/kernel-parameters.txt:8311", + "error: Documentation/admin-guide/kernel-parameters.txt: patch does not apply", + "error: patch failed: Documentation/arch/arm64/user4k.rst:68", + "error: Documentation/arch/arm64/user4k.rst: patch does not apply", + "error: patch failed: Documentation/mm/user_page_size.rst:65", + "error: Documentation/mm/user_page_size.rst: patch does not apply", + "error: patch failed: arch/arm64/Kconfig.debug:40", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "17059686aaa39e3892df7df6af6b5ca074f3e411", + "subject": "arm64: user4k: keep 4K userspace off unless booted with user4k=on", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/17059686aaa39e3892df7df6af6b5ca074f3e411.patch", + "patch_sha256": "a8fac55d260fe35aa2e50a07dab726d9f7bfd9d968468ff32381d9d6c13fab69", + "affected_files": [ + "Documentation/admin-guide/kernel-parameters.txt", + "Documentation/arch/arm64/user4k.rst", + "Documentation/mm/user_page_size.rst", + "arch/arm64/Kconfig.debug", + "arch/arm64/include/asm/mmu.h", + "arch/arm64/include/asm/mmu_context.h", + "arch/arm64/kernel/cpufeature.c", + "arch/arm64/kernel/process.c", + "arch/arm64/mm/context.c", + "arch/arm64/mm/user4k-test.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/admin-guide/kernel-parameters.txt:8305", + "error: Documentation/admin-guide/kernel-parameters.txt: patch does not apply", + "error: patch failed: Documentation/arch/arm64/user4k.rst:11", + "error: Documentation/arch/arm64/user4k.rst: patch does not apply", + "error: patch failed: Documentation/mm/user_page_size.rst:59", + "error: Documentation/mm/user_page_size.rst: patch does not apply", + "error: patch failed: arch/arm64/Kconfig.debug:36", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: arch/arm64/mm/user4k-test.c:13744", + "error: arch/arm64/mm/user4k-test.c: patch does not apply", + "error: patch failed: arch/arm64/mm/context.c:39", + "error: arch/arm64/mm/context.c: patch does not apply", + "error: patch failed: arch/arm64/include/asm/mmu.h:17", + "error: arch/arm64/include/asm/mmu.h: patch does not apply", + "error: patch failed: arch/arm64/Kconfig.debug:36", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ] + }, + { + "sha": "2a56089e5baf2bdd9d95760ca5b60e3ab76a9d0a", + "subject": "mm: pick the mmap layout from the mm being set up", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2a56089e5baf2bdd9d95760ca5b60e3ab76a9d0a.patch", + "patch_sha256": "1345f81710f72ba16094c9bf38e67c3be2ead68d5881b758a4b5e8b3e3095b23", + "affected_files": [ + "mm/util.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/util.c:406", + "error: mm/util.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "249829c32c880ddba07771db7c9c95a2baa0dbd2", + "subject": "Documentation: arm64: user4k: say the option is on by default", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/249829c32c880ddba07771db7c9c95a2baa0dbd2.patch", + "patch_sha256": "f8a06049ddc1af29e1d24baef47c5ad81a05954787e5c31dc153327e0ff2a020", + "affected_files": [ + "Documentation/arch/arm64/user4k.rst" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/arch/arm64/user4k.rst:19", + "error: Documentation/arch/arm64/user4k.rst: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: Documentation/arch/arm64/user4k.rst:19", + "error: Documentation/arch/arm64/user4k.rst: patch does not apply" + ] + }, + { + "sha": "d97563b36cd13a215367a44db6f8f4952b97f508", + "subject": "arm64: build mixed-granule userspace by default", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d97563b36cd13a215367a44db6f8f4952b97f508.patch", + "patch_sha256": "68cece4b2074b7b8209eb2d7a193f266bf6c31169b6ec2a0b4dc62d8eeb112b5", + "affected_files": [ + "arch/arm64/Kconfig.debug" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/Kconfig.debug:32", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: arch/arm64/Kconfig.debug:41", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ] + }, + { + "sha": "e0bf77e8a3166a29a256995646e40e2db8b3beaa", + "subject": "arm64: make the mixed-granule KUnit tests depend on TMPFS", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/e0bf77e8a3166a29a256995646e40e2db8b3beaa.patch", + "patch_sha256": "5564143dcf6d0a85cf033410f6df0954c6fd984499bd3c959e9668a5b5e65abd", + "affected_files": [ + "arch/arm64/Kconfig.debug" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/Kconfig.debug:47", + "error: arch/arm64/Kconfig.debug: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "4154c885c0b9938379ffbeb6795260eb004db3b8", + "subject": "perf/core: restore the speculation bound on AUX page lookups", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/4154c885c0b9938379ffbeb6795260eb004db3b8.patch", + "patch_sha256": "ef821e50b560c75e13142b32aaeeccc13ffe93b399ce920236c043f3f97c5afb", + "affected_files": [ + "kernel/events/core.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: kernel/events/core.c:58", + "error: kernel/events/core.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: kernel/events/core.c:58", + "error: kernel/events/core.c: patch does not apply" + ] + }, + { + "sha": "632c8fade2c3cea620e02696905b867c4ed92c8e", + "subject": "mm: move the vmf_insert_pfn_prot_mkwrite() kernel-doc back", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/632c8fade2c3cea620e02696905b867c4ed92c8e.patch", + "patch_sha256": "07dd5cd54e816c5e48dfdbda2a3db68a3bac84b9d77eeeffd53eec9cfa120daf", + "affected_files": [ + "mm/memory.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/memory.c:3258", + "error: mm/memory.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "5fc7e1d1fb9dfe1d1d9b78a7abf050c634cfafcd", + "subject": "mm: refuse HugeTLB mappings in mms with a non-native user granule", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/5fc7e1d1fb9dfe1d1d9b78a7abf050c634cfafcd.patch", + "patch_sha256": "9c788cbd936666542bd866aa3abf1e7f97408ea5ea4ad82c4546d917e03325c8", + "affected_files": [ + "arch/arm64/mm/user4k-test.c", + "mm/mmap.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/mm/user4k-test.c:15", + "error: arch/arm64/mm/user4k-test.c: patch does not apply", + "error: patch failed: mm/mmap.c:352", + "error: mm/mmap.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "4f088212736f57544e4785cfe8a3392facd24790", + "subject": "exec: drop the user page-size preference on privilege-gaining exec", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/4f088212736f57544e4785cfe8a3392facd24790.patch", + "patch_sha256": "2ebb8ca75dce9830ff98eb0acf83b0d7c08e2ea72db796750beaf7a9b406827e", + "affected_files": [ + "arch/arm64/kernel/process.c", + "arch/arm64/mm/user4k-test.c", + "fs/exec.c", + "include/linux/binfmts.h", + "include/uapi/linux/prctl.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/kernel/process.c:891", + "error: arch/arm64/kernel/process.c: patch does not apply", + "error: patch failed: arch/arm64/mm/user4k-test.c:33", + "error: arch/arm64/mm/user4k-test.c: patch does not apply", + "error: patch failed: fs/exec.c:1253", + "error: fs/exec.c: patch does not apply", + "error: patch failed: include/linux/binfmts.h:67", + "error: include/linux/binfmts.h: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: fs/exec.c:1253", + "error: fs/exec.c: patch does not apply", + "error: patch failed: arch/arm64/mm/user4k-test.c:33", + "error: arch/arm64/mm/user4k-test.c: patch does not apply", + "error: patch failed: arch/arm64/kernel/process.c:891", + "error: arch/arm64/kernel/process.c: patch does not apply" + ] + }, + { + "sha": "2b1ceeb10e4736f733bbea2f233a03f4a0d1b542", + "subject": "vfio/type1: keep the previous locked_vm refund rules without MM_SUBPAGE", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2b1ceeb10e4736f733bbea2f233a03f4a0d1b542.patch", + "patch_sha256": "cbafc335f88273d894b1e5e1f537066e0e790e8cea341c95b86d96458f42a3c5", + "affected_files": [ + "drivers/vfio/Kconfig", + "drivers/vfio/vfio_iommu_type1.c", + "drivers/vfio/vfio_iommu_type1_fragments.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/vfio/Kconfig:56", + "error: drivers/vfio/Kconfig: patch does not apply", + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:470", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply", + "error: patch failed: drivers/vfio/vfio_iommu_type1_fragments.c:547", + "error: drivers/vfio/vfio_iommu_type1_fragments.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "3d100cb5a7670f62c9fe807d111a26ee86edeca4", + "subject": "vfio/type1: keep the IOMMU page size warnings without MM_SUBPAGE", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/3d100cb5a7670f62c9fe807d111a26ee86edeca4.patch", + "patch_sha256": "c8b2c6bf52236adc78294e745b01579c23d8f10fcbbb4c9ef5d2bfadf2f42937", + "affected_files": [ + "drivers/vfio/vfio_iommu_type1.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:1671", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "d698033b97a2179ac547ae9d6009f134e4cc615c", + "subject": "vfio/type1: skip the CAP_IPC_LOCK check when the DMA owner is unchanged", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d698033b97a2179ac547ae9d6009f134e4cc615c.patch", + "patch_sha256": "52d3480faaefc2a35b9a2570941264f63443e29802713ac3e6980728f96a493f", + "affected_files": [ + "drivers/vfio/vfio_iommu_type1.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:1929", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "2bccca3035db9e41410fde2ede59864c3bf431dc", + "subject": "vfio/type1: keep native external pinning when MM_SUBPAGE is off", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2bccca3035db9e41410fde2ede59864c3bf431dc.patch", + "patch_sha256": "c6e749c686065b7ff26fb46d4b6f488291d2cab9f156dcb9ae6a641c7485044c", + "affected_files": [ + "drivers/vfio/vfio_iommu_type1.c", + "drivers/vfio/vfio_iommu_type1_fragments.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:296", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply", + "error: patch failed: drivers/vfio/vfio_iommu_type1_fragments.c:596", + "error: drivers/vfio/vfio_iommu_type1_fragments.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "e0e270cd746e23a63170ba28f3f8f8e1e69af174", + "subject": "vfio/type1: compile out fragment provider paths without MM_SUBPAGE", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/e0e270cd746e23a63170ba28f3f8f8e1e69af174.patch", + "patch_sha256": "be419a9a99f72ebf7269986f708bef4d616b30185c7292deaffd962009a950ca", + "affected_files": [ + "drivers/vfio/vfio_iommu_type1.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:255", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/vfio/vfio_iommu_type1.c:1761", + "error: drivers/vfio/vfio_iommu_type1.c: patch does not apply" + ] + }, + { + "sha": "c21d8e24a99ea2e3e7ba7465d7def777096bfee6", + "subject": "proc: fold the PAGEMAP_SCAN page size without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/c21d8e24a99ea2e3e7ba7465d7def777096bfee6.patch", + "patch_sha256": "e2d052c8919043da267a0793090a0b6d59de5cf7e97265124e099edaa9d2a9ab", + "affected_files": [ + "fs/proc/task_mmu.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: fs/proc/task_mmu.c:2491", + "error: fs/proc/task_mmu.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "fb16e8779391b801e22226f3faf68520c1dd69fb", + "subject": "tomoyo: keep the page-based argv dump without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/fb16e8779391b801e22226f3faf68520c1dd69fb.patch", + "patch_sha256": "ded59e7c38b0146dc5d8ae2cd678864cd9b0b2d6cf820770d3cd0e885d3a8aa9", + "affected_files": [ + "security/tomoyo/common.h", + "security/tomoyo/domain.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: security/tomoyo/common.h:575", + "error: security/tomoyo/common.h: patch does not apply", + "error: patch failed: security/tomoyo/domain.c:903", + "error: security/tomoyo/domain.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "55a5ef43af232e5ee879de616bcde38c301ee228", + "subject": "userfaultfd: keep the UFFDIO_COPY source check without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/55a5ef43af232e5ee879de616bcde38c301ee228.patch", + "patch_sha256": "05376200321e96f158722f0688e8e7b40aa64809ffffb3d9eda6bc1753f6b160", + "affected_files": [ + "fs/userfaultfd.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: fs/userfaultfd.c: No such file or directory" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: fs/userfaultfd.c: No such file or directory" + ] + }, + { + "sha": "a07e98c6181d4fe90de13812fc5e9f1c531fdf30", + "subject": "drm/shmem-helper: keep native fault and mmap paths without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/a07e98c6181d4fe90de13812fc5e9f1c531fdf30.patch", + "patch_sha256": "b2c12712e7a0a403221fb594dc1956a23d05a695450b3bc43133028b00bd38bb", + "affected_files": [ + "drivers/gpu/drm/drm_gem_shmem_helper.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/drm_gem_shmem_helper.c:763", + "error: drivers/gpu/drm/drm_gem_shmem_helper.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "c5a6961ce15a57575a07b0170a5c892c08119cab", + "subject": "io_uring/rsrc: limit the fragment-owner account skip to user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/c5a6961ce15a57575a07b0170a5c892c08119cab.patch", + "patch_sha256": "fb7f9460c829878b956fe3a8a5a6825288ecbe4ccb9a448e4459b57b779fff71", + "affected_files": [ + "io_uring/rsrc.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: io_uring/rsrc.c:645", + "error: io_uring/rsrc.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: io_uring/rsrc.c:645", + "error: io_uring/rsrc.c: patch does not apply" + ] + }, + { + "sha": "71a6bc1bec57b14bebe076aad5fb769e023ebccd", + "subject": "block: size user passthrough bios as before without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/71a6bc1bec57b14bebe076aad5fb769e023ebccd.patch", + "patch_sha256": "9b4b69bdaee4f2ce7df6c46633863e08db05a8f9e56f9e7e54746242c8959fdf", + "affected_files": [ + "block/blk-map.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: block/blk-map.c:260", + "error: block/blk-map.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "ecc0c29cc3d0d5a177b92be3decf5c90652b5868", + "subject": "ocfs2: keep the native truncate unmap sequence without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/ecc0c29cc3d0d5a177b92be3decf5c90652b5868.patch", + "patch_sha256": "e1c0b0bc80fbc5ca7b783008d799304a7cf00d2b687f083cf387f3aecdec9fe2", + "affected_files": [ + "fs/ocfs2/file.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: fs/ocfs2/file.c:504", + "error: fs/ocfs2/file.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "9a16d02736b70119652a7b273bbee7b3be614c64", + "subject": "prctl: build the page-size requests only with selectable granules", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/9a16d02736b70119652a7b273bbee7b3be614c64.patch", + "patch_sha256": "21b7dc78ec2c8d23f1dd0e5bef0f9adb318d47e5a4ea38f440ce7f92ad6140a4", + "affected_files": [ + "kernel/sys.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: kernel/sys.c:2532", + "error: kernel/sys.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "1c76bc45a6a80d578118746495e0d76b898650bd", + "subject": "net: keep MSG_ZEROCOPY realloc semantics without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/1c76bc45a6a80d578118746495e0d76b898650bd.patch", + "patch_sha256": "be2f179755b26deb8c44e0c0fa340ebc48fc7d64aa060f17f6fc13c7e3cd9bc6", + "affected_files": [ + "net/core/skbuff.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: net/core/skbuff.c:1768", + "error: net/core/skbuff.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "2406596fa2c843abddb04418676b19b278caaaa2", + "subject": "mm/process_vm_access: keep allocation order without subpage", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2406596fa2c843abddb04418676b19b278caaaa2.patch", + "patch_sha256": "7777c7f67fd0b117001de1d1d69a86fdf5964eb808f9add89bbaa24eb35323bf", + "affected_files": [ + "mm/process_vm_access.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/process_vm_access.c:242", + "error: mm/process_vm_access.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "d2883a8fee2b670934471db3cb64f42c0403f450", + "subject": "mm/pagewalk: keep native walk_page_mapping() clip without subpage", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d2883a8fee2b670934471db3cb64f42c0403f450.patch", + "patch_sha256": "a06e55b458a699c3ebcdb235a8f8cc200d3c806a6d75a28ebd677d9c48cc93b7", + "affected_files": [ + "mm/pagewalk.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/pagewalk.c:771", + "error: mm/pagewalk.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "0b87330a6e1e1fcbcc40b6786e05956fec1e8c30", + "subject": "mm/vmscan: gate MGLRU legacy-memcg writeback change on subpage", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/0b87330a6e1e1fcbcc40b6786e05956fec1e8c30.patch", + "patch_sha256": "17efcdb184c33540349085389eb7d2bf00fe9941608e769db2eeba1378f226ee", + "affected_files": [ + "mm/vmscan.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/vmscan.c:4682", + "error: mm/vmscan.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: mm/vmscan.c:4682", + "error: mm/vmscan.c: patch does not apply" + ] + }, + { + "sha": "058eb531de3984b2b694f069fdae2496329c55f3", + "subject": "mm/swap: keep native swap I/O unchanged without subpage support", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/058eb531de3984b2b694f069fdae2496329c55f3.patch", + "patch_sha256": "bda87055f851fdde37f6dc65a025013c5e97de5cc7d95601489d3106e612ae5a", + "affected_files": [ + "mm/page_io.c", + "mm/swapfile.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/page_io.c:412", + "error: mm/page_io.c: patch does not apply", + "error: patch failed: mm/swapfile.c:1387", + "error: mm/swapfile.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "5812ea2970fd22b805e943803ef2a53217f7e8b7", + "subject": "mm/shmem: skip i_pages lock round trip without uffd subpage data", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/5812ea2970fd22b805e943803ef2a53217f7e8b7.patch", + "patch_sha256": "2fb19790a3a4a0c862871e55ddf56a8fe0dbb4ce937133b6e84fd0da6d87336b", + "affected_files": [ + "mm/shmem.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/shmem.c:2045", + "error: mm/shmem.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "ccd751939c152daa753e8c05c83dd2bd6d3e4d26", + "subject": "shmem: do not evaluate shmem_uffd_forget() arguments when unused", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/ccd751939c152daa753e8c05c83dd2bd6d3e4d26.patch", + "patch_sha256": "985352bbba43bef34a02ebe95ca3bd782caa8f2ffea149ef28f3eb9d7f8a12da", + "affected_files": [ + "include/linux/shmem_fs.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: include/linux/shmem_fs.h:165", + "error: include/linux/shmem_fs.h: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "01996cd22edad30486432d12d07d8aeb2e0fcad3", + "subject": "mm: keep the single-page rmap walk bound for native geometry", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/01996cd22edad30486432d12d07d8aeb2e0fcad3.patch", + "patch_sha256": "dc218d21417005a5ab2fbd8b30a4e6277041f30e8de594f9aff20376cf028224", + "affected_files": [ + "mm/internal.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/internal.h:1323", + "error: mm/internal.h: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "7607f149a410f426d115d4cd9b0a5531854bf2b4", + "subject": "mm: release exit_mmap commitment after the mmap lock again", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/7607f149a410f426d115d4cd9b0a5531854bf2b4.patch", + "patch_sha256": "e55631e32cc160a2541d946b9c893d6bda4af522c59019ce9f611e4042a8b351", + "affected_files": [ + "mm/mmap.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/mmap.c:1371", + "error: mm/mmap.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "89337e112c8b333ea7fb7fe84de93586fa50f23b", + "subject": "mm: keep the native locked_vm accounting when user4k is off", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/89337e112c8b333ea7fb7fe84de93586fa50f23b.patch", + "patch_sha256": "a13a7b960567968dd4086cf595648a32718e5d39f1cde517fca51d85cc53a527", + "affected_files": [ + "mm/util.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/util.c:516", + "error: mm/util.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "78404cee8c7659c6cf6370d5f32db1a38e4874a5", + "subject": "mm: skip zero-count folio reference adds on COW copies", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/78404cee8c7659c6cf6370d5f32db1a38e4874a5.patch", + "patch_sha256": "de3230dfffcb464fe35391919ecba1d0c00355f51478f05d64cb6b065f28327e", + "affected_files": [ + "mm/memory.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/memory.c:1098", + "error: mm/memory.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "996067c67d6f09b666f5b6621af0e91219b98c27", + "subject": "mm: keep generic_access_phys() lengths unchanged without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/996067c67d6f09b666f5b6621af0e91219b98c27.patch", + "patch_sha256": "af5b9195b4cca650a068c2a26acfd9504c58c52b37240d736bbf300d25aa19bf", + "affected_files": [ + "mm/memory.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/memory.c:8991", + "error: mm/memory.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "aeb594e25c1c5142fd60795a3ad1bede6a825fa7", + "subject": "mm: keep native remap and I/O memory range checks without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/aeb594e25c1c5142fd60795a3ad1bede6a825fa7.patch", + "patch_sha256": "b6df8fa7ad1e10a1550c72226c5fbc3b5f9add138bbe2e774eee7aad52b3f779", + "affected_files": [ + "mm/memory.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/memory.c:3655", + "error: mm/memory.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "5264e477f5d111d0e9ed9d54c67067c0c68663a2", + "subject": "mm: restore native vm_insert_pages() and vm_map_pages() without user4k", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/5264e477f5d111d0e9ed9d54c67067c0c68663a2.patch", + "patch_sha256": "b5137ec4bcf473890d28353e1fa4c8f117dcd219f17dfd0c23da36755d720d66", + "affected_files": [ + "mm/memory.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: mm/memory.c:2834", + "error: mm/memory.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "b1d8dfecce30887bb4fe71b418ad5b87627f5234", + "subject": "mm: keep the legacy bad-p4d handling for native-only geometry", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/b1d8dfecce30887bb4fe71b418ad5b87627f5234.patch", + "patch_sha256": "09f2cc9ccff0e1565fa3215f99c32d69e70b2aaa55a5ea0ed4eca2dd4b1393f6", + "affected_files": [ + "include/linux/pgtable.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: include/linux/pgtable.h:1572", + "error: include/linux/pgtable.h: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "d0565a858891cbeb7a5db56fe8aa33ea3ec03052", + "subject": "docs: index the new Apple documents and fix their title markup", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d0565a858891cbeb7a5db56fe8aa33ea3ec03052.patch", + "patch_sha256": "b43bcb1254c856d0948f1efb6a8a457e66848402d6261bc82b23c46854d7daa1", + "affected_files": [ + "Documentation/PCI/controller/apple-t8140.rst", + "Documentation/admin-guide/media/apple-ave.rst", + "Documentation/arch/arm64/apple-j813.rst", + "Documentation/arch/arm64/apple-m6-cpu.rst", + "Documentation/arch/arm64/apple-t8140-pmp-dvfs.rst", + "Documentation/arch/arm64/index.rst", + "Documentation/arch/arm64/user4k.rst", + "Documentation/gpu/apple-dcp-backlight.rst", + "Documentation/gpu/drivers.rst", + "Documentation/soc/apple/t8140-pmp-dvfs.rst", + "MAINTAINERS" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/PCI/controller/apple-t8140.rst:1", + "error: Documentation/PCI/controller/apple-t8140.rst: patch does not apply", + "error: Documentation/admin-guide/media/apple-ave.rst: No such file or directory", + "error: patch failed: Documentation/arch/arm64/apple-j813.rst:179", + "error: Documentation/arch/arm64/apple-j813.rst: patch does not apply", + "error: patch failed: Documentation/arch/arm64/apple-m6-cpu.rst:1", + "error: Documentation/arch/arm64/apple-m6-cpu.rst: patch does not apply", + "error: Documentation/soc/apple/t8140-pmp-dvfs.rst: No such file or directory" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: MAINTAINERS:2001", + "error: MAINTAINERS: patch does not apply", + "error: patch failed: Documentation/gpu/drivers.rst:6", + "error: Documentation/gpu/drivers.rst: patch does not apply", + "error: patch failed: Documentation/arch/arm64/index.rst:10", + "error: Documentation/arch/arm64/index.rst: patch does not apply", + "error: Documentation/arch/arm64/apple-t8140-pmp-dvfs.rst: No such file or directory", + "error: Documentation/admin-guide/media/apple-ave.rst: No such file or directory" + ] + }, + { + "sha": "0765e6acfd1ff2bd9250bfeb8dc9bee9f4742030", + "subject": "drm/apple: build the AFK service test only with the display driver", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/0765e6acfd1ff2bd9250bfeb8dc9bee9f4742030.patch", + "patch_sha256": "da39ca3a8b2ca303d0252bde8f11868ecf70da9dd26bbb3caff950743b72f44c", + "affected_files": [ + "drivers/gpu/drm/Makefile", + "drivers/gpu/drm/apple/Kconfig", + "drivers/gpu/drm/apple/Makefile" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/Makefile:231", + "error: drivers/gpu/drm/Makefile: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/Kconfig:37", + "error: drivers/gpu/drm/apple/Kconfig: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/Makefile:34", + "error: drivers/gpu/drm/apple/Makefile: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/Makefile:34", + "error: drivers/gpu/drm/apple/Makefile: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/Kconfig:37", + "error: drivers/gpu/drm/apple/Kconfig: patch does not apply" + ] + }, + { + "sha": "52841d18939ab9cb79b0b12ae012fdca6c43a80f", + "subject": "vfio/type1: make the retained-fragment KUnit tests depend on TMPFS", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/52841d18939ab9cb79b0b12ae012fdca6c43a80f.patch", + "patch_sha256": "aa778bc42a5b6212fdae91f1a3ff9224cb544c30d0b7a5c3c777722a43158758", + "affected_files": [ + "arch/arm64/Kconfig.debug", + "drivers/vfio/Kconfig" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/Kconfig.debug:82", + "error: arch/arm64/Kconfig.debug: patch does not apply", + "error: patch failed: drivers/vfio/Kconfig:57", + "error: drivers/vfio/Kconfig: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/vfio/Kconfig:57", + "error: drivers/vfio/Kconfig: patch does not apply" + ] + }, + { + "sha": "b8c3c61294648b9263f208f7203a8bed8ba235e7", + "subject": "usb: typec: tipd: put the debugfs command file behind a Kconfig option", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/b8c3c61294648b9263f208f7203a8bed8ba235e7.patch", + "patch_sha256": "b498344b68bd89e2919d55f06d470dd3cd18e0312709785cac0ab85d45f58cd6", + "affected_files": [ + "drivers/usb/typec/tipd/Kconfig", + "drivers/usb/typec/tipd/debugfs.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/usb/typec/tipd/Kconfig:28", + "error: drivers/usb/typec/tipd/Kconfig: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/debugfs.c:3", + "error: drivers/usb/typec/tipd/debugfs.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/usb/typec/tipd/Kconfig:28", + "error: drivers/usb/typec/tipd/Kconfig: patch does not apply" + ] + }, + { + "sha": "4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7", + "subject": "rust: restore --no-layout-tests, make layout checks opt-in", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/4c56f9cd3033e5f65ef9c61bc7b396d50bce23f7.patch", + "patch_sha256": "bba23efd3298c7f4fba31bde6a7a798b73fcbce7d07cb87683422d429615dedd", + "affected_files": [ + "Documentation/rust/bindgen-layout-checks.rst", + "rust/Makefile", + "tools/aurora-bindgen/README.rst", + "tools/aurora-bindgen/build.py" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/rust/bindgen-layout-checks.rst:3", + "error: Documentation/rust/bindgen-layout-checks.rst: patch does not apply", + "error: patch failed: rust/Makefile:443", + "error: rust/Makefile: patch does not apply", + "error: patch failed: tools/aurora-bindgen/README.rst:25", + "error: tools/aurora-bindgen/README.rst: patch does not apply", + "error: patch failed: tools/aurora-bindgen/build.py:22", + "error: tools/aurora-bindgen/build.py: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "4bbc184bb298f3459f0cf3c5a695cd3b18ed0669", + "subject": "wifi: brcmfmac: run queued firmware events before stopping their worker", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/4bbc184bb298f3459f0cf3c5a695cd3b18ed0669.patch", + "patch_sha256": "10b5db503b5e3fa4e9613943995f2bd454250fb4046031330d91698069e3aeca", + "affected_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c:385", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "347adeccb0c8853d32bfca1ac7cf414bf0939bc9", + "subject": "wifi: brcmfmac: refuse AWDL on interface_create v1 and v2", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/347adeccb0c8853d32bfca1ac7cf414bf0939bc9.patch", + "patch_sha256": "47780c7f9bf837e938a5a841e8e59e40dc470edf7ce52d85a2e566e6f6a9fb70", + "affected_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c:244", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "e75cc822fa9cac1727309129def86f5207c74a7c", + "subject": "wifi: brcmfmac: add an off-switch for AWDL interface creation", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/e75cc822fa9cac1727309129def86f5207c74a7c.patch", + "patch_sha256": "fcef37f5dc2eca005a3d3ca4f0456f814f101e38fdcf4af69f0994216e15efd9", + "affected_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:8281", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c: patch does not apply", + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c:56", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c: patch does not apply", + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h:44", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h: patch does not apply", + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c:27", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "d4f767b6f7d373fc00d8e9824e6b5e00f7dc43a6", + "subject": "wifi: brcmfmac: drop the runtime AWDL interface_create parameters", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d4f767b6f7d373fc00d8e9824e6b5e00f7dc43a6.patch", + "patch_sha256": "f089101553cbaeae7b40e36a6cb285a172a1ed8fe80034ad41381acffb0d5cc9", + "affected_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c:25", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c:25", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c: patch does not apply" + ] + }, + { + "sha": "0a934a7b3115db29a4ad2ce638353c3ccb240d72", + "subject": "wifi: brcmfmac: msgbuf: look up the traced flowring under its lock", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/0a934a7b3115db29a4ad2ce638353c3ccb240d72.patch", + "patch_sha256": "069ce7316fa8746d4099333a15689a7eba1266bf52a746b43d28ff935bc3c18b", + "affected_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c:601", + "error: drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "8af856032038b1794b40e59941d7aab6e762ecf6", + "subject": "drm/asahi: keep the range TLBI base address in its field", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/8af856032038b1794b40e59941d7aab6e762ecf6.patch", + "patch_sha256": "c4249450ffa2483ce860f31142b7f351800afd69b9c0e578bfb42f623ecb97bf", + "affected_files": [ + "drivers/gpu/drm/asahi/mem.rs" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/asahi/mem.rs:143", + "error: drivers/gpu/drm/asahi/mem.rs: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "1b50cbd1e008f61375b34e09d121f0bff5aec2a6", + "subject": "drm/asahi: reject unsupported command fields on the M1/M2 queue path", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/1b50cbd1e008f61375b34e09d121f0bff5aec2a6.patch", + "patch_sha256": "aa35058ba4f2cd811091cdf36d9ae1a08d3de8fffaef9d67273ff09f4d697540", + "affected_files": [ + "drivers/gpu/drm/asahi/queue/mod.rs", + "drivers/gpu/drm/asahi/util.rs" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/asahi/queue/mod.rs:590", + "error: drivers/gpu/drm/asahi/queue/mod.rs: patch does not apply", + "error: patch failed: drivers/gpu/drm/asahi/util.rs:126", + "error: drivers/gpu/drm/asahi/util.rs: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/gpu/drm/asahi/util.rs:196", + "error: drivers/gpu/drm/asahi/util.rs: patch does not apply", + "error: patch failed: drivers/gpu/drm/asahi/queue/mod.rs:590", + "error: drivers/gpu/drm/asahi/queue/mod.rs: patch does not apply" + ] + }, + { + "sha": "ba5563baba3f612a31861269b3b224191a23e9d9", + "subject": "drm/apple: expect a moved tunnel to start its route in the parser test", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/ba5563baba3f612a31861269b3b224191a23e9d9.patch", + "patch_sha256": "9e0fa121eeb77f60d7265b954068bef128f570d31850fde672e29d4a71018812", + "affected_files": [ + "drivers/gpu/drm/apple/parser-test.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/parser-test.c:819", + "error: drivers/gpu/drm/apple/parser-test.c: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "d25e17cc3e469a4bb0b51aa423bcd3689a40a638", + "subject": "drm: apple: answer DPTX group 1 calls 3 and 4 on 13.5 firmware again", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d25e17cc3e469a4bb0b51aa423bcd3689a40a638.patch", + "patch_sha256": "02781438fa86f5770f2ad39d37c2ed6d6db49096fd487018cef81c88dfad3293", + "affected_files": [ + "drivers/gpu/drm/apple/dptxep.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/dptxep.c:1048", + "error: drivers/gpu/drm/apple/dptxep.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/dptxep.c:1113", + "error: drivers/gpu/drm/apple/dptxep.c: patch does not apply" + ] + }, + { + "sha": "07fc9fe06c29194561a3e5fceb846cde39fea569", + "subject": "drm: apple: relink a Type-C sink only when DCP drops it at link-up", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/07fc9fe06c29194561a3e5fceb846cde39fea569.patch", + "patch_sha256": "7dfd2c1fffe958082758032feb0a22d9a769183c0522e37406d0ec4dc88c1d58", + "affected_files": [ + "drivers/gpu/drm/apple/dcp-fabric-test.c", + "drivers/gpu/drm/apple/dcp-fabric.c", + "drivers/gpu/drm/apple/dcp-internal.h", + "drivers/gpu/drm/apple/dcp-relink.h", + "drivers/gpu/drm/apple/dcp.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/dcp-fabric-test.c:9", + "error: drivers/gpu/drm/apple/dcp-fabric-test.c: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/dcp-fabric.c:1568", + "error: drivers/gpu/drm/apple/dcp-fabric.c: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/dcp-internal.h:18", + "error: drivers/gpu/drm/apple/dcp-internal.h: patch does not apply", + "error: drivers/gpu/drm/apple/dcp-relink.h: already exists in working directory", + "error: patch failed: drivers/gpu/drm/apple/dcp.c:751" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/dcp.c:751", + "error: drivers/gpu/drm/apple/dcp.c: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/dcp-internal.h:18", + "error: drivers/gpu/drm/apple/dcp-internal.h: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/dcp-fabric.c:1568", + "error: drivers/gpu/drm/apple/dcp-fabric.c: patch does not apply", + "error: patch failed: drivers/gpu/drm/apple/dcp-fabric-test.c:2139", + "error: drivers/gpu/drm/apple/dcp-fabric-test.c: patch does not apply" + ] + }, + { + "sha": "0378c54a442e13c8e3f94cefb5b17dc11d12d203", + "subject": "usb: typec: tipd: send each IRQ_HPD request to the display route once", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/0378c54a442e13c8e3f94cefb5b17dc11d12d203.patch", + "patch_sha256": "538fcbb7385b508788b5bacdd49486baa4362d275f926254b23aa6c6f8f56468", + "affected_files": [ + "drivers/gpu/drm/apple/dcp-fabric.c", + "drivers/usb/typec/tipd/cd321x-pm-test.c", + "drivers/usb/typec/tipd/cd321x-pm.h", + "drivers/usb/typec/tipd/core.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/gpu/drm/apple/dcp-fabric.c:1432", + "error: drivers/gpu/drm/apple/dcp-fabric.c: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/cd321x-pm-test.c:770", + "error: drivers/usb/typec/tipd/cd321x-pm-test.c: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/cd321x-pm.h:4", + "error: drivers/usb/typec/tipd/cd321x-pm.h: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/core.c:671", + "error: drivers/usb/typec/tipd/core.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/usb/typec/tipd/core.c:710", + "error: drivers/usb/typec/tipd/core.c: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/cd321x-pm.h:4", + "error: drivers/usb/typec/tipd/cd321x-pm.h: patch does not apply", + "error: patch failed: drivers/usb/typec/tipd/cd321x-pm-test.c:770", + "error: drivers/usb/typec/tipd/cd321x-pm-test.c: patch does not apply" + ] + }, + { + "sha": "418c346f87ebdf46936d0e35055d0f62ee879732", + "subject": "tools/aurora-sep: tests: Let the T8112 SEP DMA harness build again", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/418c346f87ebdf46936d0e35055d0f62ee879732.patch", + "patch_sha256": "3b016a67d8afb97830349f056f3340cf910114d50b9169bc131a16a20782cbca", + "affected_files": [ + "tools/aurora-sep/tests/test_t8112_sep_dma.py" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: tools/aurora-sep/tests/test_t8112_sep_dma.py:72", + "error: tools/aurora-sep/tests/test_t8112_sep_dma.py: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: tools/aurora-sep/tests/test_t8112_sep_dma.py:72", + "error: tools/aurora-sep/tests/test_t8112_sep_dma.py: patch does not apply" + ] + }, + { + "sha": "bf80deeb634ab95a865b6d08b3d234b65e9d88d6", + "subject": "soc: apple: sep: Let suspend proceed when a capture is slow to stop", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/bf80deeb634ab95a865b6d08b3d234b65e9d88d6.patch", + "patch_sha256": "3d5aa50fe45163c1d3b41e8ad07391ec9239c48bb926a55a9829f7f3df71b03e", + "affected_files": [ + "drivers/soc/apple/pm.rs", + "drivers/soc/apple/pm_shim.c", + "drivers/soc/apple/sbio.rs", + "drivers/soc/apple/shim.h" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/soc/apple/pm.rs:21", + "error: drivers/soc/apple/pm.rs: patch does not apply", + "error: patch failed: drivers/soc/apple/pm_shim.c:14", + "error: drivers/soc/apple/pm_shim.c: patch does not apply", + "error: patch failed: drivers/soc/apple/sbio.rs:3081", + "error: drivers/soc/apple/sbio.rs: patch does not apply", + "error: patch failed: drivers/soc/apple/shim.h:25", + "error: drivers/soc/apple/shim.h: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/soc/apple/pm.rs:41", + "error: drivers/soc/apple/pm.rs: patch does not apply" + ] + }, + { + "sha": "c80c151a1851ea49535777086adc6020d70e372a", + "subject": "soc: apple: sep: Initialise an empty host-state store file again", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/c80c151a1851ea49535777086adc6020d70e372a.patch", + "patch_sha256": "b408baf0cb75bbc3b7443f7df51d2359d172be14a37a23dfc720cc07dff71f5c", + "affected_files": [ + "drivers/soc/apple/store.rs" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/soc/apple/store.rs:133", + "error: drivers/soc/apple/store.rs: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/soc/apple/store.rs:133", + "error: drivers/soc/apple/store.rs: patch does not apply" + ] + }, + { + "sha": "1d66b81ec0ea1d51c26fc259532b36fbe3420f06", + "subject": "soc: apple: sep: Do not autoload the driver through a module alias", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/1d66b81ec0ea1d51c26fc259532b36fbe3420f06.patch", + "patch_sha256": "b4e7a2490396a68c52d9f1edd9849f2e53264324d638c7bcd3be70d774a0f89f", + "affected_files": [ + "drivers/soc/apple/sep.rs", + "tools/aurora-sep/README.md", + "tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/soc/apple/sep.rs:2321", + "error: drivers/soc/apple/sep.rs: patch does not apply", + "error: patch failed: tools/aurora-sep/README.md:45", + "error: tools/aurora-sep/README.md: patch does not apply", + "error: patch failed: tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD:7", + "error: tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD:7", + "error: tools/aurora-sep/packaging/arch/aurora-sep/PKGBUILD: patch does not apply" + ] + }, + { + "sha": "d4b2c4ac469856efbfdb127b02ac6fb3d9515f73", + "subject": "spi: apple-qspi: keep the T8140 boot NOR read-only outside nvram", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/d4b2c4ac469856efbfdb127b02ac6fb3d9515f73.patch", + "patch_sha256": "ba2ab6454630eb25d4c65913b56dd4edc87317ce9a6d66971ba484406d2f977d", + "affected_files": [ + "drivers/spi/Kconfig", + "drivers/spi/Makefile", + "drivers/spi/spi-apple-qspi-policy-test.c", + "drivers/spi/spi-apple-qspi-policy.h", + "drivers/spi/spi-apple-qspi.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/spi/Kconfig:140", + "error: drivers/spi/Kconfig: patch does not apply", + "error: patch failed: drivers/spi/Makefile:24", + "error: drivers/spi/Makefile: patch does not apply", + "error: drivers/spi/spi-apple-qspi-policy-test.c: already exists in working directory", + "error: patch failed: drivers/spi/spi-apple-qspi-policy.h:35", + "error: drivers/spi/spi-apple-qspi-policy.h: patch does not apply", + "error: patch failed: drivers/spi/spi-apple-qspi.c:14" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/spi/spi-apple-qspi.c:14", + "error: drivers/spi/spi-apple-qspi.c: patch does not apply", + "error: patch failed: drivers/spi/Kconfig:140", + "error: drivers/spi/Kconfig: patch does not apply" + ] + }, + { + "sha": "df016a38440e7121cddc13e38016c5bdde5905c9", + "subject": "arm64: dts: apple: t8140: drop the t6000 fallback from the GFX report", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/df016a38440e7121cddc13e38016c5bdde5905c9.patch", + "patch_sha256": "e8e1bc1ed87af69b02cc84223b4240cfcf48e83f7720c556e65017e078b7d344", + "affected_files": [ + "arch/arm64/boot/dts/apple/t8140.dtsi" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: arch/arm64/boot/dts/apple/t8140.dtsi:491", + "error: arch/arm64/boot/dts/apple/t8140.dtsi: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "731e926b1912a2184feb886f6977d8a28d70abe7", + "subject": "dt-bindings: power: apple,t8140-pmp-report: drop the t6000 entry fallback", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/731e926b1912a2184feb886f6977d8a28d70abe7.patch", + "patch_sha256": "91a23f840da366d6851464235f886db423b1fd36217fcf5560ed300c13a57c3c", + "affected_files": [ + "Documentation/devicetree/bindings/power/apple,t8140-pmp-report.yaml" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: Documentation/devicetree/bindings/power/apple,t8140-pmp-report.yaml:45", + "error: Documentation/devicetree/bindings/power/apple,t8140-pmp-report.yaml: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + }, + { + "sha": "2bf01adf4862725d602e9d7fe38248f240624c29", + "subject": "pmdomain: apple: pmp-report: match T8140 report entries by compatible", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/2bf01adf4862725d602e9d7fe38248f240624c29.patch", + "patch_sha256": "57c80f2215290623d581357457058b6ce1d7be1c2e2f4c818c8b459e4eeac6c0", + "affected_files": [ + "drivers/pmdomain/apple/pmp-report.c" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: drivers/pmdomain/apple/pmp-report.c:1719", + "error: drivers/pmdomain/apple/pmp-report.c: patch does not apply" + ], + "reverse_applies": false, + "reverse_diagnostic": [ + "error: patch failed: drivers/pmdomain/apple/pmp-report.c:1719", + "error: drivers/pmdomain/apple/pmp-report.c: patch does not apply" + ] + }, + { + "sha": "3d255038f3b13757b7f3f035a58b23e4c8630f2b", + "subject": "aurora-sep: neo: accept both T8140 GPU and display driver names", + "author": "Chris Kearney", + "patch_url": "https://github.com/omacom/linux-aurora/commit/3d255038f3b13757b7f3f035a58b23e4c8630f2b.patch", + "patch_sha256": "de9d5ccc688d0435a6b06ef0f334e7527888c5cf73018300480aeb33245cc143", + "affected_files": [ + "tools/aurora-sep/neo/mesa-neo-env", + "tools/aurora-sep/tests/test_neo_gpu.py" + ], + "forward_applies": false, + "forward_diagnostic": [ + "error: patch failed: tools/aurora-sep/neo/mesa-neo-env:47", + "error: tools/aurora-sep/neo/mesa-neo-env: patch does not apply", + "error: patch failed: tools/aurora-sep/tests/test_neo_gpu.py:127", + "error: tools/aurora-sep/tests/test_neo_gpu.py: patch does not apply" + ], + "reverse_applies": true, + "reverse_diagnostic": [] + } + ], + "limits": "Only affected immutable files fetched; this is not a whole-tree digest or build. Independent forward/reverse git-apply checks do not prove semantic absence/presence, sequential compatibility, full 64-fix review parity, hardware safety or qualification. No patch was applied or adopted. Raw GitHub file downloads do not retain executable mode metadata; this comparison does not audit file-mode changes." +} From cd28cef08f4bb4b5f6310e692b990b0e84b86134 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 09:17:25 -0400 Subject: [PATCH 3/7] Record approved unarmed wip2 staging and boot preflight --- mseries/OS9-HANDOFF.md | 37 +- mseries/ROADMAP.md | 22 +- mseries/aurora/test_unified72_boot.py | 81 +++ mseries/aurora/unified72/BOOT-TRIAL.md | 114 ++++ mseries/aurora/unified72/README.md | 15 +- .../unified72/boot-preflight-2026-10-21.json | 78 +++ .../boot-preflight-2026-10-21/bluetooth.json | 320 +++++++++++ .../dart-firmware.json | 415 ++++++++++++++ .../dart-legacy.json | 312 +++++++++++ .../dart-range-host-fixture.patch | 79 +++ .../dart-range-ported.json | 9 + .../dcp-suite-initial.json | 518 ++++++++++++++++++ .../boot-preflight-2026-10-21/dcp-tunnel.json | 11 + .../dcp-usb-kconfig-rerun.json | 7 + .../installed-initramfs.json | 12 + .../original-dart-range-controls.log | 30 + .../preparation.json | 127 +++++ .../boot-preflight-2026-10-21/staging.json | 44 ++ .../boot-preflight-2026-10-21/uapi.json | 14 + mseries/aurora/unified72/check-legacy-dtb.py | 197 +++++++ .../aurora/unified72/prepare-j314s-trial.py | 141 +++++ 21 files changed, 2569 insertions(+), 14 deletions(-) create mode 100644 mseries/aurora/test_unified72_boot.py create mode 100644 mseries/aurora/unified72/BOOT-TRIAL.md create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/bluetooth.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dart-firmware.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dart-legacy.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-host-fixture.patch create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-ported.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-suite-initial.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-tunnel.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-usb-kconfig-rerun.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/installed-initramfs.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/original-dart-range-controls.log create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/preparation.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/staging.json create mode 100644 mseries/aurora/unified72/boot-preflight-2026-10-21/uapi.json create mode 100644 mseries/aurora/unified72/check-legacy-dtb.py create mode 100644 mseries/aurora/unified72/prepare-j314s-trial.py diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 9e82384ea..414f4acfc 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,38 @@ # OS 9 implementation / Claude Code handoff +## Aurora 7.2 wip2 staged, unarmed — 2026-10-21 + +Owner explicitly approved the checked unarmed staging proposal. Installed separate +`linux-image-elementary-aurora72-wip2` (7.2.10 wip2) and the audited Image/initramfs; +added `elementary-aurora72-wip2-trial` in existing `custom.cfg`. **No reboot or +one-shot selection:** `next_entry` is empty; persistent default is STABLE `.20`; +running kernel remains `.20-enh1`. Both old Images/initramfs, generated GRUB, +GRUB environment and shared `boot.bin` remain byte-identical. Root-private backup: +`/var/lib/mseries-kernel-tests/staging/20261021T131440Z-aurora72-wip2`. + +All 2,042 regular payload files and symlinks compared with the audited package; +`dpkg -V` and `dpkg --audit` clean, both GRUB syntax checks pass. Host dpkg strips +`/usr/share/doc/*`; the first attempt detected omitted documentation before any +boot change. Reinstalled using the package-specific `--path-include` in the +[lane's staging instructions](aurora/unified72/BOOT-TRIAL.md), restoring licenses, +resolved config and provenance without changing the global policy. + +The original Arch encrypt/userspace/firmware entries remain identical; 91 new +initramfs modules and dependency closure match the exact CI package. Retain old +shared 7.1 DTBs: new DART parser passes 50 host controls on the exact J314S legacy +geometry. That preserves old fallback format, not a demonstrated recovery boot. +Mesa/UAPI and firmware-source checks plus DART/DCP/radio controls are recorded in +[preflight evidence](aurora/unified72/boot-preflight-2026-10-21.json). 71 repository +unit tests pass. Original failed host fixtures and corrected invocations are +identified, not hidden. Native build artifact is run 39595756051 at `b213999`; +repeat native run 39601423970 at `ed08d50` was still building when staging finished. + +**Next:** coordinate with owner/Claude for an attended one-shot boot, basic +unlock/display/input and manual qualification, then an actual return to `.20` +before suspend/power tests. See [first-boot sequence and limits](aurora/unified72/BOOT-TRIAL.md). +Full 64-fix semantic review and live hardware/Mesa acceptance remain open. Do not +start the next maintenance task or automatically arm/reboot this experiment. + ## Aurora 7.2 merged-source refresh selected — 2026-10-21 Owner selected refreshing the independent 7.2 candidate. The unified72 manifest @@ -13,8 +46,8 @@ Native ARM64 config/Image/modules/DTBs/package inspection and upload passed at `b213999`; the `.20` control passed too. Independent ZIP/checksum/full-source digest/package/J314S-DTB audit passed; [receipt](aurora/unified72/native-build-2026-10-21.json). Later audit/test/docs -edits preserve the recorded build input hashes. No host installation or boot -payload change. Shared-DTB/old-7.1 fallback, actual Mesa/UAPI, upstream M1 +edits preserve the recorded build input hashes. At this earlier build checkpoint +there was no host installation. The unarmed staging above supersedes that status. Actual Mesa clients, upstream M1 Touch ID regressions and J314S boot/suspend/recovery remain gates. See [the current lane and receipt](aurora/unified72/README.md). The refreshed 64-patch comparison is 0 forward / 40 reverse / 24 neither: mechanical checks, diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index 0faf74349..ebc53c8de 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,15 +1,17 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) -## Aurora 7.2 candidate refresh — 2026-10-21 - -Owner selected merged #139 as the next independent build candidate. unified72 -revision 3 pins `644133b7799f`, new wip2 module/package identity and no duplicate -bindgen patch. Selected GPU-reader/PMP host tests and native ARM64 build/inspection -pass [run 39595756051](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051), -with independent complete-source/checksum/package/DTB audit. Next: finish -semantic parity and actual Mesa/UAPI plus exact boot-chain/fallback/J314S -acceptance review. No live deployment or power win. -See [the lane's source review and limits](aurora/unified72/README.md). +## Aurora 7.2 staged for an attended trial — 2026-10-21 + +Merged #139 `644133b7799f` wip2 passed native build, independent artifact audit, +legacy-DTB/unlock checks and bounded DART/DCP/radio host controls. Owner approved +unarmed staging: separate package/Image/initramfs and non-default GRUB entry are +installed, all 2,042 regular package files verified. `.20` stays default; +`next_entry` empty, old fallback assets/shared `boot.bin` unchanged; no reboot. +71 repository unit tests pass. [Receipt and boundaries](aurora/unified72/boot-preflight-2026-10-21.json). +Next: owner/Claude-coordinated attended one-shot boot, actual Mesa/display/unlock +acceptance and return-to-.20 recovery. Full semantic parity, suspend and power +qualification remain open; no measured power win. +[First-boot plan](aurora/unified72/BOOT-TRIAL.md). ## Native Messages experience landed — 2026-10-20 diff --git a/mseries/aurora/test_unified72_boot.py b/mseries/aurora/test_unified72_boot.py new file mode 100644 index 000000000..43bcb36d1 --- /dev/null +++ b/mseries/aurora/test_unified72_boot.py @@ -0,0 +1,81 @@ +import hashlib +import importlib.util +from pathlib import Path +import struct +import tempfile +from types import SimpleNamespace +import unittest + + +LANE = Path(__file__).with_name("unified72") + + +def load(name): + spec = importlib.util.spec_from_file_location(name.replace("-", "_"), LANE / (name + ".py")) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +legacy = load("check-legacy-dtb") +trial = load("prepare-j314s-trial") + + +class Unified72BootTests(unittest.TestCase): + def test_trial_preparation_rejects_live_system_outputs_before_reading_inputs(self): + for path in ("/boot/never-stage-trial", "/usr/lib/never-stage-trial", "/etc/never-stage-trial", "/Volumes/never-stage-trial"): + with self.assertRaisesRegex(ValueError, "private work directory"): + trial.prepare(SimpleNamespace(output=Path(path))) + + def test_trial_preparation_preserves_existing_evidence(self): + with tempfile.TemporaryDirectory() as directory: + with self.assertRaisesRegex(ValueError, "fresh private"): + trial.prepare(SimpleNamespace(output=Path(directory))) + + def test_crypto_transition_policy_requires_explicit_matching_root_cipher(self): + with tempfile.TemporaryDirectory() as directory: + output = Path(directory) / "new" + with self.assertRaisesRegex(ValueError, "observed AES-XTS"): + trial.prepare(SimpleNamespace(output=output, root_cipher="serpent-xts-plain64")) + self.assertFalse(output.exists()) + + def test_trial_preparation_refuses_a_different_package_without_creating_output(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + package = root / "wrong.deb" + package.write_bytes(b"not the audited package") + with self.assertRaisesRegex(ValueError, "package identity differs"): + trial.prepare(SimpleNamespace(output=root / "new", root_cipher="aes-xts-plain64", package=package)) + self.assertFalse((root / "new").exists()) + + def test_fdt_parser_reads_the_big_endian_root_property(self): + value = b"apple,j314s\0" + tokens = struct.pack(">I", 1) + b"\0" * 4 + tokens += struct.pack(">III", 3, len(value), 0) + value + tokens += b"\0" * (-len(tokens) % 4) + tokens += struct.pack(">II", 2, 9) + names = b"compatible\0" + strings = 56 + len(tokens) + header = struct.pack(">10I", 0xd00dfeed, strings + len(names), 56, strings, 40, 17, 16, 0, len(names), len(tokens)) + data = header + b"\0" * 16 + tokens + names + self.assertEqual(legacy.fdt(data), {"/": {"compatible": value}}) + self.assertEqual(legacy.strings(value), ["apple,j314s"]) + + def test_fdt_parser_refuses_truncated_or_wrong_format_inputs(self): + for data in (b"", b"\0" * 40, b"\xd0\x0d\xfe\xed"): + with self.assertRaises(ValueError): + legacy.fdt(data) + + def test_iommu_cells_cannot_silently_truncate(self): + self.assertEqual(legacy.cells(b"\0\0\0\x01"), (1,)) + with self.assertRaisesRegex(ValueError, "unaligned"): + legacy.cells(b"\0\0\x01") + + def test_old_module_exceptions_are_explicit_and_narrow(self): + self.assertEqual(set(trial.TRANSITIONS), { + "kernel/crypto/fcrypt.ko", "kernel/crypto/pcbc.ko", "kernel/lib/raid6/raid6_pq.ko"}) + self.assertEqual(len(trial.BASE_SHA), hashlib.sha256().digest_size * 2) + + +if __name__ == "__main__": + unittest.main() diff --git a/mseries/aurora/unified72/BOOT-TRIAL.md b/mseries/aurora/unified72/BOOT-TRIAL.md new file mode 100644 index 000000000..c96a762a8 --- /dev/null +++ b/mseries/aurora/unified72/BOOT-TRIAL.md @@ -0,0 +1,114 @@ +# J314S wip2: staged, unarmed experimental trial + +## Installed state, October 21, 2026 + +Owner approved **unarmed staging**. Installed separate package +`linux-image-elementary-aurora72-wip2` version `7.2.10+elementary.aurora72.wip2-1`, +`/boot/vmlinuz-aurora72-wip2`, +`/boot/initrd.img-7.2.10-elementary-aurora72-wip2` and non-default GRUB entry +`elementary-aurora72-wip2-trial`. No one-shot was set and no reboot occurred. +STABLE `elementary-aurora20` remains persistent default; running `.20-enh1` +is unchanged. Generated `grub.cfg` was not regenerated. + +[Staging receipt](boot-preflight-2026-10-21/staging.json) records exact before/after +hashes and the root-private byte-exact backups in +`/var/lib/mseries-kernel-tests/staging/20261021T131440Z-aurora72-wip2`. +The original complete CI ZIP, package/source/provenance and private prepared +bundle remain in the owner's October 21 Codex workspace `outputs/`. +[Build receipt](native-build-2026-10-21.json) binds the actual installed package +to successful native CI at `b213999`; later documentation/host controls do not +change builder/manifest inputs or substitute the repeat CI's artifacts. + +The host has `path-exclude=/usr/share/doc/*`. Initial install omitted licenses +and provenance, detected before any boot-file change. Scoped reinstall used: + +```sh +sudo dpkg --path-include='/usr/share/doc/linux-image-elementary-aurora72-wip2/*' \ + --install /absolute/path/to/the/audited/wip2.deb +``` + +This flag may be needed on a future reinstall on this host. No global dpkg +policy was changed. All 2,042 regular payload files and symlinks matched the +audited extracted package afterward; `dpkg -V` and `dpkg --audit` were clean. + +## Compatibility boundary + +The shared `boot.bin` is byte-identical to the working baseline. It retains the +old J314S DTB (`a29ff688...`); the package's new J314S DTB (`2ca12547...`) is an +on-disk asset, **not selected for this boot**. Keeping the old one-cell DART +format avoids forcing the old `.20` fallback to parse new five-cell specifiers. +The unmodified new parser passed 50 host controls using this DT's geometry, +covering 37 providers / 36 explicit client specifiers. Hardware parameter +register probing is not emulated. This is not complete DT or recovery proof. + +The original Arch mkinitcpio encrypt/userspace/keymap/firmware entries and early +archive remain identical. Only module selectors/dependencies changed. The two +absent fcrypt/pcbc modules are outside observed AES-XTS LUKS2 root requirements; +AES/XTS/SHA256 are built in. RAID6 moved paths and is included through the new +Btrfs closure. All 91 embedded module bytes match the pinned original package. +`prepare-j314s-trial.py` reproduces offline preparation and refuses unexpected +identities/transitions; it does not install or arm anything. Its output must be +private. `check-legacy-dtb.py` runs the bounded parser controls against verified +source and the pinned retained DTB. All 71 repository tests pass. + +[Preflight receipt](boot-preflight-2026-10-21.json) and its adjacent evidence +retain the exact Mesa/UAPI and firmware checks and host controls. The live +compositor uses Mesa 26.0.8; Asahi UAPI declarations are unchanged. GPU/internal +and external DCP firmware compat 13.5.0 is explicitly supported in the merged +source. Actual clients on the new kernel remain untested. + +DART firmware (63), Bluetooth (46), tunnel-route and DCP host controls passed. +The original DART range fixture is stale and failed compilation; retained patch +ports only its host stubs/expectations, with 12 passing controls and unchanged +production source. The initial DCP suite passed 55/56 groups; its USB Kconfig +producer passed all four cases when rerun with an absolute output path. +Do not report a single 56/56 invocation or hide the initial failure. Host mocks +retain command17 replay counterexamples; they do not prove firmware timing or +replay exclusion. Full 64-fix semantic parity remains open. + +## Later attended boot, after owner/Claude coordination + +1. Recheck installed package/Image/initramfs and protected fallback hashes + against the staging receipt; confirm `.20` default and empty `next_entry`. + Preserve another owner's armed trial if anything has changed. +2. With an owner present and explicit go-ahead, select + **TRIAL: Aurora 7.2 wip2** once at GRUB. A separately authorized one-shot may + be used; do not change the persistent default. No service should arm this + automatically. The current authorization stops at unarmed staging. +3. Use the password for root unlock/login initially. Do not re-enroll Touch ID, + disable xART, or add optional sleep/user4k parameters. Upstream records M1 + first-attempt Touch ID regression and an unexplained M1 Pro early hang. +4. If it hangs, record the visible last message. If unresponsive, power off and + select **STABLE: Aurora .20** at the next GRUB menu. The menu has a five-second + timeout. The rollback payloads exist; recovery has not yet been demonstrated + after a new-kernel boot. Do not rewrite `boot.bin` to attempt a repair. +5. After a successful boot, verify exact `uname -r`, live build ID against the + new Image, module vermagic/hashes, unchanged shared payload, selected legacy + DART bindings and firmware compatibility. Confirm internal/dock picture and + input and examine current-boot logs for panic/oops/lockup before more tests. +6. Collect current-boot kernel logs privately and invoke `qualification.py + collect` with explicit new Image and shared `boot.bin`, then + `hardware/kernel-smoke.py` with that matching receipt. Its GPU shader/pixel + readback and 1 MiB fsync must actually run on wip2; old-kernel results do not + qualify wip2. Keep any missing power/display fields unknown. Do not publish + raw UUIDs, kernel logs or unlock archives. +7. Record the scoped results, then perform an attended return to default `.20` + and bind a separate receipt to that boot. Only after basic acceptance and + actual fallback recovery proceed to suspend, dock replug and paired power + tests. Staging, CI or a single desktop boot is not stable promotion. + +The automatic session timer currently expects a compositor `PowerSaveMode` +property that this Rust compositor does not expose. Use explicit manual +collection for this first trial. Qualification's packaged DTB hash describes +an asset under the module tree; record the retained selected boot DTB separately. + +## Reversing staging + +Leave the separate package installed while investigating a failed trial; it +cannot change the running kernel by itself. To remove the menu/files later, +first compare live files to this staging receipt and ensure no other agent has +updated or selected them. Restore only the backed-up `custom.cfg` if it still +matches this staged hash, and remove only the new wip2 Image/initramfs after +confirming their hashes. Do not restore or overwrite the shared payload, old +kernel files or generated GRUB as part of routine unstage. Do not remove the +wip2 modules while running wip2. Record any rollback separately. diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index 9d55b7e75..d8db95603 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -1,5 +1,14 @@ # Unified Aurora 7.2.10 build candidate +## Current host state — October 21, 2026 + +Owner approved and completed **unarmed staging** of wip2: the separate package, +Image/initramfs and non-default GRUB entry are installed. `.20` remains default, +`next_entry` is empty, old boot files and shared `boot.bin` are unchanged. Running +kernel remains `.20-enh1`; no 7.2 boot or hardware qualification is claimed. +See [staging/attended trial plan](BOOT-TRIAL.md) and +[preflight receipt](boot-preflight-2026-10-21.json). Never automatically arm this trial. + ## Merged source refresh — October 21, 2026 The owner selected a refresh of this independent Aurora 7.2 candidate. Revision 3 @@ -81,7 +90,7 @@ fail on pin/config/identity errors; none installs a package. ## Hardware and compatibility gates -This remains **build-only**. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) +This is an **experimental, staged but unarmed trial**, not hardware-qualified. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) records the old `582e9ef3` snapshot; retain it as history. The new focused review supersedes only its three inspected GPU/SEP gap descriptions, not all 64 semantic review requirements. Check the intended Mesa/kernel UAPI and actual client @@ -95,7 +104,9 @@ kernel update. The installed `boot.bin` shares one DTB set across GRUB entries. Upstream notes that older 7.1 fallback kernels need a compatible five-cell DART backport to use -the newer DTBs. Retaining an old kernel entry alone does not prove recovery. +the newer DTBs. This trial retains the byte-exact old shared DTB set; the new parser accepts +its legacy one-cell geometry in the host controls. Retaining an old kernel entry +alone does not prove recovery. Review exact DT/m1n1/U-Boot, initramfs/root-unlock and accessible byte-exact rollback together. Display/GPU/storage/radio/input/thermal/suspend and recovery acceptance remain separate from compilation and source review. diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21.json b/mseries/aurora/unified72/boot-preflight-2026-10-21.json new file mode 100644 index 000000000..d325bae62 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21.json @@ -0,0 +1,78 @@ +{ + "schema": 1, + "status": "owner-approved experimental trial staged and unarmed; no 7.2 hardware boot yet", + "upstream_commit": "644133b7799f759c5bfd88507b6246d298b6509c", + "audited_build_head": "b21399953faa576b17f3121087742fb597c872a5", + "audited_native_build": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051", + "release": "7.2.10-elementary-aurora72-wip2", + "hardware": "J314S / M1 Pro", + "selected_shared_boot_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "selected_legacy_j314s_dtb_sha256": "a29ff68864e785f05f5f3e44d5bea8ab3166ac52958ea52023c2fa40740fd306", + "packaged_new_dtb_used_for_boot": false, + "legacy_dart": { + "providers": 37, + "explicit_client_specifiers": 36, + "host_controls": 50, + "source_body_unchanged": true, + "hardware_parameter_registers_emulated": false + }, + "initramfs": { + "original_unlock_and_nonmodule_entries_identical": true, + "early_firmware_prefix_identical": true, + "modules_verified_against_pinned_deb": 91, + "explicit_transitions": { + "kernel/crypto/fcrypt.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/crypto/pcbc.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/lib/raid6/raid6_pq.ko": "Relocated to kernel/lib/raid/raid6/raid6_pq.ko; retained through the new Btrfs dependency closure." + } + }, + "mesa": { + "version": "26.0.8-1ubuntu0.3", + "compositor_loaded_libraries": [ + "/usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0.0.0", + "/usr/lib/aarch64-linux-gnu/libgallium-26.0.8-1ubuntu0.3.so" + ], + "asahi_uapi_declarations_unchanged": true, + "observed_gpu_internal_external_dcp_firmware_compat": "13.5.0", + "merged_gpu_and_dcp_source_accept_observed_firmware": true, + "actual_new_kernel_clients_qualified": false + }, + "host_controls": { + "dart_firmware": 63, + "bluetooth": 46, + "dcp_tunnel": "one extracted production-logic executable passed", + "dart_range_ported": 12, + "dcp_initial_groups": { + "pass": 55, + "total": 56 + }, + "dcp_failed_group": "usb-kconfig relative output path at subprocess cwd", + "dcp_corrected_absolute_path_rerun": { + "pass": true, + "cases": 4 + }, + "production_kernel_source_modified": false + }, + "repository_unit_tests": 71, + "installation_receipt": "boot-preflight-2026-10-21/staging.json", + "limits": [ + "Full 64-fix semantic parity remains open; mechanical 0/40/24 comparison is not semantic qualification.", + "Host fixtures do not emulate firmware timing, DART probing or physical hardware. DCP command17 replay counterexamples remain represented, not disproved.", + "Original upstream DART range harness does not compile against the new interface; only host stubs and changed drain-on-error expectations were ported. Patch retained.", + "The initial DCP run passed 55/56 groups; the remaining original Kconfig producer passed its four cases when rerun with an absolute output path. These are two invocations.", + "Touch ID first-attempt regression and upstream early hang remain risks. Retaining old DTBs is not a boot or recovery pass.", + "Live 7.2 unlock, Mesa shader/readback, dock display, storage, radio, thermal, suspend and return-to-.20 recovery remain unverified.", + "Automatic session capture expects an unavailable compositor PowerSaveMode property; initial trial requires explicit manual collection, retaining unknown fields." + ], + "build_inputs_verified_unchanged_from_tested_head": { + "mseries/aurora/candidate.py": "99ec56366026178d046d1853b7dadb1f30ba9ce81aac8fb821c4a456265a1782", + "mseries/aurora/unified72/series.json": "1abdc9dd15f4977c6a5828b2f6a38d474c5cf7d620b155ee15b3fc9ab28c844c", + ".github/workflows/aurora-enhancements.yml": "d3e79f8375122fdcbe82594dbcc7c9e3ce696a6d606c412d8306bcee4cee0644" + }, + "repeat_ci_at_staging_review": { + "conclusion": "", + "headSha": "ed08d502d294f6fa8c9160852e91f6f2ff5c802e", + "status": "in_progress", + "url": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970" + } +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/bluetooth.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/bluetooth.json new file mode 100644 index 000000000..e750f2ffc --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/bluetooth.json @@ -0,0 +1,320 @@ +{ + "source_sha256": "07a6fd91f45ffd804aa8e0e8121b142cbb4f43cd33c90b802ba2c167c70bd90a", + "core_sha256": "0ba1e8b7635f1cda5799aa13932ab4cee1e6afb7a2906468bcba96dd6ab31ac7", + "core_hci_sha256": "9427d8888052e3c3c794871443e56c940623f10023e135d064e50fac74967edb", + "core_bodies": { + "hci_cmd_timeout": "5ac5c716c026ce73c70adc1519134015f22feed725a325b5e26eb4acb62bf7e9", + "hci_cancel_cmd_sync": "bf9b9b75842ecff61d309eea4d78de64ca09a29c5395e3d83dd745c14d1e1815", + "hci_suspend_dev": "e944edfa6061f0634095b3a56512d39dee5d3d4dda9f45bf0462177616e06ed7", + "hci_resume_dev": "bf45873b16e595a37bd7a9ff6cc458cf09d325edadb499714cba1059c0463f1f" + }, + "actual_hw_struct_sha256": "6785ba0d05624c16144b0ca04d90df37ae16146cd69f6f3a1c2f904869b1de18", + "actual_hw_table_sha256": "d39a6bfae0dc77ab22a0432d6aa96f5e57ae3f704f4945a3f67c08e824909942", + "table_callback_fixture": "Production variant table compiled unchanged; only calibration/PTB callback names map to controlled send boundaries.", + "extracted_bodies": { + "bcm4377_setup_retry_allowed": "52911aa634b10402a7f030ac7e86a6d20407986bc98ad257e3e6361b2c9f9b6b", + "bcm4377_queue_setup_retry": "981a5dd7ecb97a0ee6d44cc38e38ec29a9f1376444e9dfdcec3b69c7f6bb288e", + "bcm4377_setup_retry_work": "3de7fa80bc2944ff545bfd39c8e83f0beb6527d512e4163a6c1484bb67d85b73", + "bcm4377_resume_recovery_supported": "f05e71234ce8bfc2c5f5ff47f4fd4f1e3012ab2e3da2d3b30d88a11c66d04a16", + "bcm4377_resume_recovery_allowed": "9710f0c72f70d0849c380a7d5998f78635bd7f9e5360bf43d20035c22e799e84", + "bcm4377_resume_recovery_invalidate": "9b80bfeb63a4424b26fae29dcc52249ac6a592e017618866d80e786b4007d216", + "bcm4377_resume_recovery_sync": "7990801cbebcf9659cead56197c7d701b9f09dfe684a6c23b75ba29e6e0e8641", + "bcm4377_resume_recovery_destroy": "234ae0404401437c0806bed5fb380e71d2c047b6ab7d7da32496fa478da0cd7a", + "bcm4377_resume_recovery_work": "74118d1147d8620d8898328e8c0fc20365c3c0b19475c457975efaedf162d392", + "bcm4377_hci_timeout": "127262d5fad3c45289d7b266111ab9700587d919054d250001620402aacaf1d8", + "bcm4377_resume_recovery_stop": "fd5872b0f52060365a3ed57492fd1bb961175932d9884437d77936dab7193e73", + "bcm4377_hci_open": "4ebedd25c6673e603d99e0c405c6d2fcfd3c3b2cd3650d41bb856e40dbd85a52", + "bcm4377_hci_close": "c72542c5027f09869cf94657cbd81078b55b82d36e7800f1485f88792cbbac15", + "bcm4377_hci_setup_once": "9e704bd0261a41c53f35cb805d66e147c69e106f3eeb7ae84f110adea9733dcc", + "bcm4377_hci_setup": "6e236c086167ccb9fed54b935ced09be47dfb12460f361552f8da6f8552bd3ee", + "bcm4377_hci_post_init": "6199c1a61f9644522664fb7f935896ddd0f3267543432492687e8cd4d4dbc78a", + "bcm4377_hci_unregister_dev": "785079bf4ebda91d5f18503bdc747642e79acbc2746dc52d01e04cbf0556051f", + "bcm4377_suspend": "fed0442efa7c333fbbc064d583dfecdc4a5e35e49bf5ba1d5f1dbd72d24ed4a2", + "bcm4377_resume": "9ba0c194cb3f60ee45392a33f8686637d9b0015bde6327e207e453b786ba592d" + }, + "shared_new_prerequisites_for_old": [], + "old_ref": null, + "mutation": null, + "core_fixture_adapter": "Only HCI_UP test_bit index is translated from fixture mask32 to index5; production conditions/order unchanged.", + "source_semantics": "Actual driver callbacks and synchronous close/open helper; core request serialization, PCI/firmware and HCI services are controlled fixtures, not whole-kernel or radio execution.", + "translation_sha256": "a0b49ed25d533efcd0b503d833d4b0f810e0bb1e471e5437b7db55993eb04dbc", + "controls": [ + { + "case": 0, + "exit": 0, + "stdout": "case 0 passed\n", + "stderr": "" + }, + { + "case": 1, + "exit": 0, + "stdout": "case 1 passed\n", + "stderr": "" + }, + { + "case": 2, + "exit": 0, + "stdout": "case 2 passed\n", + "stderr": "" + }, + { + "case": 3, + "exit": 0, + "stdout": "case 3 passed\n", + "stderr": "" + }, + { + "case": 4, + "exit": 0, + "stdout": "case 4 passed\n", + "stderr": "" + }, + { + "case": 5, + "exit": 0, + "stdout": "case 5 passed\n", + "stderr": "" + }, + { + "case": 6, + "exit": 0, + "stdout": "case 6 passed\n", + "stderr": "" + }, + { + "case": 7, + "exit": 0, + "stdout": "case 7 passed\n", + "stderr": "" + }, + { + "case": 8, + "exit": 0, + "stdout": "case 8 passed\n", + "stderr": "" + }, + { + "case": 9, + "exit": 0, + "stdout": "case 9 passed\n", + "stderr": "" + }, + { + "case": 10, + "exit": 0, + "stdout": "case 10 passed\n", + "stderr": "" + }, + { + "case": 11, + "exit": 0, + "stdout": "case 11 passed\n", + "stderr": "" + }, + { + "case": 12, + "exit": 0, + "stdout": "case 12 passed\n", + "stderr": "" + }, + { + "case": 13, + "exit": 0, + "stdout": "case 13 passed\n", + "stderr": "" + }, + { + "case": 14, + "exit": 0, + "stdout": "case 14 passed\n", + "stderr": "" + }, + { + "case": 15, + "exit": 0, + "stdout": "case 15 passed\n", + "stderr": "" + }, + { + "case": 16, + "exit": 0, + "stdout": "case 16 passed\n", + "stderr": "" + }, + { + "case": 17, + "exit": 0, + "stdout": "case 17 passed\n", + "stderr": "" + }, + { + "case": 18, + "exit": 0, + "stdout": "case 18 passed\n", + "stderr": "" + }, + { + "case": 19, + "exit": 0, + "stdout": "case 19 passed\n", + "stderr": "" + }, + { + "case": 20, + "exit": 0, + "stdout": "case 20 passed\n", + "stderr": "" + }, + { + "case": 21, + "exit": 0, + "stdout": "case 21 passed\n", + "stderr": "" + }, + { + "case": 22, + "exit": 0, + "stdout": "case 22 passed\n", + "stderr": "" + }, + { + "case": 23, + "exit": 0, + "stdout": "case 23 passed\n", + "stderr": "" + }, + { + "case": 24, + "exit": 0, + "stdout": "case 24 passed\n", + "stderr": "" + }, + { + "case": 25, + "exit": 0, + "stdout": "case 25 passed\n", + "stderr": "" + }, + { + "case": 26, + "exit": 0, + "stdout": "case 26 passed\n", + "stderr": "" + }, + { + "case": 27, + "exit": 0, + "stdout": "case 27 passed\n", + "stderr": "" + }, + { + "case": 28, + "exit": 0, + "stdout": "case 28 passed\n", + "stderr": "" + }, + { + "case": 29, + "exit": 0, + "stdout": "case 29 passed\n", + "stderr": "" + }, + { + "case": 30, + "exit": 0, + "stdout": "case 30 passed\n", + "stderr": "" + }, + { + "case": 31, + "exit": 0, + "stdout": "case 31 passed\n", + "stderr": "" + }, + { + "case": 32, + "exit": 0, + "stdout": "case 32 passed\n", + "stderr": "" + }, + { + "case": 33, + "exit": 0, + "stdout": "case 33 passed\n", + "stderr": "" + }, + { + "case": 34, + "exit": 0, + "stdout": "case 34 passed\n", + "stderr": "" + }, + { + "case": 35, + "exit": 0, + "stdout": "case 35 passed\n", + "stderr": "" + }, + { + "case": 36, + "exit": 0, + "stdout": "case 36 passed\n", + "stderr": "" + }, + { + "case": 37, + "exit": 0, + "stdout": "case 37 passed\n", + "stderr": "" + }, + { + "case": 38, + "exit": 0, + "stdout": "case 38 passed\n", + "stderr": "" + }, + { + "case": 39, + "exit": 0, + "stdout": "case 39 passed\n", + "stderr": "" + }, + { + "case": 40, + "exit": 0, + "stdout": "case 40 passed\n", + "stderr": "" + }, + { + "case": 41, + "exit": 0, + "stdout": "case 41 passed\n", + "stderr": "" + }, + { + "case": 42, + "exit": 0, + "stdout": "case 42 passed\n", + "stderr": "" + }, + { + "case": 43, + "exit": 0, + "stdout": "case 43 passed\n", + "stderr": "" + }, + { + "case": 44, + "exit": 0, + "stdout": "case 44 passed\n", + "stderr": "" + }, + { + "case": 45, + "exit": 0, + "stdout": "case 45 passed\n", + "stderr": "" + } + ], + "expected_exit": 0 +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-firmware.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-firmware.json new file mode 100644 index 000000000..90f74e57a --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-firmware.json @@ -0,0 +1,415 @@ +{ + "source_sha256": "5c3cf935b6b70c6185153159df162b4b14cbe4c0e0f4e5a2553a7690ef3651dc", + "functions": { + "apple_dart_fw_handoff_enabled": "1e9f5ac8814dc86311b518390d1ed6d3dc973317a31964b5d1fca0c172fa60cb", + "apple_dart_pte_to_paddr": "3cd457a0d5d99e991ba60ce92d08a8a2772cd192fe1fdadfca83688b3c729ad9", + "apple_dart_fw_table_ram": "3e1741f105acfaa3ca7330b0b79c833bcd0fa78d9ef0bab2d31faf26366b1998", + "apple_dart_fw_table_decode": "933b93eb936fbe1001069c8968326268c4196250ed185939641a3f5e45676674", + "apple_dart_fw_slot_owned": "976bf4cd2aeb1b9dfbd2ab88ea8393d6e9ee71b89622d0969a170612b2f71aed", + "apple_dart_fw_leaf_decode": "c5581fc68743878c5768327cb5887cb6950564ba48441f4c5fb625c17d5c14fa", + "apple_dart_fw_mapping_matches": "80b59f395c55786ed0f1956cd786940168e0194bc51ddcf391366685be064efb", + "apple_dart_fw_slot_mirrors": "b3598ac5c3876e4f555cb615d78b33822c891fa6582d78fc128d7b64c703aa0f", + "apple_dart_publish_root": "fed1a757d4e6a0c190cc3c9b4db0be08fd26b9395575fed5fa519eb359cd774d", + "apple_dart_retire_root": "5ab8fc482225de6e58c1329a79180d1171ebb9f3a9227ed0aeb015deb35c769e", + "apple_dart_free_fw_root": "f6460ed2841275e607753e3f3999ad5477539f0726e45d2130f4298f902fa1a6", + "apple_dart_snapshot_fw_root": "94a41d52de4d8d9c7980d5b99c1633073dff3f4d96ea60efc78feaa387be921b", + "apple_dart_fw_slot_foreign": "b7548648171186b6d2883e08bf3eb7b7da1e1afb47f0abaeb6a8736746d98f37", + "apple_dart_domain_uses_fw": "6e6f79d2f4bad138ed9d8bb688912148f8ef54fa586379bb1fabbf68027a72ca", + "apple_dart_check_fw_map": "05f4c60009dce8aee7b96c2a817d3e8def792911696db39c3976b411d90bdae0", + "apple_dart_inherited_phys": "1bb0073e3c5fe0ee96115d1eb984470970f3436c583661276b684d10e07bd627", + "apple_dart_fw_slot_range": "68be2b5d9f692201ae3930f7e628de82e59c87b31129894176939592ab56a59c", + "apple_dart_get_fw_resv_regions": "1bf25ec1971d415e37c10585988833a426180413d780e991b14e0d725a003ad4", + "apple_dart_fw_invalidate": "3aa631a71d6e1d354940a9b275f2e837378f8d5945d60e53294b126631939464" + }, + "core_function_sha256": "72016472e0ef937bb8806f3ce8e3988f1076bf06b98397c4215272ca02887db2", + "fixture_sha256": "5e44b7ec6bf7bb43bb3329928c5551cad446f9190a93b29b2818a4b4db0ebd07", + "compile": [ + "cc", + "-std=gnu11", + "-Werror", + "work/aurora72-boot-prep/dart-fw-controls/production.c", + "-o", + "work/aurora72-boot-prep/dart-fw-controls/production" + ], + "controls": [ + { + "case": "legacy-map-match", + "exit": 0, + "stdout": "PASS legacy-map-match\n", + "stderr": "" + }, + { + "case": "legacy-map-mismatch", + "exit": 0, + "stdout": "PASS legacy-map-mismatch\n", + "stderr": "" + }, + { + "case": "legacy-lookup", + "exit": 0, + "stdout": "PASS legacy-lookup\n", + "stderr": "" + }, + { + "case": "legacy-snapshot", + "exit": 0, + "stdout": "PASS legacy-snapshot\n", + "stderr": "" + }, + { + "case": "mirror", + "exit": 0, + "stdout": "PASS mirror\n", + "stderr": "" + }, + { + "case": "changed-leaf", + "exit": 0, + "stdout": "PASS changed-leaf\n", + "stderr": "" + }, + { + "case": "wrong-permission", + "exit": 0, + "stdout": "PASS wrong-permission\n", + "stderr": "" + }, + { + "case": "wrong-physical", + "exit": 0, + "stdout": "PASS wrong-physical\n", + "stderr": "" + }, + { + "case": "malformed-leaf", + "exit": 0, + "stdout": "PASS malformed-leaf\n", + "stderr": "" + }, + { + "case": "vacant", + "exit": 0, + "stdout": "PASS vacant\n", + "stderr": "" + }, + { + "case": "changed-owner", + "exit": 0, + "stdout": "PASS changed-owner\n", + "stderr": "" + }, + { + "case": "retire", + "exit": 0, + "stdout": "PASS retire\n", + "stderr": "" + }, + { + "case": "reserved-ram", + "exit": 0, + "stdout": "PASS reserved-ram\n", + "stderr": "" + }, + { + "case": "unreserved", + "exit": 0, + "stdout": "PASS unreserved\n", + "stderr": "" + }, + { + "case": "mmio", + "exit": 0, + "stdout": "PASS mmio\n", + "stderr": "" + }, + { + "case": "misalignment", + "exit": 0, + "stdout": "PASS misalignment\n", + "stderr": "" + }, + { + "case": "address-width", + "exit": 0, + "stdout": "PASS address-width\n", + "stderr": "" + }, + { + "case": "root-encoding", + "exit": 0, + "stdout": "PASS root-encoding\n", + "stderr": "" + }, + { + "case": "leaf-as-table", + "exit": 0, + "stdout": "PASS leaf-as-table\n", + "stderr": "" + }, + { + "case": "snapshot", + "exit": 0, + "stdout": "PASS snapshot\n", + "stderr": "" + }, + { + "case": "snapshot-malformed", + "exit": 0, + "stdout": "PASS snapshot-malformed\n", + "stderr": "" + }, + { + "case": "snapshot-unreserved", + "exit": 0, + "stdout": "PASS snapshot-unreserved\n", + "stderr": "" + }, + { + "case": "snapshot-root-change", + "exit": 0, + "stdout": "PASS snapshot-root-change\n", + "stderr": "" + }, + { + "case": "snapshot-map-failure", + "exit": 0, + "stdout": "PASS snapshot-map-failure\n", + "stderr": "" + }, + { + "case": "snapshot-allocation-failure", + "exit": 0, + "stdout": "PASS snapshot-allocation-failure\n", + "stderr": "" + }, + { + "case": "range-three", + "exit": 0, + "stdout": "PASS range-three\n", + "stderr": "" + }, + { + "case": "range-offset", + "exit": 0, + "stdout": "PASS range-offset\n", + "stderr": "" + }, + { + "case": "range-width", + "exit": 0, + "stdout": "PASS range-width\n", + "stderr": "" + }, + { + "case": "range-overflow", + "exit": 0, + "stdout": "PASS range-overflow\n", + "stderr": "" + }, + { + "case": "range-underflow", + "exit": 0, + "stdout": "PASS range-underflow\n", + "stderr": "" + }, + { + "case": "range-four", + "exit": 0, + "stdout": "PASS range-four\n", + "stderr": "" + }, + { + "case": "range-four-last", + "exit": 0, + "stdout": "PASS range-four-last\n", + "stderr": "" + }, + { + "case": "map-firmware", + "exit": 0, + "stdout": "PASS map-firmware\n", + "stderr": "" + }, + { + "case": "map-hole", + "exit": 0, + "stdout": "PASS map-hole\n", + "stderr": "" + }, + { + "case": "map-host", + "exit": 0, + "stdout": "PASS map-host\n", + "stderr": "" + }, + { + "case": "map-owned", + "exit": 0, + "stdout": "PASS map-owned\n", + "stderr": "" + }, + { + "case": "map-unmatched", + "exit": 0, + "stdout": "PASS map-unmatched\n", + "stderr": "" + }, + { + "case": "map-attached", + "exit": 0, + "stdout": "PASS map-attached\n", + "stderr": "" + }, + { + "case": "lookup-inherited", + "exit": 0, + "stdout": "PASS lookup-inherited\n", + "stderr": "" + }, + { + "case": "lookup-changed-leaf", + "exit": 0, + "stdout": "PASS lookup-changed-leaf\n", + "stderr": "" + }, + { + "case": "lookup-changed-root", + "exit": 0, + "stdout": "PASS lookup-changed-root\n", + "stderr": "" + }, + { + "case": "lookup-unmatched", + "exit": 0, + "stdout": "PASS lookup-unmatched\n", + "stderr": "" + }, + { + "case": "reserve-firmware", + "exit": 0, + "stdout": "PASS reserve-firmware\n", + "stderr": "" + }, + { + "case": "reserve-teardown", + "exit": 0, + "stdout": "PASS reserve-teardown\n", + "stderr": "" + }, + { + "case": "reserve-unmatched", + "exit": 0, + "stdout": "PASS reserve-unmatched\n", + "stderr": "" + }, + { + "case": "reserve-owned", + "exit": 0, + "stdout": "PASS reserve-owned\n", + "stderr": "" + }, + { + "case": "invalidate-three", + "exit": 0, + "stdout": "PASS invalidate-three\n", + "stderr": "" + }, + { + "case": "invalidate-four", + "exit": 0, + "stdout": "PASS invalidate-four\n", + "stderr": "" + }, + { + "case": "invalidate-changed-root", + "exit": 0, + "stdout": "PASS invalidate-changed-root\n", + "stderr": "" + }, + { + "case": "invalidate-error", + "exit": 0, + "stdout": "PASS invalidate-error\n", + "stderr": "" + }, + { + "case": "core-inherited", + "exit": 0, + "stdout": "PASS core-inherited\n", + "stderr": "" + }, + { + "case": "core-hole", + "exit": 0, + "stdout": "PASS core-hole\n", + "stderr": "" + }, + { + "case": "core-changed-leaf", + "exit": 0, + "stdout": "PASS core-changed-leaf\n", + "stderr": "" + }, + { + "case": "snapshot-unmatched", + "exit": 0, + "stdout": "PASS snapshot-unmatched\n", + "stderr": "" + }, + { + "case": "snapshot-four", + "exit": 0, + "stdout": "PASS snapshot-four\n", + "stderr": "" + }, + { + "case": "range-four-width", + "exit": 0, + "stdout": "PASS range-four-width\n", + "stderr": "" + }, + { + "case": "range-three-last", + "exit": 0, + "stdout": "PASS range-three-last\n", + "stderr": "" + }, + { + "case": "handoff-matched", + "exit": 0, + "stdout": "PASS handoff-matched\n", + "stderr": "" + }, + { + "case": "handoff-missing", + "exit": 0, + "stdout": "PASS handoff-missing\n", + "stderr": "" + }, + { + "case": "handoff-duplicate", + "exit": 0, + "stdout": "PASS handoff-duplicate\n", + "stderr": "" + }, + { + "case": "handoff-zero", + "exit": 0, + "stdout": "PASS handoff-zero\n", + "stderr": "" + }, + { + "case": "handoff-unlocked", + "exit": 0, + "stdout": "PASS handoff-unlocked\n", + "stderr": "" + }, + { + "case": "handoff-other-soc", + "exit": 0, + "stdout": "PASS handoff-other-soc\n", + "stderr": "" + } + ], + "limits": "Actual production function bodies; RAM allocator, mapped memory and firmware mutations controlled on host; no hardware execution" +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-legacy.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-legacy.json new file mode 100644 index 000000000..1e6fa2e67 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-legacy.json @@ -0,0 +1,312 @@ +{ + "schema": 1, + "kind": "retained-dtb-dart-host-controls", + "dtb_sha256": "a29ff68864e785f05f5f3e44d5bea8ab3166ac52958ea52023c2fa40740fd306", + "production_source_sha256": "5c3cf935b6b70c6185153159df162b4b14cbe4c0e0f4e5a2553a7690ef3651dc", + "production_function_sha256": "be30c1e0d5217cd444d3e41173dc73a3b5c8547343affe4e5323b51598b9f746", + "fixture_sha256": "352bf589f9e635bee62cdaee2c80ad256bd83be2c11305c068b9d44e5c7f622b", + "providers": { + "/soc/iommu@285800000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@285810000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@285820000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@28e300000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@293808000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@38b304000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@38b30c000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 2130303778816, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@3952c0000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@3860e8000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@3860f4000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@3860fc000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@581008000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@582008000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@583008000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@584008000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@287010000": { + "compatible": [ + "apple,t8110-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@289304000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@28930c000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 2130303778816, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@28c304000": { + "compatible": [ + "apple,t6000-dart", + "apple,t8110-dart" + ], + "base": 0, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@28c30c000": { + "compatible": [ + "apple,t6000-dart", + "apple,t8110-dart" + ], + "base": 2130303778816, + "size": 4227858432, + "window_input": "DT property" + }, + "/soc/iommu@39b004000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@39b008000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/cio@701ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@702f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@702f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/cio@b01ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@b02f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@b02f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/cio@f01ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@f02f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@f02f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@1302f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/iommu@1302f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "modeled 32-bit default; hardware parameter registers not emulated" + }, + "/soc/usb4-pcie-tunnel-0/iommu@721008000": { + "compatible": [ + "apple,t8110-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "DT property" + }, + "/soc/usb4-pcie-tunnel-1/iommu@b21008000": { + "compatible": [ + "apple,t8110-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "DT property" + }, + "/soc/usb4-pcie-tunnel-2/iommu@f21008000": { + "compatible": [ + "apple,t8110-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "DT property" + }, + "/soc/usb4-pcie-tunnel-3/iommu@1321008000": { + "compatible": [ + "apple,t8110-dart" + ], + "base": 0, + "size": 4294967296, + "window_input": "DT property" + } + }, + "legacy_client_specifiers": 36, + "stdout": "50 parser controls passed\n", + "result": "pass", + "limits": "Unmodified parser executed with DT-derived legacy geometry and synthetic new/invalid windows. Not a DART probe, firmware, complete DT compatibility or hardware boot qualification." +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-host-fixture.patch b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-host-fixture.patch new file mode 100644 index 000000000..58b8ffbe4 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-host-fixture.patch @@ -0,0 +1,79 @@ +--- a/tools/asahi/apple-dart-range-tests.py ++++ b/tools/asahi/apple-dart-range-tests.py +@@ -30,7 +30,7 @@ + #include + #include + #include +-typedef uint64_t u64; ++typedef uint64_t u64; typedef uint32_t u32; + #define BITS_TO_LONGS(n) 1 + #define atomic_long_read(x) (*(x)) + #define bitmap_empty(x, n) (!(x)[0]) +@@ -42,31 +42,32 @@ + struct apple_dart; + struct apple_dart_stream_map { struct apple_dart *dart; unsigned long sidmap[1]; }; + struct apple_dart_hw { int (*invalidate_tlb)(struct apple_dart_stream_map *); }; +-struct apple_dart { int num_streams, locked, version; void *dev; struct apple_dart_hw *hw; }; ++struct apple_dart { int num_streams, locked, version; bool fw_mirror, fw_handoff; void *dev; struct apple_dart_hw *hw; }; + struct apple_dart_atomic_stream_map { struct apple_dart *dart; unsigned long sidmap[1]; }; + struct apple_dart_domain { + void *pgtbl_ops; struct apple_dart_atomic_stream_map streams[2]; int count; + u64 dma_offset, mask; + }; + #define for_each_stream_map(i,d,m) for ((i)=0; (i)<(d)->count && ((m)=&(d)->streams[i],1); (i)++) +-static int powered, power_error, sync_error, range_error, syncs, ranges, fulls; ++static int powered, power_error, sync_error, range_error, syncs, ranges, fulls, firmware_invalidations; + static u64 seen_first, seen_last; + static int pm_runtime_resume_and_get(void *dev) { if (power_error) return power_error; powered++; return 0; } + static void pm_runtime_put(void *dev) { assert(powered>0); powered--; } +-static int apple_dart_hw_sync_locked(struct io_pgtable_cfg *cfg, struct apple_dart_stream_map *stream) { +- syncs++; return sync_error; ++static int apple_dart_hw_sync_locked(struct io_pgtable_cfg *cfg, struct apple_dart_stream_map *stream, bool sync) { ++ assert(sync); syncs++; return sync_error; + } + static int apple_dart_t8110_hw_tlb_command_range(struct apple_dart_stream_map *stream, + int command, bool range, u64 first, u64 last) { + assert(command==1 && range); ranges++; seen_first=first; seen_last=last; return range_error; + } ++static int apple_dart_fw_invalidate(struct apple_dart_stream_map *stream, u64 first, u64 last) { firmware_invalidations++; seen_first=first; seen_last=last; return range_error; } + static int full(struct apple_dart_stream_map *stream) { fulls++; return 0; } + ''' + source += production + source += r''' + static void reset(void) { + assert(powered==0); power_error=sync_error=range_error=syncs=ranges=fulls=0; +- seen_first=seen_last=0; ++ seen_first=seen_last=0; firmware_invalidations=0; + } + int main(void) { + struct apple_dart_hw hw={.invalidate_tlb=full}; +@@ -88,7 +89,7 @@ + assert(fulls==1 && ranges==0 && syncs==0); + reset(); dart.locked=1; sync_error=-EBUSY; + assert(apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)==-EBUSY); +- assert(ranges==0 && fulls==0 && powered==0); ++ assert(ranges==1 && fulls==0 && powered==0); + reset(); power_error=-EHOSTDOWN; + assert(apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)==-EHOSTDOWN); + assert(syncs==0 && ranges==0 && fulls==0 && powered==0); +@@ -98,7 +99,19 @@ + reset(); domain.streams[0].sidmap[0]=0; + assert(!apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)); + assert(syncs==0 && ranges==0 && fulls==0 && powered==0); +- puts("PASS: device DVA, low window, legacy/unlocked fallback, sync/power/command errors and empty stream"); ++ reset(); domain.streams[0].sidmap[0]=1; dart.fw_handoff=true; ++ assert(!apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)); ++ assert(firmware_invalidations==1 && ranges==0 && powered==0); ++ reset(); dart.fw_handoff=false; dart.fw_mirror=true; range_error=-ETIMEDOUT; ++ assert(apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)==-ETIMEDOUT); ++ assert(firmware_invalidations==1 && ranges==0 && powered==0); ++ reset(); dart.fw_mirror=false; domain.count=2; domain.streams[1]=domain.streams[0]; sync_error=-EBUSY; ++ assert(apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)==-EBUSY); ++ assert(syncs==2 && ranges==2 && powered==0); ++ reset(); range_error=-ETIMEDOUT; ++ assert(apple_dart_domain_flush_tlb_range(&domain,true,0x4000,0x7fff)==-ETIMEDOUT); ++ assert(syncs==2 && ranges==2 && powered==0); ++ puts("PASS: 12 controls; DVA, fallback, errors, firmware invalidation and all-stream draining"); + } + ''' + with tempfile.TemporaryDirectory(prefix='dart-range-') as directory: diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-ported.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-ported.json new file mode 100644 index 000000000..c45979db5 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dart-range-ported.json @@ -0,0 +1,9 @@ +{ + "upstream_harness_sha256": "67c7298886807cc4ba0b8d007d0450d11902d31a10c3f2806eabda31ab6c0149", + "ported_harness_sha256": "1ad3f7c6174a363408a51e85e97229cfaac32e4033f6b38b17d408df00a4d3ec", + "patch_sha256": "37d14b5082a4025839d84a5dc4b7653a20ab3b05e845e49e0c86ce572c1c9200", + "exit": 0, + "controls": 12, + "production_source_unchanged": true, + "scope": "Only host type/service stubs and expected drain-on-sync-failure behavior adapted to current production API; added firmware-mirror/handoff and two-stream error controls. Original failed compilation log retained; no kernel source modification." +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-suite-initial.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-suite-initial.json new file mode 100644 index 000000000..4520076d8 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-suite-initial.json @@ -0,0 +1,518 @@ +{ + "source": "", + "sources": { + "drivers/gpu/drm/apple/afk-parser-test.c": "14ff87187e7196536e838b4e0f97dae2a0e62e110e6f987159a506e88026b339", + "drivers/gpu/drm/apple/afk-service-test.c": "a9138680a7d4e0e2c2092f8dea4fe1a1986575c9c272938ab101bc9dc0af8418", + "drivers/gpu/drm/apple/afk.c": "be72d59c3c411c97e1c86c88e7cce9ba0687b1b32bb4908883760f5e2bb95c77", + "drivers/gpu/drm/apple/afk.h": "d80155ab3cb506bfd49582969f2115a24db009303f36769d28f35584047084ba", + "drivers/gpu/drm/apple/afk_reply.h": "caf891f3a1f47158aa6b7c8f221813083e79085951fe5d78813e5b54398f2a1d", + "drivers/gpu/drm/apple/afk_test.c": "aa8a02433166da88e014865509a45af6046681fa256d50d98e06ef6f7e958d26", + "drivers/gpu/drm/apple/afkv2-codec.h": "a4aab16d351e7154f8e4b864585547f8001fa41263fa48d73478a3f84addbad2", + "drivers/gpu/drm/apple/afkv2-test.c": "bf0546a17800bf7812769f41c98c097e4b289d4fc8bb902c25b73c3f5079eacb", + "drivers/gpu/drm/apple/apple_boot_display.h": "3c68b3e11f24d5ab0b8e8d1c3e109f20ef84041bda109355e9c5764532847ebe", + "drivers/gpu/drm/apple/apple_boot_display_test.c": "23da6e9e4f1a874ddb34e3a69d68134ae4f5177b12960771c8690922623dd1e6", + "drivers/gpu/drm/apple/apple_drv.c": "731b22a4343ed89374fbcec1968bace6e30a63cb40e5351ea759a25401f9915e", + "drivers/gpu/drm/apple/apple_resume.c": "5681987f703a7853ae32fe1c9a68c6f926e5a0a6452fb2f20c367614be1ded7c", + "drivers/gpu/drm/apple/apple_resume.h": "74e8fcb406037eae2c921032dc96a983e2f722f697d51f0d46cff7597c734a81", + "drivers/gpu/drm/apple/apple_resume_test.c": "d86b52c9eed6242b75a86e6a7c6f7513794df31415ff604aeca2e379d39d26ae", + "drivers/gpu/drm/apple/audio.c": "99866cccb016cf919b594e8b86c54ec3e81c80f3592ebb0630ce07d13752b04a", + "drivers/gpu/drm/apple/audio.h": "99f1c58af02b7968342afb543125056f6b2075fe6903bd6650fe4a7e66d2961f", + "drivers/gpu/drm/apple/av.c": "88867a3139e15d7dc404ff181f0561cc00d9a50467b1b6676938c9dfd7497168", + "drivers/gpu/drm/apple/av.h": "977ae8ae3a915c5a3cfbd2cce639b4e0a96ba5d10bb946813931e46c25b59d38", + "drivers/gpu/drm/apple/connector.c": "19a67e8c9053e989755cefe3f3d0e0470b585d0ebf50c27260483030f528dd33", + "drivers/gpu/drm/apple/connector.h": "0cf8fdc4186a4676a335dd5cb6aa03737c871a1247f6ff6a85e65ea43519030f", + "drivers/gpu/drm/apple/dcp-180hz-policy.h": "27dd86ae83ce5e7ead44ab1ca48a02edb61f27b0d1b9d08bff6c29441d3ea4e6", + "drivers/gpu/drm/apple/dcp-180hz.c": "2cea7402d558999d8741242e24f5857c1238d76dc12499d61aa7011d9fb841aa", + "drivers/gpu/drm/apple/dcp-180hz.h": "1fd639f9e52e9daadc9883f65c605f1142c32989febc92eda3834ee83f8e0bd8", + "drivers/gpu/drm/apple/dcp-announce-test.c": "70e775500abcc551816c29251f0ad08b44372453b2146c68a1add15d5901e722", + "drivers/gpu/drm/apple/dcp-announce.h": "c043924724267bf40a8db5755ae217a9065479f5f4821c1d2564963425120302", + "drivers/gpu/drm/apple/dcp-display-metadata.c": "36e785783c75494fe89b9a5bb199ec99fcb88a74deb9cae8cb62351490ffdd27", + "drivers/gpu/drm/apple/dcp-display-metadata.h": "6ed2c8f63f93ee4a77fbda300cce81ac34d3888bcccd986ec49302d645839ac8", + "drivers/gpu/drm/apple/dcp-external-bw.h": "347d9853e48d9f3588e22aabaf73949079099bf2274c4c4ddf90eaae20d51e4b", + "drivers/gpu/drm/apple/dcp-fabric-core.c": "3b46fe705262e42bb60dc792e8222b462eae957cd2b57eb18f8ef5e5da05f79f", + "drivers/gpu/drm/apple/dcp-fabric-core.h": "e7ec7243f12b16686982b947fe68c5464656cad71677b882bc5ce34fea5a1582", + "drivers/gpu/drm/apple/dcp-fabric-effects.h": "5764eea8e0c9f3f978404fcaaffe75bfcaefad73fcfe8c6d8f1b99be300d9251", + "drivers/gpu/drm/apple/dcp-fabric-session.h": "32b9e84b9940591af21d8c19212e483b814bcc6487d68824f31168ddaaa2a802", + "drivers/gpu/drm/apple/dcp-fabric-test.c": "3a15dcee84f35e8946e9495c3292fd398a5ca5cf7f67949a0087f00133f31587", + "drivers/gpu/drm/apple/dcp-fabric.c": "e067271dd2018f88eb74e3e122a36b29316f96b676f6fdb48612bc8021a94b36", + "drivers/gpu/drm/apple/dcp-fabric.h": "8f184a4f27a3661858b014a0cccf068d55413a5be9ea19b7cc6d951b2fd70ad0", + "drivers/gpu/drm/apple/dcp-hdmi.c": "d4b905aebcc3d7d0da9ecaff9d46a49ce77e4ed308bb9fdd1003658dfd3aa072", + "drivers/gpu/drm/apple/dcp-hdmi.h": "b97fb65a5f7135fefc78f5bcdbfcd5b63a680ff18258df55ea855a295bf2629a", + "drivers/gpu/drm/apple/dcp-internal.h": "58ce3683712b7790debc002501772d6b79ab6fc15098a157f609cbcba445d77b", + "drivers/gpu/drm/apple/dcp-lifecycle.h": "4c0b556605688aaebee47ef771a31133b84fdf4c1423216ecca6cd3ae84e54a3", + "drivers/gpu/drm/apple/dcp-link.h": "51372b6307dec133e84c2177652a6fcc21ee6613655fd5374ffa15db15d9684b", + "drivers/gpu/drm/apple/dcp-metadata-epoch.h": "de0c88efa8e7a83770730f00a7c801988ae6c86c57c8f2cba61c6b46dc0a8e23", + "drivers/gpu/drm/apple/dcp-property.h": "4a1b90aadfdd01537e0971f7b2b77170669d5e78ab10e58b87236fd005ca7798", + "drivers/gpu/drm/apple/dcp-relink.h": "4cc43a69deb661461be47ac2f1f5287fd30d698e58b81cb1a937bdf82acae252", + "drivers/gpu/drm/apple/dcp.c": "fc37f11a3c06dc389b272816773d9c11618e5def145f2788c419341c78402d11", + "drivers/gpu/drm/apple/dcp.h": "9fa2531d015a376bb170d3534f7cdf27e937ad5d543f44826e7a6761e7ed3cdb", + "drivers/gpu/drm/apple/dcp_backlight.c": "f8b82803a62fc077711c97d4608a9b2c50016a790d26a3de085f302e87bddf80", + "drivers/gpu/drm/apple/dcp_backlight.h": "4fb45b1de7a3a2d9115434b764bfd82890f94028375fde42dff228b87766b9f4", + "drivers/gpu/drm/apple/dcp_backlight_test.c": "6a25ce8d896536c1bfdcb85000f3debfd0f82760df06d5778b23630bec855105", + "drivers/gpu/drm/apple/dcp_dropped_swap_test.c": "a69ef0a9d8fb12be4c6ce4f792cedccc15f1a425d57edaf29cd170be530ce267", + "drivers/gpu/drm/apple/dcp_external_announce_test.c": "7c291843233d650c7720d142d79d72ba653fa8661b5713f792bdd00d4a512c46", + "drivers/gpu/drm/apple/dcp_external_ready_test.c": "1a51516debbfd129318e408eb041c069d56b9b68269120cbd3474222d081a85c", + "drivers/gpu/drm/apple/dcp_external_relink_test.c": "44f0b3fa6b0065f1fb3fe888034866ca6e12a859070d973f7bfed040153fed93", + "drivers/gpu/drm/apple/dcp_external_resume_test.c": "5a1661a80aa6e798b7bdeafb85335e73e444efd4f485cc4794dfdd3e350cf815", + "drivers/gpu/drm/apple/dcp_trace.c": "73edc3671a058a66cd7d8788cf5fdd13d01523f0c64fffb9894cda9203301c4f", + "drivers/gpu/drm/apple/dcpext_drm.c": "5acb1fc1573ce05145eddfbaed80d477bdebf504f74c1faf8e0f30ad7b83d629", + "drivers/gpu/drm/apple/dcpext_drm.h": "4c5476268858f4e3da9b897df89399798696953f6d1d40c42743249c47170574", + "drivers/gpu/drm/apple/dcpext_mode.h": "9563cdae68a69a5fab9841d429fedb047452a4b1d048a989676a29cad1ce0cb0", + "drivers/gpu/drm/apple/dcpext_scanout.c": "0418c2f91e7eaaf1172695341db441026ea46d37edf3db8cacbacbab420272c0", + "drivers/gpu/drm/apple/dcpext_scanout.h": "536c91fbbb5ea94c3a3887d67105048aa60bf92b1f4d80b4afe28a25aac55834", + "drivers/gpu/drm/apple/dptx-j700-training.h": "97862697ef0934a79f575738155a51b38a661d6f22163dfe8a330444540049d6", + "drivers/gpu/drm/apple/dptx-service.h": "77dc72f3875e9d2bdeb75cfbb47b5b5b091d8b54793101bc00cb8f29d56648f3", + "drivers/gpu/drm/apple/dptxep.c": "5d855e76f1136579f74e8fe7bcb5fb701f4a7496b2c75253514ce20c7aafce67", + "drivers/gpu/drm/apple/dptxep.h": "3e13da5266e7cf326519df1c1051600b4760dc713d23f623a4380ea3c43467c2", + "drivers/gpu/drm/apple/epic/dpavserv-edid.h": "db92ea3c68befbb895200fefd31611664627754fb44fad241d0d23777b44e058", + "drivers/gpu/drm/apple/epic/dpavservep.c": "894179a1cb23820fea249142e6670f9886be192a56cbae8a93655c7681cbcdad", + "drivers/gpu/drm/apple/epic/dpavservep.h": "31863b57b775df4db382e550764525acce325a2c96e772e22ee087e24400001e", + "drivers/gpu/drm/apple/hdmi-codec-chmap.h": "15544ec641593e883b824e4db6b1fbdd7700575df8f51af28e0605fc945d4587", + "drivers/gpu/drm/apple/hotplug-test.c": "7c7a7fc266248e94d9903d5cddd44c3ab519a1091813ac4132eaf518925704cd", + "drivers/gpu/drm/apple/ibootep.c": "3bc4e0c9063ac80e8478a3a554438beb209211c6ac7fd2afc4c556abd645caf6", + "drivers/gpu/drm/apple/ibootep.h": "dcacef24ee189a1919caf30e270da4a979d9b7e09b920522e5f91526428d6faf", + "drivers/gpu/drm/apple/iomfb-parser-test.c": "92cea9fa76c96db5d5a5ebc5e86b206379b039de297762d3f2c97be1dbe1f3c6", + "drivers/gpu/drm/apple/iomfb-state-test.c": "f73740022eced5a190a7de2ca4bd8738f22578c3fd802b5564362b791c4b1be4", + "drivers/gpu/drm/apple/iomfb-state.h": "864e8e09beb18229a5b30e0e6592a814e2645f269aa12612e5f6e393ffa90de1", + "drivers/gpu/drm/apple/iomfb.c": "65624a6ecd0f6ba38f8eb5e16325e24b723e65fecc3a8e034c94d4d953a07893", + "drivers/gpu/drm/apple/iomfb.h": "a1ae73768c0c772a58ad4c17cc49f0129bf94ec59f56edb07dd1684928e75735", + "drivers/gpu/drm/apple/iomfb_h17p.c": "6b181c3f13113318ba286679a29cd5e1d609cde9996bd164232aaaea69334f8f", + "drivers/gpu/drm/apple/iomfb_h17p.h": "4da326f3f83850e33affbe4e59e06ef43f4e0caa56ba44359bb7237af40f49c5", + "drivers/gpu/drm/apple/iomfb_h17p_test.c": "6f1928eb949e59588d65c9c2b52a9e1e6e3f989f2f3ea111a34e1ab40921325b", + "drivers/gpu/drm/apple/iomfb_internal.h": "771c29cc3fb6dfd23138b73d7a22891fae97ab06e974ab0a838d9e4c6714c4f8", + "drivers/gpu/drm/apple/iomfb_plane.h": "d1d42da7bd623c1a740f9d45ddd0137d16d0c3bf367e099a04f3f46316e233b0", + "drivers/gpu/drm/apple/iomfb_template.c": "dd6e2b4fc44e170dcd7576f9dab6fe6238cfae3961f6ccb1fe0a5145c8f9994e", + "drivers/gpu/drm/apple/iomfb_template.h": "d9b3357218720503793f93ca272cfed32fb2525191dd49876b7e633d7c038f1c", + "drivers/gpu/drm/apple/iomfb_v12_3.c": "99630b2b13139d9401879fef53d010d4985d1f8f9c4651ea6869b4e274d47e5a", + "drivers/gpu/drm/apple/iomfb_v12_3.h": "fd8655f342ccad73b130038f8abd1cc5cddd40d0d6f5743914f7754622b94f29", + "drivers/gpu/drm/apple/iomfb_v13_3.c": "80bf45716db78d7cf83cedf893c32f142b722c6fefc4121dc616b07be570322c", + "drivers/gpu/drm/apple/iomfb_v13_3.h": "abbb838cf241d9d6c203febf7aae1881eebad690fef64bb89d095b9b64097a29", + "drivers/gpu/drm/apple/iomfb_v14_7.c": "a5dfa83c6624fa1aca235f79033a501da001995b17e33b0715a6d0cc388b9c6e", + "drivers/gpu/drm/apple/iomfb_v14_7.h": "38e2b9e9e4a14ae4c1506f94c1fbe5125e66eda3a86f0c8608e975196f4c78a2", + "drivers/gpu/drm/apple/iomfb_v14_7_board.h": "aabef394e82a0439e88bf100ac48ce507bfb6da4e4d7e1850b56324184fe0cea", + "drivers/gpu/drm/apple/iomfb_v14_7_link.c": "b214459740e56fa37bb04dea319958f2e0f665a43b28520fe6a1465eacd636c8", + "drivers/gpu/drm/apple/iomfb_v14_7_link.h": "60f0dec421221c54c7cb928a65433cbd4b0411900a2cf0595464e2f8648b4bc7", + "drivers/gpu/drm/apple/iomfb_v14_7_swap.h": "3aec1623a9996c8effebba8db9059234b0598bc1d35792cced37f7a887afe278", + "drivers/gpu/drm/apple/iomfb_v14_7_tpl.c": "e02135bb7917630fb3b6786f9673a36cfb52fa7791baa97550e178626f05938d", + "drivers/gpu/drm/apple/iomfb_v14_7_tpl.h": "0ef71f70f3fbe68b3c33bb079e0f78e6d74c4785b55d17cbf9956b1ff23d71ad", + "drivers/gpu/drm/apple/iomfb_v26_6.c": "7d6eff79b7685d7f2e3fe23e6a5866c16d964b31ee68b7aaf8a667e82f195240", + "drivers/gpu/drm/apple/iomfb_v26_6.h": "2f93e33414453b34175b4d1c49ca349fd8da6702caec0e40edbc4678652969d5", + "drivers/gpu/drm/apple/iomfb_v26_6_link.c": "d20c3acd091fbd1d4a2cccdf4a3e06f19e6f2ae46b3a09f6c39887e09002b225", + "drivers/gpu/drm/apple/iomfb_v26_6_link.h": "1d110f2e8e183cff3d81b741ae017ea2140f1f87d4ff7e91971c55a6524f1198", + "drivers/gpu/drm/apple/iomfb_v26_6_swap.h": "38a3a6e7de89552569c8b02a8e5f4b323ae6c3b99e927a38c7100604687c0c6c", + "drivers/gpu/drm/apple/j613-25g83.h": "26f7d53968b09cac150f72af1ba4b6ec21e4713a0251c89b31a26672820fd767", + "drivers/gpu/drm/apple/j613_dcp_activate.c": "424f6c3f9e92f73055316dc5eeffa8c473a7caa418d5376f3d3f50ee16975085", + "drivers/gpu/drm/apple/parser-test.c": "6842aca65f22b892aae6ef55251a6db630a7292227ed4425565612c4b0092a28", + "drivers/gpu/drm/apple/parser.c": "1523e6b8c95f751345daf30e8e7cf304e04f1c6d22b94d01b29f0500ed7cb363", + "drivers/gpu/drm/apple/parser.h": "8c841e8d84c7cf98bb17f110350ff0a9447e5535a1be7f710498869bab5e6142", + "drivers/gpu/drm/apple/parser_mode_test.c": "ddc847ccf4d8e3805252f21e3b566d4d8606a8db31eef860fdc6b8719880a110", + "drivers/gpu/drm/apple/parser_test.c": "506ea32c5917f914473d5859e1228cd13e3ca9bd00fd75cb1dd8b33931e0a6bf", + "drivers/gpu/drm/apple/plane.c": "9377666632c07f867e8e75d9244e18dc97c564696be6c1f457d971c9a6e90211", + "drivers/gpu/drm/apple/plane.h": "cb79a5d7bd4109db7696241cc12530b0ed315649f106af9a13607288387feea0", + "drivers/gpu/drm/apple/systemep.c": "010b62326e4dcd482e26143b0abd1ce4226beece92fdbc2eab94282e4b6f70de", + "drivers/gpu/drm/apple/trace.c": "1958fa5810f7db05c82fe2db2bc7d6df31991228b0bd9b7258e4d6d74e195a8d", + "drivers/gpu/drm/apple/trace.h": "4be7a0b33648ea62394fa8383935fbe749524216023c642fec8f0fce657cad54", + "drivers/gpu/drm/apple/v14-board-test.c": "4fc09693fc8aea06c1bde24b030bcafd1cf896e41167c53590c5595ce489a119", + "drivers/gpu/drm/apple/version_utils.h": "24882d2a39d8f71d8486506549844188fb7dcb7fbccd2fe231e6438033b2c109", + "drivers/phy/apple/atc-dp-tunables.h": "68112bafc0d5fc425658f7b30400c2a85d8343d7b10f635240878bdc4727723e", + "drivers/phy/apple/atc-j700-dp.h": "8677d22a076cb05c06a22e3e4737909941a1bba4f8a117c94d1e16b3bd9c8245", + "drivers/phy/apple/atc-t8122-dp-test.c": "8b5357449294c5863f84b186c03ff09faf88728d2f57e219a6ee5e84e2f14ff8", + "drivers/phy/apple/atc-t8122-dp.h": "9b2c0e78081abfc4d3304839c4f8553f2c546d36c468616d998d2a9924061389", + "drivers/phy/apple/atc-test.c": "573f724921dfdc23d01abeca0cd75e0145a1493c0774a0f9141db9d115b56771", + "drivers/phy/apple/atc-tunnel-test.c": "ce90c6817aefaa22b090f2e8fa5fcbe48aad64f181b909ad533b464db77b2042", + "drivers/phy/apple/atc-tunnel.h": "e3ae93f33138bc15b3209f24d67780da4e3c3d429cacf59ded3e934ae8c852c2", + "drivers/phy/apple/atc.c": "968544702978614bbeb6d8f618e5c20e6812c2f6c7d690575bc778b9884ae908", + "drivers/phy/apple/dptx.c": "a80b705c7d0959edb6814af9032c24f1fbacbf48d8de10bf7e230cc062927e60", + "drivers/phy/apple/dptx.h": "ff04f53368aaa1ae4c98f7bfd61cae97ccb19ad11c5c1584d10c16187071bd72", + "drivers/usb/dwc3/core.c": "287bc9995e6f90bbbe92d0ff9287498ba5ccceec3742c4decf7641fd1bebf754", + "drivers/usb/dwc3/core.h": "303658b86a61b1c847e6305529e19b4a2082f6514dfb2f09945887f119831fa5", + "drivers/usb/dwc3/debug.h": "67b753768a32050d566786ca4c332e49c19f7125451117515fd68e2628463acb", + "drivers/usb/dwc3/debugfs.c": "6e4de0fa39844cb56f972297c0c2125f91a81fa6ebd33c3a3690201667213345", + "drivers/usb/dwc3/drd.c": "e3e7aab9ba33d154bba8ef4bd04cae3cee5bfc6e455a60fb55ca9bd59c39cd52", + "drivers/usb/dwc3/dwc3-am62.c": "1a07cb76a79735cd19c62f5cfc87b9badf5161795feca9949268421e91d76350", + "drivers/usb/dwc3/dwc3-apple-state-test.c": "92aaf866d53fdaf3149c6163fcc56cf1f498fb42a0b33555374ac0b9372f70ec", + "drivers/usb/dwc3/dwc3-apple-state.h": "ea0fba45baf2dfd4ea34c1c07972735633f97971a52022d70c82fdf410a18230", + "drivers/usb/dwc3/dwc3-apple.c": "a8d647fcd741dd0b1fa3858b80a654f109a4e69231cfa86c035c6993e2b32b14", + "drivers/usb/dwc3/dwc3-exynos.c": "c1c7b34428b286818c411273fb7e44a74c0fb679e467a6df21f133762a34add6", + "drivers/usb/dwc3/dwc3-generic-plat.c": "1a4260310d6ccb9e3c3c39ab90be966a7a8fd444187a7081e7b14a095ca69a22", + "drivers/usb/dwc3/dwc3-google.c": "0172f925534a3035c422e95720ceda60985b0090074b47c4480d0c0b84f4121e", + "drivers/usb/dwc3/dwc3-haps.c": "8f4f4ed7fdf808c611c0257c0dd76a09bd0b6d9e25a5b26fabf30c289b47197d", + "drivers/usb/dwc3/dwc3-host-test.c": "fe8297b3f09a05668d5d64c2ade4a0a72b11f984d2424827a8b94453300fca5f", + "drivers/usb/dwc3/dwc3-imx.c": "ebf7d64743fdee3d6be59b218f4cfa268411cf168e5995d0033a59cf02a7eceb", + "drivers/usb/dwc3/dwc3-imx8mp.c": "00e4f7f3198452df3fbed9a590dc7ec6a2119ba66fc5e810ff47d205049743b3", + "drivers/usb/dwc3/dwc3-keystone.c": "10e7188257522e62f6eb921d542b2d43b82b519b22cac7e740c0c58274eda5b1", + "drivers/usb/dwc3/dwc3-meson-g12a.c": "efe0d730cda1a1ce53c7fcf525033670a3315e9d53003888292b080a98a2fea6", + "drivers/usb/dwc3/dwc3-octeon.c": "bbb82c66f4024b4f584f920fb160617d435c99b11a4f15c3196c88c3b7b30c93", + "drivers/usb/dwc3/dwc3-of-simple.c": "b251e769eab6a582b2876ae71231b6de5e3fbdb0962a2b4c572a968538a43a4d", + "drivers/usb/dwc3/dwc3-omap.c": "a9b15343b4cc46e8117361148c417644621ffefe9d12c975716634d4a15dea61", + "drivers/usb/dwc3/dwc3-pci.c": "be99125ff6a5a38ad92b817ee2b64a5e909d051f70c9c622a65a3732b5d26f5e", + "drivers/usb/dwc3/dwc3-qcom-legacy.c": "155d7937357339bf4dc1bcf36f8cf7b47b13c268946412a6f2c077066baa0e41", + "drivers/usb/dwc3/dwc3-qcom.c": "cf8257168ad0e8e201a003e7d2e3344cdfa08b33eb6ae6451728bc497d2ce008", + "drivers/usb/dwc3/dwc3-rtk.c": "2aa63e398e2c8c3e5c609d178bb08879fb043c7ba79b0cbc8f73a3272ddfb2c2", + "drivers/usb/dwc3/dwc3-st.c": "0b9306be3296a43956dc4bcce9b756bff9ff9f317b4d022d2c35ad6c8d752d2d", + "drivers/usb/dwc3/dwc3-xilinx.c": "b056299d8bd1f22a0f746f98bdbde9c513936c995dc49382cad0662e7d06080d", + "drivers/usb/dwc3/ep0.c": "ba5a0d8ce97272fb59680bf8c713e5f75ad2d1ebd61e2231829eead8cccd5a7b", + "drivers/usb/dwc3/gadget.c": "a8c05cb593092ec72395c3de60bff5971bbed1e7db9162562a3f0709cd481991", + "drivers/usb/dwc3/gadget.h": "93ed5b5b1e7fd3bc59b84228594982ae6957947cebd93c3903bec024d1fb3ea5", + "drivers/usb/dwc3/glue.h": "09e314435d47c14c069f9549b1c80cf3408f092c3637a67ead5be8860fec1d67", + "drivers/usb/dwc3/host.c": "62f7a565136d3ce1b5b6cdfd62b484c5648c0a2b833e756e52521419ecad54b8", + "drivers/usb/dwc3/io.h": "e0991e4f2fc453241072ef9481740a8685330de32d67d6b4e61f16789903bd94", + "drivers/usb/dwc3/trace.c": "188d53887dcd2025e3099d48a7dbc0a1fc18d4750c99eefd19e603f7d0c05801", + "drivers/usb/dwc3/trace.h": "c38609c6504b31d1805823325d47420a3fd4e5589ccf6fde3c1d1291b1a1c203", + "drivers/usb/dwc3/ulpi.c": "581fac10de2906ea8e2a2675c28f377320d39702599860d6708deda6b175acdf", + "drivers/usb/typec/tipd/cd321x-dp-test.c": "9a77f911bed27ac23ed05d8d27011d7d4262d1d4904ce610e65a2368e7cef21a", + "drivers/usb/typec/tipd/cd321x-dp.h": "fca52b67b1cf720da327f277c7be815aed0301be59466b598528c0089f570b67", + "drivers/usb/typec/tipd/cd321x-irq-test.c": "249a5b7624dda5acca249020981de8b20288b7ed2cecba41b3e6eab28309b5ff", + "drivers/usb/typec/tipd/cd321x-mux-test.c": "5752d51dbe29010afabcc215d18a978759c2313ae83e935213082e0085c687e0", + "drivers/usb/typec/tipd/cd321x-pm-test.c": "daa34ef8f792e8a9048bcfefbf198a6337fb64e003c463ce82d922caf41bc67b", + "drivers/usb/typec/tipd/cd321x-pm.h": "c9751f037da606198c0e5b9161048cdd2c35d1b2c6ac4123a6e52829cdbc4795", + "drivers/usb/typec/tipd/cd321x-setup.h": "5f1c188e9e1aa31590cd5c8bc1281c37725205d73ef417d02d0cd157d4f06af1", + "drivers/usb/typec/tipd/cd321x-tbt-test.c": "815f8818f1321f723ba890ae0e38425dbf6a8095c0110f7a7dd07e0af87353a7", + "drivers/usb/typec/tipd/core.c": "3b1b0a981f2a5653792a7dd8d57b35fa6c1db636bbf11f18c3c3641e4a9294d5", + "drivers/usb/typec/tipd/debugfs.c": "99c72f8bca32942d8e16e4fbd403b55e2a07c0d7ba059b6e5ce38714a03c3f38", + "drivers/usb/typec/tipd/i2c.c": "83b073b96215b7d0c31e2aca82b99fbd0f77cdd3fd627109dfb12b6fb632c1d7", + "drivers/usb/typec/tipd/sn201202x-pm-test.c": "de8bfcd4b37a1118d7d9b7b85a71f3d6303126379a07c88906dd53999cc29921", + "drivers/usb/typec/tipd/spmi.c": "19e7d880b08ff5c8b22ac6df2e8c48daa868e5fa67d1d8c4c20aae73d4424166", + "drivers/usb/typec/tipd/tps6598x.h": "30c7283b082fe68c9e35988b7c2c4fb9d70802d0eeec3b28c67a3a5d5c610ded", + "drivers/usb/typec/tipd/trace.c": "1aa4062980d6c62ddec438abdff474408ee6ff9c891ca134153a8187fbb92e87", + "drivers/usb/typec/tipd/trace.h": "550e67be313efe4f941a99f637d3acae8d66bcefc46ff230d80aae5bedca56e3" + }, + "results": [ + { + "name": "oslog-events", + "group": "boot", + "passed": true, + "translation_unit_sha256": "7be0bc6fdae7762cd1466a85a0499c72c517bfe1d252cc6c0aa000f6863dc449" + }, + { + "name": "dpavserv-start", + "group": "edid", + "passed": true, + "translation_unit_sha256": "c8add4644d6b19de1f375563afd93d4a92e1b1c3c203690b06bdb00a5ae3dd2b" + }, + { + "name": "service-rebind", + "group": "edid", + "passed": true, + "translation_unit_sha256": "5ec711383e3b6eb4fdf405df30c9ffa0f1011c6832e4d57bb21601dd13afb8bf" + }, + { + "name": "provider-admission", + "group": "edid", + "passed": true, + "translation_unit_sha256": "e5fc8edf97f1a37d01056757f178452955ff0b6fe2117e071512c44113cb2b5a" + }, + { + "name": "ordered-rx", + "group": "edid", + "passed": true, + "translation_unit_sha256": "2aa1c07dc01f7ae7ac188d94a832db1a7a4867d07442cd7aa6aab6dc96fe0298" + }, + { + "name": "parser-policy", + "group": "rate", + "passed": true, + "translation_unit_sha256": "ec72f3720587f9d7ab6b0938c2a35ebdba48bceb73bd020ee1c0de5425981e44" + }, + { + "name": "publication-hpd", + "group": "rate", + "passed": true, + "translation_unit_sha256": "fdde5e8812a57fb7b2968a48165a5f0a11eab6f4bc89161ba3532b552d215cc3" + }, + { + "name": "metadata-decoder", + "group": "rate", + "passed": true, + "translation_unit_sha256": "dc3ac52d5b0ed69d6a30d7de0c8ef3160c6bbc6570bdd1940c32d18a78535d73" + }, + { + "name": "bounded-retry", + "group": "rate", + "passed": true, + "translation_unit_sha256": "793c7289c7965277660aca6f6fc762b8848163c50f83c30b52cfffdadee413c2" + }, + { + "name": "pm-ownership", + "group": "phy", + "passed": true, + "translation_unit_sha256": "5674b0997b19bcb6d7679119a3f65f8012a410d6735a2cb7664d14983d7cd024" + }, + { + "name": "controller-lifecycle", + "group": "phy", + "passed": true, + "translation_unit_sha256": "097e2cdd988ea54377dd2ac85f319200babe934e1414ec9971287995d3513de9" + }, + { + "name": "asynchronous-root-state", + "group": "phy", + "passed": true, + "translation_unit_sha256": "4741c350a06ca1eeda9985c7a999663d3b1d00877487dd19b5e3d5a805ffea23" + }, + { + "name": "upstream-resume-boundary", + "group": "phy", + "passed": true, + "translation_unit_sha256": "d3e8d90a69181f251077b813b34f1a83df529f59db430d0c9e5c6106004d29ed" + }, + { + "name": "usb-unreachable", + "group": "phy", + "passed": true, + "translation_unit_sha256": "d91fcb9b7c781d538004632135526752d60c669f1336d590c83faa0c663d4b4b" + }, + { + "name": "cpuidle-s2idle", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "0e81e666fe0b7095e0217f4c722c4c995754914828f3786cbb54a29d424a36c3" + }, + { + "name": "typec-probe", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "f1feac48647769c69bd6d2d654df597e8fe1a0bfae3b90d3984306f20314010e" + }, + { + "name": "quiesce-before-safe", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "ad43e601ce3d4cf2c9fb830a6a6f37d9329065697d3337e5feadd5eb02e0b639" + }, + { + "name": "probe-mux-pm-dispatch", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "e274ed97ce092b9519f1cb6176ed45fc1297ceeadfad96b1a7bf1356134004c2" + }, + { + "name": "parking", + "group": "phy", + "passed": true, + "translation_unit_sha256": "8c87d4821ca558f2c460256c6eade3fbebaa5bf90ce79e931294fa14947be079" + }, + { + "name": "adverse-retry", + "group": "phy", + "passed": true, + "translation_unit_sha256": "92614869978dbe7fe6af026fdd266f8779d4c1dd53f47d7ce80563dd315aca5e" + }, + { + "name": "masked-context", + "group": "phy", + "passed": true, + "translation_unit_sha256": "a3d81c6f28e700b8537fd161664b93514d309595c1a74ced4cb67a7b35f4009f" + }, + { + "name": "off-hardening", + "group": "phy", + "passed": true, + "translation_unit_sha256": "d554b19426c957cdeaa1ff5a4ff85752d497e146d5034d6c51232b08e836b4fb" + }, + { + "name": "warm-reset", + "group": "phy", + "passed": true, + "translation_unit_sha256": "e869be38d84a457f6aa3aba7a20f988128cc8859e27a8fe834bd601d951b2745" + }, + { + "name": "pipe", + "group": "phy", + "passed": true, + "translation_unit_sha256": "ee6649a2b048be61200d4e0c4d6d72d4b0095c7cfebb8f8915830191e0c1623e" + }, + { + "name": "unwind", + "group": "phy", + "passed": true, + "translation_unit_sha256": "4a0415a7e63b028548ba89c403d6af0b0e4104d90447fde69998486315795722" + }, + { + "name": "aux", + "group": "phy", + "passed": true, + "translation_unit_sha256": "6e19a507cd6833eaba2ad076d1f3048668e9a04a974434e865b7781d1c936148" + }, + { + "name": "physical-disconnect", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "d81bc41ffdb278c5302282d8eb87e4a35f28f3e104828bd7fda547c28a850548" + }, + { + "name": "fast-replug-bounce", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "35b4c855bcdeadff60b44faf329b108497597083ec63616b125e133ef11cb2ee" + }, + { + "name": "stale-crtc-poweroff", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "6eca3ef5c0abeac5bd76dae47e6ccf09a890692e97a160b4c649dd0cbbb595fa" + }, + { + "name": "dropped-swap-teardown", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "b46d05114ca790d96eace9f86e05263055f7182312891fa5cb2a63d0a96f104b" + }, + { + "name": "dwc3-teardown", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "2cd38b2efcf88c0dd2ef3fd9ed2b151d7c735a7de1241e4804090943d7a4a7ef" + }, + { + "name": "resource-profile", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "bfc0b0afe4991af0c74d62a7265ff1352e353da167a9fd66b6f681b102211901" + }, + { + "name": "firmware-provider", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "158ee5a00d9fad08e1e5b2dcd7a22ddce7aefbb740198b486bc3a06b0bc00f12" + }, + { + "name": "readiness", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "571d402e73b4b1a1908da7a0273584e43d3ee4981235d92fc6599ff51c6249a1" + }, + { + "name": "vrr-rejection", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "4b01d40d880b10319fa88512957518c304652ade5f60b85b9979c9287eb45eec" + }, + { + "name": "power-reply", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "516cc53343651041d6c44f3656d5913387765cc06a0b0dc1bcdc0fec5eaff02b" + }, + { + "name": "dispatcher-scope", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "28f578b3ecf442d8d0b42800627e90c54c8f054b8562889a09b4eba405e1ad35" + }, + { + "name": "generic-role-error-lost", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "11c96210d78c780a4e33a9402b4732dd3c7c53e5ed7ffb932b1ba7f316d31fba" + }, + { + "name": "cd-second-role-error-lost", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "ed8747df12b60565474f34796be25037211a3dbff93b59303c59a5a56fbd7ddf" + }, + { + "name": "actual-dcp-normal-safe", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "27e76156f7774d8ef34ab70fd6ffba5744722007a7091ab84e4e52b78497add0" + }, + { + "name": "actual-dcp-finalizer-recovery", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "27e76156f7774d8ef34ab70fd6ffba5744722007a7091ab84e4e52b78497add0" + }, + { + "name": "provider-order-releases-failed-lease", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "27e76156f7774d8ef34ab70fd6ffba5744722007a7091ab84e4e52b78497add0" + }, + { + "name": "failed-safe-allows-new-dp-admission", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "27e76156f7774d8ef34ab70fd6ffba5744722007a7091ab84e4e52b78497add0" + }, + { + "name": "altmode-safe-skips-quiescence", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "27e76156f7774d8ef34ab70fd6ffba5744722007a7091ab84e4e52b78497add0" + }, + { + "name": "concurrent-prepare-set-stale-quiescence", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "c3be19c08caba49086986cb0423cb9a8081ae2503935002aaefb3402488d046c" + }, + { + "name": "connector-context-lifetime", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "bd21ba7c7aeeb9a49673856fa90317a87adb3ba9f3c9793ea5c018d00e621819" + }, + { + "name": "probe-transaction-rollback", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "f4f64ae68815f0aa1752a6d8e710fac2252dc972b657ffc74aab0ed8e9e23c09" + }, + { + "name": "provider-unregister-drain", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "cafb0cba54ba89c1ca49a59596a3539778fae1ddbc94c05470019742b8d2051b" + }, + { + "name": "park-before-host-role-exit", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "87382fa35e44ded9d868723af6349bb305f0d93ed083f9a7f11568fe9d7307f9" + }, + { + "name": "same-handle-srcu-index", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "14b358a09deca9f75affd867c2faae2cc32fba34eafc0a8b71b8f029eafb2b79" + }, + { + "name": "mux-release-stages", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "ec0033283672da415d73ac4f617c889e7ff12354f4d24d50a72f55e32e5fcde5" + }, + { + "name": "single-safe-before-role-exit", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "f07aa131b39dcf3ffd86d96322e4ce2e6fee984d7aac013d35bafc73ed1531c0" + }, + { + "name": "mux-get-put-balance", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "ab8086c3cb9e575067f823fa8d748532c5f79eba3cf067cc130e19c73cae6818" + }, + { + "name": "lookup-unregister-module-lifetime", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "9d1627a96db221d8f6b1ce3beb564a7c1969dc398372f8e1ad4ea2887065640a" + }, + { + "name": "kernel-module-conversion-balance", + "group": "lifecycle", + "passed": true, + "translation_unit_sha256": "81b3df995ab27bfcd0e1f38bbebc70ddad762fc3b2503d50fd5872120b8c5814" + }, + { + "name": "usb-kconfig", + "group": "phy", + "passed": false, + "failure": "Traceback (most recent call last):\n File \"/tools/testing/selftests/drivers/gpu/apple-dcp/run.py\", line 106, in main\n unit = build(root)\n File \"/tools/testing/selftests/drivers/gpu/apple-dcp/run.py\", line 98, in \n tests.append(('phy', 'usb-kconfig', lambda r: pm.kconfig(r, output), (), ()))\n ~~~~~~~~~~^^^^^^^^^^^\n File \"/tools/testing/selftests/drivers/gpu/apple-dcp/pm.py\", line 700, in kconfig\n result.check_returncode()\n ~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"/usr/lib/python3.14/subprocess.py\", line 509, in check_returncode\n raise CalledProcessError(self.returncode, self.args, self.stdout,\n self.stderr)\nsubprocess.CalledProcessError: Command '['/work/aurora72-boot-prep/kconfig-host/conf', '--olddefconfig', 'work/aurora72-boot-prep/dcp-all-controls/usb-kconfig/Kconfig']' returned non-zero exit status 1.\n" + } + ] +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-tunnel.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-tunnel.json new file mode 100644 index 000000000..b1e18fad2 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-tunnel.json @@ -0,0 +1,11 @@ +{ + "bodies": { + "dcp_fabric_tunnel_clock_blocked": "6a2c81684b1ba1d1e28926af6a2aef4cf67cffe84c1a50330be364e0306c1df8", + "dcp_fabric_snapshot_port": "f2e0f72a266958d2db6b5de5772207d5a2ebd1f4ea1eac24b912ed83c1434214", + "dcp_typec_tunnel_ctl": "4fbb216f3ff9daeb62a527fa58bdf73a46d14d8ed4905a12deb41d9baaa9343b" + }, + "translation_sha256": "40ebd86a8cf14ab12e6718264b08cb8e2441ad8fd72467c8ca4eefb1b0099f6d", + "exit": 0, + "stdout": "PASS: DCP snapshot, named/legacy controls, invalid DP IN, stale snapshot\n", + "stderr": "" +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-usb-kconfig-rerun.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-usb-kconfig-rerun.json new file mode 100644 index 000000000..f02d60ed1 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/dcp-usb-kconfig-rerun.json @@ -0,0 +1,7 @@ +{ + "result": "pass", + "cases": 4, + "boundary": "Original pm.kconfig producer with absolute output path; reruns only the initial suite failure caused by relative output path, with no production source edits.", + "producer_sha256": "8a3cf541e675a0372a64daeb56c3dbcb3d1993848cb145a4b2cfbdc61e7c88c3", + "harness_sha256": "a521f791b02a94eb282fcafbbaf0a467051dfc735d06a59ed8a06d95cdc3c03b" +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/installed-initramfs.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/installed-initramfs.json new file mode 100644 index 000000000..f0542f5b2 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/installed-initramfs.json @@ -0,0 +1,12 @@ +{ + "schema": 1, + "status": "offline archive audit passed; not a boot qualification", + "baseline_sha256": "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa", + "candidate_sha256": "ae1ed9d872ccbffe2854ec93c6c3d2bee0631aa7dd0000b7fcb4130b1437688b", + "candidate_release": "7.2.10-elementary-aurora72-wip2", + "verified_module_count": 91, + "early_prefix_unchanged": true, + "nonmodule_entries_unchanged": true, + "module_bytes_match_candidate_tree": true, + "dependency_files_present": true +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/original-dart-range-controls.log b/mseries/aurora/unified72/boot-preflight-2026-10-21/original-dart-range-controls.log new file mode 100644 index 000000000..52f2baa6e --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/original-dart-range-controls.log @@ -0,0 +1,30 @@ +/tmp/dart-range-76wppxcw/controls.c: In function ‘apple_dart_domain_flush_tlb_range’: +/tmp/dart-range-76wppxcw/controls.c:44:15: error: unknown type name ‘u32’ + 44 | const u32 op = DART_T8110_TLB_CMD_OP_FLUSH_SID; + | ^~~ +/tmp/dart-range-76wppxcw/controls.c:67:25: error: too many arguments to function ‘apple_dart_hw_sync_locked’; expected 2, have 3 + 67 | apple_dart_hw_sync_locked(cfg, &stream, true) : 0; + | ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ +/tmp/dart-range-76wppxcw/controls.c:30:12: note: declared here + 30 | static int apple_dart_hw_sync_locked(struct io_pgtable_cfg *cfg, struct apple_dart_stream_map *stream) { + | ^~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/dart-range-76wppxcw/controls.c:76:42: error: ‘struct apple_dart’ has no member named ‘fw_mirror’ + 76 | if (range && (stream.dart->fw_mirror || stream.dart->fw_handoff) && + | ^~ +/tmp/dart-range-76wppxcw/controls.c:76:68: error: ‘struct apple_dart’ has no member named ‘fw_handoff’ + 76 | if (range && (stream.dart->fw_mirror || stream.dart->fw_handoff) && + | ^~ +/tmp/dart-range-76wppxcw/controls.c:78:31: error: implicit declaration of function ‘apple_dart_fw_invalidate’ [-Wimplicit-function-declaration] + 78 | ret = apple_dart_fw_invalidate(&stream, start, end); + | ^~~~~~~~~~~~~~~~~~~~~~~~ +Traceback (most recent call last): + File "/work/aurora72-boot-prep/source/tools/asahi/apple-dart-range-tests.py", line 112, in + main() + ~~~~^^ + File "/work/aurora72-boot-prep/source/tools/asahi/apple-dart-range-tests.py", line 107, in main + subprocess.run(['cc', '-std=gnu11', '-Werror', str(p / 'controls.c'), '-o', str(p / 'controls')], check=True) + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.14/subprocess.py", line 578, in run + raise CalledProcessError(retcode, process.args, + output=stdout, stderr=stderr) +subprocess.CalledProcessError: Command '['cc', '-std=gnu11', '-Werror', '/tmp/dart-range-76wppxcw/controls.c', '-o', '/tmp/dart-range-76wppxcw/controls']' returned non-zero exit status 1. diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/preparation.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/preparation.json new file mode 100644 index 000000000..734610dea --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/preparation.json @@ -0,0 +1,127 @@ +{ + "schema": 1, + "status": "prepared offline and original-unlock/module-package audit passed; no hardware boot qualification", + "baseline_sha256": "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa", + "candidate_sha256": "ae1ed9d872ccbffe2854ec93c6c3d2bee0631aa7dd0000b7fcb4130b1437688b", + "candidate_release": "7.2.10-elementary-aurora72-wip2", + "verified_module_count": 91, + "early_prefix_unchanged": true, + "nonmodule_entries_unchanged": true, + "module_bytes_match_candidate_tree": true, + "dependency_files_present": true, + "kind": "offline-j314s-wip2-boot-preparation", + "package_sha256": "f4297f70a266bf81bc8c4c25163548c62a051ef8759790c7a2db5b5b74104ef7", + "candidate_image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954", + "resolved_config_sha256": "005829aa9a52d1640e2bf82ed6c0eddd2ce2e4a78086397684452e4d50ad0c1a", + "root_cipher": "aes-xts-plain64", + "original_baseline_sha256": "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa", + "explicit_module_transitions": { + "kernel/crypto/fcrypt.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/crypto/pcbc.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/lib/raid6/raid6_pq.ko": "Relocated to kernel/lib/raid/raid6/raid6_pq.ko; retained through the new Btrfs dependency closure." + }, + "package_module_bytes_verified": true, + "module_sha256": { + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/842.ko": "d9da0ffa1f7ede94d43faadea02690a2d24131c1a33876b0a851ace6eda1ec4f", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/adiantum.ko": "fa93e3cc0d987e05adc3a16051fe72c4bb49b5e9cf423a9c165f6961aedd0a12", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/aegis128.ko": "4960a54e10d97b52df8fe65f09d78fa0e3ce86feb6d6a63ccc157570075209aa", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/anubis.ko": "736d1a1a40e5a1057c63fad7c85f869057488d3f31966feaa5a8f0ba199d1e7b", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/arc4.ko": "8e4f54c4f68f1160d22b547ee2dbd01155f5eb3c812aec3a01984051fdf7d7eb", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/aria_generic.ko": "3c1ee2ba3425c712a0df1f63cd37092e9b6ff7392aba145d34e1318ffe3ae9ef", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/async_tx/async_memcpy.ko": "475035096633ca67ceeebee997fd2833c39f0d0567509259d3bd2689dd5d59bb", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/async_tx/async_pq.ko": "921d10cfefda270b0cf1164386e3483257555f504db3e460c07eaed3281baa96", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/async_tx/async_raid6_recov.ko": "995175e23621da12fa99b295e09cc7b32181eb4a2ad69b2c35b78689355c718c", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/async_tx/async_tx.ko": "fee6f1d688b1bc21e74bdccf2f6189ad9db882fa0b73476de27596a8cf30927d", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/async_tx/async_xor.ko": "ee0d9ae902cf627a6378e07e8bda5c3cbe9b812b25317c6188d684e08f3d4925", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/authenc.ko": "920fb2a207343b3510cba9518eff4d6c0d617a4759879b42cf3dead6f4442b98", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/authencesn.ko": "bcf28d3c1ef84faec59efb9b2070ca79a7dac57891060dff179f3c24c01d2e2d", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/blowfish_common.ko": "17a174d99b0124ddc049050ec66ff59861c950190ca167e52a741c4834cb24db", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/blowfish_generic.ko": "c6b90a09b68e408b32ebdffcca51070ec7a3df79550d776e15d6209ca0e0280a", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/camellia_generic.ko": "2c95efe94b9c43798e8f5d2596c4a676999cceec963b865339fe0152de2de07c", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/cast5_generic.ko": "08f13d410418bd0c2bbc990ff487d53c3de94b3b910774656ead2d9635e8104b", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/cast6_generic.ko": "9da3bf181dc24d8b3cdf6640049247a709511ba998713c9fcc5527f6cdfedb3e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/cast_common.ko": "f5ef07847dd8fa56920739c134dea856c68c5d672c05aabffaca40fdbfea7a03", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/ccm.ko": "81a9bc5d9c534f7f0c6c87c1bab1f5be833b4f11f035de508e99569aeeb618ec", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/chacha20poly1305.ko": "c79ef176b3bfa8cc767b5cd480b4871f7b23e898b555599fb7b6f0026be0a33e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/cmac.ko": "df57bc0c55db1df25b5f700f5036ee973fa0bac41fbd7abab21afe2305e1efaa", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/crypto_engine.ko": "78bbf1bb2275cf0ad3ebbbdb454b9a0afe3c518f19a1f93af15aa4f14b0ac1af", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/crypto_user.ko": "cb094a3eea74a8604e6d77e0e3c3ae3c7c6348c3b89cda9c7d55cdf8ed2c2d4e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/des_generic.ko": "d28b204d53607348f99478cd918a551c15de7e1f82b7e470b4bcadc1849b2310", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/ecc.ko": "6fdbe3c30aff58c9384a74a0d4e1501bff15fbb02535213c34ea89e856f0e8e8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/ecdh_generic.ko": "62f4badbb98e96a8f961379fc62774a7f09d0ec96e0bab23cf26cb32d442d690", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/echainiv.ko": "daf286b32a32fe4e5e5dced7b4d0f2ad91658d2bdab80586cae6a7c066ebd479", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/essiv.ko": "4e8014e1ad9785321c91c117db25b22fe208c16943abb5933d8e88e225bb0dc0", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/khazad.ko": "907d3019ef83c082b11a8bf304b9054537ac380564d4d54c9c787a1c42cb8b69", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/krb5/krb5.ko": "1543804fac5c7309cbcb0428dcd4145e5f071a78ae1a0fd9bf3209e17ccf8a0c", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/krb5enc.ko": "39ce426994434a6c99d612f87e97d70412eae4c76ee2b67dc1046ebfe2c97d21", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/lrw.ko": "6af381da7f6e67e9d5ae9935606b5637c25ab709a1a4180273a1be97c1f45320", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/lz4.ko": "e97f5ce5a47be785f304966cbd744509bfadfff9a8cf321e9ed6e2994087805a", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/lz4hc.ko": "00b2f99fd0974c412e2852a1f64f4c088be0fd3ae2e87eda66a7861433be7a5e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/md4.ko": "898fb80090b6d32cc06ff405134dd2eddf47d0eec29ca9aee811bf72c5d24acf", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/pcrypt.ko": "15a54f69263ba40860bffe532640cb41c51fea984341d66c1b02920770e29ba0", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/rmd160.ko": "21ae38211b2ab46d9432b2fc178ab3eaaa3a8fdf8f261061d36b27cce717beb3", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/seed.ko": "eae65b5b9860e17f3f882a48dce583d3acc4f87b023c69c44874d71199e064fa", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/serpent_generic.ko": "8ae77e0eeb5193f8198e304b60f8a9286b3c33ee8df7ea5bfd161fbd8c7ea2df", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/sm3.ko": "e3c3695fe93bb1ef57161c1affa98323b9d1de3e5ff09a614278609f9ecd0d04", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/sm4_generic.ko": "96f3579525887bc57daf006bccbb033ed0e7a22064cc745bd478848683b5940b", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/tea.ko": "4573a067a83de270486041a8f936aab2137d672182e674fcd277c883b3e99dfe", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/twofish_common.ko": "e42f74c99d30a81a0077b7a0b42d98c6d73387d3e88e769ea281362572ec425c", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/twofish_generic.ko": "3384e029b531b0f80ce57978bec8e6620e4b9f4061bf1931504b44b8e7e1f1bc", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/wp512.ko": "da8db42d18a09524f757dc0ba6a3ccdabd819de56ab34b6705149d9de27a4417", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/xcbc.ko": "a664f2542c3bb020c1aae28f8068159edb92a72aafcfd2de33961bb9e7edb6f2", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/crypto/zstd.ko": "f42906f49f43e30beeb2c5e0871a7680066dbe9bb11005823967d11470fd63b8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/crypto/virtio/virtio_crypto.ko": "fedcb3df54e1190d56c39914adbf0f4b49b0dc3abc1ff41851c09969c406489f", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/gpu/drm/apple/appledrm.ko": "6f18e6041d6dcf5ddcd5e4f849c36edd954e385a17c1a6ce2f25d720a7db09a3", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/gpu/drm/apple/dcp-fabric-core.ko": "04aeb84eb305e4df3beb597c43e4fe130f05fc5a98a3491661eb8a111933ccc7", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/gpu/drm/drm_dma_helper.ko": "10181a186a7b3023f20a08cdaebef1e0ce570d81168c4d04fa318c6972f2a587", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/hid/dockchannel-hid/dockchannel-hid.ko": "13401d99280f935b5100e4a36cfc6529ff1e290d5bb79a2b2373f67b9c7bdda8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/hid/hid-apple-mtp-haptic.ko": "f01a0b414f996217893107ba630de483edf7fb10c2aeee83a153ca8afdb6ebc8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/hid/hid-apple.ko": "f54d634798d4a47d5018ee0575c7e64a000e349c17362b0ba7bf427028b41a56", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/hid/hid-magicmouse.ko": "c719d2d0ba159e359b5b6b94f80b8958509354e98cd19eafbf10b52d7a70eddd", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/hid/usbhid/usbhid.ko": "4152c5a6632f8f46265bc39ae938f742330bb6580b9098442f7c4edfc667620f", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/md/dm-crypt.ko": "357414ebd511ff5ab66cfa01fb9b95ba4254a725e72df31f02775889077172aa", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/md/dm-integrity.ko": "8f334bf6a441fd203e732a277eae0bbfd54b75de699596a73645969e60452edc", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/core/mmc_block.ko": "419eff5e8c6050e895ae9021780d387f4a42185c6ac8e0c6ca50bd9abc1cca6a", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/core/mmc_core.ko": "13779a223d9950e6ff6c85469df1cac2f6c71b594fe77ca4152598c8bc669ca0", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/host/cqhci.ko": "5ab794d71f99218a90d7a66c19be1902e5863b8c00997febb74f0341ed707837", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/host/sdhci-pci.ko": "9036a32a236c67ccfd00379a708457e12510aa43d4462d89e962a26e01457c93", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/host/sdhci-uhs2.ko": "8f278c90e0d49a05c29e6cf2473f61303f7edf9a43680822a590769bd3a0946e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mmc/host/sdhci.ko": "c832ade1d2af29c2561f1aff267077c8bac760b6ae2cb3bc3e6cd2c9ae38dc39", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/mux/mux-apple-display-crossbar.ko": "a18a8ef4a5a90ded41fc71155042610d25351e8efce6fbcaf5d5e67411bc9c01", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/phy/apple/phy-apple-atc.ko": "b0ff293b9f0f7a71b036cefc9e68434540108d779a08c6df8fda98c3cd588145", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/dwc3/dwc3-of-simple.ko": "02f47ddb13fb27b76de19f8f08743a9fea8cee692355106189af56e95fd348f5", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/dwc3/dwc3.ko": "626fc56a3dc506080fb279e0a10eb3cb4d6b5bc0a1c90b9c84e6c97e8476d086", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/gadget/udc/udc-core.ko": "a9de441f5f7f0d9a7aa2bf4a5b95da7338224c013a378552c25ac050ea0cf327", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/host/xhci-hcd.ko": "ba103d98f233198fd09be0a8f9bec8e66aa2ccd73a789c277d10795f0082741f", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/host/xhci-pci.ko": "c4a7e405924d281beffa7fbcd096382b9e8c22c7ae7ffeceb6f7e24ac941a260", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/host/xhci-plat-hcd.ko": "ae7ed96af2ea4a70bbb3851c526fa084f9460812acffcddf3dff65c1105f882c", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/storage/uas.ko": "c34e34a428145695f4d7f85ef615818eec5a6c7d235a54acaa9df8a67c00579b", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/storage/usb-storage.ko": "a531dd3b35df8d2ddbc0890eb09d96e9b595fa1c1acd9fb9e5a5cfa97b3eb8e8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/typec/tipd/tps6598x-core.ko": "bdd8d7a3cfb1ed936713f0af35906673f2221efbc4d6ffae20376f4290364e10", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/drivers/usb/typec/tipd/tps6598x.ko": "7c947b62dece06e8b8cc4b639b0593eeaa0f4e86080d9e2463b68da744dc9420", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/fs/btrfs/btrfs.ko": "ce6732a5f66fdb655c44c83bdc41607b7f42c3f947347c515fa535a91d2d8e6a", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/842/842_compress.ko": "aebc16865efb4f4f7b02d954d84900b79226d43986a8842bf93107ab50c33c42", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/842/842_decompress.ko": "68ede179f28a21a2fd8588711aa43089f041054b7c84de0d4dd62b9fc5ccbbd8", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libarc4.ko": "0270524d6949aeb795dc558399b8f2f4a1d37240c003e8ee9c942ca080db6c7e", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libchacha20poly1305.ko": "aa70f38d6dcc182478be208e7854aa970bf9515b52058b4f85c0a8f9a906f4d6", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libcurve25519.ko": "ec9c39216991466c4611b8fff0b637199e28e4f79f546fedcb94d5850b5e32b9", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libdes.ko": "88b2094a607db356bcb4f1bca3c89245ba12c91c5b45d90d0d9b28640aff7dc2", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libnh.ko": "362ebfa669b0fe2019618e748859764985c254009064967f3ff5d103369e7809", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libpoly1305.ko": "d318bfad0fcf9a3bf6c4a32639285d9d356602ff4477748f114d652d93ad1358", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/crypto/libsm3.ko": "f594cc95acc0e88ed46614c305814964e3c2aba9c0ad6a637d3affabd02dffa4", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/lz4/lz4_compress.ko": "5f74a03077a6c1cc2a822c9e4e2486ab05d129f7f48140ede342ceff0a8a9a62", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/lz4/lz4hc_compress.ko": "afff3a09cd9b05a3149902a4c5707c17041d01d8dbeddc9c111b084eded2d76f", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/raid/raid6/raid6_pq.ko": "b691ba23461fe7dd4c76fc3f59353a688f1c883aeb8a84a4d36ba6201516ff71", + "usr/lib/modules/7.2.10-elementary-aurora72-wip2/kernel/lib/raid/xor/xor.ko": "8d61b1bf8d616741aa9ba9aa44938828db66b6d7e2f1bbe4d57898b9ba3a007f" + }, + "shared_boot_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "shared_boot_change_required": false, + "shared_boot_policy": "Retain exact current 7.1 DTB/m1n1/U-Boot payload; legacy DART source checks are separate evidence.", + "original_custom_grub_sha256": "8663b74c584fbe5cacf943972f4f676de2a8444b30ad93175fc69c77b32d7f87", + "proposed_custom_grub_sha256": "a325bc32f84651c66332346f74ccebd8aade4a09d49001b89324867723cc4424", + "persistent_default": "elementary-aurora20", + "trial_entry": "elementary-aurora72-wip2-trial", + "installed": false, + "armed": false, + "rebooted": false +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/staging.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/staging.json new file mode 100644 index 000000000..fac2de298 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/staging.json @@ -0,0 +1,44 @@ +{ + "schema": 1, + "kind": "owner-approved-unarmed-kernel-staging", + "time_utc": "20261021T131440Z", + "release": "7.2.10-elementary-aurora72-wip2", + "package_sha256": "f4297f70a266bf81bc8c4c25163548c62a051ef8759790c7a2db5b5b74104ef7", + "image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954", + "initramfs_sha256": "ae1ed9d872ccbffe2854ec93c6c3d2bee0631aa7dd0000b7fcb4130b1437688b", + "persistent_default": "elementary-aurora20", + "trial_entry": "elementary-aurora72-wip2-trial", + "armed": false, + "rebooted": false, + "running_kernel": "7.1.12-elementary-aurora20-enh1", + "backup_directory": "/var/lib/mseries-kernel-tests/staging/20261021T131440Z-aurora72-wip2", + "protected_before": { + "/boot/vmlinuz-aurora20-enh1": "21ee66cf7b7afd0a999c8e9087411aef4b121d1ecffab88989ba5cacf1dfdaa7", + "/boot/initrd.img-7.1.12-elementary-aurora20-enh1": "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa", + "/boot/vmlinuz-aurora-sep-20261017.20": "543d1efd2dffaf621d1d7d1ba092cec71ee955903ec63c112bbcd32d921edbbd", + "/boot/initrd.img-7.1.12-2-20261017.20-sep-ARCH": "ea7c89aae15adc9760a64226e9834c54a62e75f3f9dddde144e08b9c26aaecf3", + "/boot/grub/custom.cfg": "8663b74c584fbe5cacf943972f4f676de2a8444b30ad93175fc69c77b32d7f87", + "/boot/grub/grub.cfg": "d05353d41c61263c99ddaf10042132f1ebf46abe191521c3bbd5f5ca272b5602", + "/boot/m1n1/boot.bin": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "/boot/grub/grubenv": "0e8344eff0b558d225092d5ccc2aef2247f81e3d829e2edfe48eb04a19fdbc11" + }, + "host_documentation_exclusion_override": "/usr/share/doc/linux-image-elementary-aurora72-wip2/*", + "installed": true, + "installed_payload_regular_files": 2042, + "early_modules_verified": 91, + "protected_after": { + "/boot/vmlinuz-aurora20-enh1": "21ee66cf7b7afd0a999c8e9087411aef4b121d1ecffab88989ba5cacf1dfdaa7", + "/boot/initrd.img-7.1.12-elementary-aurora20-enh1": "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa", + "/boot/vmlinuz-aurora-sep-20261017.20": "543d1efd2dffaf621d1d7d1ba092cec71ee955903ec63c112bbcd32d921edbbd", + "/boot/initrd.img-7.1.12-2-20261017.20-sep-ARCH": "ea7c89aae15adc9760a64226e9834c54a62e75f3f9dddde144e08b9c26aaecf3", + "/boot/grub/custom.cfg": "a325bc32f84651c66332346f74ccebd8aade4a09d49001b89324867723cc4424", + "/boot/grub/grub.cfg": "d05353d41c61263c99ddaf10042132f1ebf46abe191521c3bbd5f5ca272b5602", + "/boot/m1n1/boot.bin": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "/boot/grub/grubenv": "0e8344eff0b558d225092d5ccc2aef2247f81e3d829e2edfe48eb04a19fdbc11" + }, + "custom_cfg_sha256": "a325bc32f84651c66332346f74ccebd8aade4a09d49001b89324867723cc4424", + "next_entry": "", + "grub_syntax_pass": true, + "hardware_boot_qualified": false, + "status": "staged successfully; unarmed" +} diff --git a/mseries/aurora/unified72/boot-preflight-2026-10-21/uapi.json b/mseries/aurora/unified72/boot-preflight-2026-10-21/uapi.json new file mode 100644 index 000000000..082c704c0 --- /dev/null +++ b/mseries/aurora/unified72/boot-preflight-2026-10-21/uapi.json @@ -0,0 +1,14 @@ +{ + "source": "644133b7799f759c5bfd88507b6246d298b6509c", + "baseline": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", + "path": "include/uapi/drm/asahi_drm.h", + "old_sha256": "2698ae2b447945202ed45bcdb93ea34db3782e191473da045e63a5524550b4ef", + "new_sha256": "0bed9d45468035f76d5d9d58330664a2685c9c9378e93f1a72f48f9f881a7ccc", + "declarations_equal_after_comment_whitespace_removal": true, + "observed_mesa_packages": { + "libegl-mesa0": "26.0.8-1ubuntu0.3", + "libgl1-mesa-dri": "26.0.8-1ubuntu0.3", + "mesa-vulkan-drivers": "26.0.8-1ubuntu0.3" + }, + "limits": "Read-only header comparison and installed package metadata. Header changes are two documentation comments, including an M3/T6030 capability restriction. This does not establish command-handler behavior, actual client/runtime compatibility or hardware acceptance." +} diff --git a/mseries/aurora/unified72/check-legacy-dtb.py b/mseries/aurora/unified72/check-legacy-dtb.py new file mode 100644 index 000000000..cb288600d --- /dev/null +++ b/mseries/aurora/unified72/check-legacy-dtb.py @@ -0,0 +1,197 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0-only +"""Check the retained J314S DTB and execute the pinned DART window parser on host.""" +import argparse +import hashlib +import json +from pathlib import Path +import re +import resource +import struct +import subprocess + + +def fdt(data): + if len(data) < 40: + raise ValueError("truncated FDT header") + magic, total, start, strings, _, version, _, _, string_size, size = struct.unpack_from(">10I", data) + if magic != 0xd00dfeed or total != len(data) or version < 17 or start + size > total or strings + string_size > total: + raise ValueError("unsupported FDT bounds/version") + pos, stack, nodes = start, [], {} + while pos < start + size: + token = struct.unpack_from(">I", data, pos)[0] + pos += 4 + if token == 1: + end = data.index(b"\0", pos, start + size) + stack.append(data[pos:end].decode()) + nodes["/" + "/".join(stack[1:])] = {} + pos = (end + 4) & ~3 + elif token == 2: + if not stack: + raise ValueError("unbalanced FDT node") + stack.pop() + elif token == 3: + length, offset = struct.unpack_from(">II", data, pos) + pos += 8 + if not stack or offset >= string_size or pos + length > start + size: + raise ValueError("invalid FDT property") + end = data.index(b"\0", strings + offset, strings + string_size) + name = data[strings + offset:end].decode() + nodes["/" + "/".join(stack[1:])][name] = data[pos:pos + length] + pos = (pos + length + 3) & ~3 + elif token == 4: + continue + elif token == 9: + if stack: + raise ValueError("unclosed FDT node") + return nodes + else: + raise ValueError("unknown FDT token") + raise ValueError("missing FDT end token") + + +def strings(value): + return value.rstrip(b"\0").decode().split("\0") if value else [] + + +def cells(value): + if len(value) % 4: + raise ValueError("unaligned cell array") + return struct.unpack(">" + "I" * (len(value) // 4), value) + + +def function(text, name): + match = re.search(r"^static int " + re.escape(name) + r"\(", text, re.M) + if not match: + raise ValueError("production parser missing") + pos = text.index("{", match.start()) + 1 + depth = 1 + while depth: + depth += (text[pos] == "{") - (text[pos] == "}") + pos += 1 + return text[match.start():pos] + + +def check(dtb, source, output): + if output.exists(): + raise ValueError("preserve prior controls; choose a new output") + data = dtb.read_bytes() + if hashlib.sha256(data).hexdigest() != "a29ff68864e785f05f5f3e44d5bea8ab3166ac52958ea52023c2fa40740fd306": + raise ValueError("not the reviewed retained J314S DTB") + nodes = fdt(data) + if "apple,j314s" not in strings(nodes["/"]["compatible"]): + raise ValueError("wrong board") + providers, phandles = {}, {} + for path, props in nodes.items(): + if "phandle" in props: + phandles[cells(props["phandle"])[0]] = path + compatible = strings(props.get("compatible", b"")) + if not any("-dart" in name for name in compatible): + continue + if not set(compatible).intersection(("apple,t6000-dart", "apple,t8103-dart", "apple,t8110-dart")): + raise ValueError("unreviewed DART hardware compatible: " + path) + if cells(props.get("#iommu-cells", b"")) != (1,): + raise ValueError("retained DTB is not the legacy one-cell format") + window = props.get("apple,dma-range") + base, length = struct.unpack(">QQ", window) if window is not None else (0, 1 << 32) + # Legacy windows can have a high constant DVA prefix. The driver checks + # the width of the span with XOR, not the absolute end against 2**IAS. + if not length or base + length > 1 << 64: + raise ValueError("legacy DMA window overflows") + if "apple,t6000-dart" in compatible and (base ^ (base + length - 1)) >> 32: + raise ValueError("legacy T6000 window crosses its address-width span") + providers[path] = {"compatible": compatible, "base": base, "size": length, + "window_input": "DT property" if window is not None else "modeled 32-bit default; hardware parameter registers not emulated"} + clients = [] + for path, props in nodes.items(): + if "iommus" not in props: + continue + args, index = cells(props["iommus"]), 0 + while index < len(args): + provider = phandles[args[index]] + count = cells(nodes[provider]["#iommu-cells"])[0] + if index + 1 + count > len(args): + raise ValueError("truncated IOMMU specifier") + if provider in providers: + clients.append({"client": path, "provider": provider, "stream": args[index + 1]}) + index += 1 + count + if not providers or not clients: + raise ValueError("no reviewed DART topology") + body = function(source.read_text(), "apple_dart_parse_dma_window") + code = r'''// SPDX-License-Identifier: GPL-2.0-only +#include +#include +#include +#include +#include +typedef uint32_t u32; +typedef uint64_t dma_addr_t; +struct device { int unused; }; +struct apple_dart { dma_addr_t dma_min, dma_max; u32 ias, pgsize; }; +struct of_phandle_args { int args_count; u32 args[6]; }; +#define DMA_BIT_MASK(n) ((n) == 64 ? UINT64_MAX : ((UINT64_C(1) << (n)) - 1)) +#define IS_ALIGNED(x,a) (!((x) & ((a) - 1))) +#define check_add_overflow(a,b,out) __builtin_add_overflow((a),(b),(out)) +#define dev_err(...) ((void)0) +''' + code += body + code += r''' +static unsigned int checks; +static void legacy(uint64_t base, uint64_t size, unsigned int sid) { + struct device dev={0}; struct apple_dart dart={.dma_min=base,.dma_max=base+size-1,.ias=32,.pgsize=16384}; + struct of_phandle_args args={.args_count=1,.args={sid}}; dma_addr_t first=0,last=0; + assert(!apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)); + assert(first==base && last==base+size-1); checks++; +} +static void window(unsigned int bits, uint64_t base, uint64_t size) { + struct device dev={0}; struct apple_dart dart={.dma_min=0,.dma_max=DMA_BIT_MASK(bits),.ias=bits,.pgsize=16384}; + struct of_phandle_args args={.args_count=5,.args={0,base>>32,base,size>>32,size}}; dma_addr_t first=0,last=0; + assert(!apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)); + assert(first==base && last==base+size-1); checks++; +} +int main(void) { +''' + for client in clients: + window = providers[client["provider"]] + code += f"legacy({window['base']}ULL,{window['size']}ULL,{client['stream']}U);\n" + code += r''' + window(32,0,0xfc000000); window(42,0x10000000000ULL,0x1000000000ULL); window(36,0x800000000ULL,0x7ffff0000ULL); + window(32,0x1f000000000ULL,0xfc000000); + struct device dev={0}; struct apple_dart dart={.dma_min=0,.dma_max=0xffffffff,.ias=32,.pgsize=16384}; + struct of_phandle_args args={0}; dma_addr_t first,last; + for (unsigned int n=0;n<=6;n++) { if(n==1||n==5)continue; args.args_count=n; + assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL); checks++; } + args.args_count=5; assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL); checks++; + args.args[2]=1;args.args[4]=16384;assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL); checks++; + args.args[2]=0;args.args[4]=1;assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL); checks++; + args.args[2]=0xffffc000;args.args[4]=32768;assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL); checks++; + dart.ias=64;dart.dma_max=UINT64_MAX;args.args[1]=0xffffffff;args.args[2]=0xffffc000;args.args[4]=32768; + assert(apple_dart_parse_dma_window(&dev,&dart,&args,&first,&last)==-EINVAL);checks++; + printf("%u parser controls passed\n",checks); +} +''' + output.mkdir(parents=True) + generated = output / "parser-controls.c" + generated.write_text(code) + subprocess.run(["cc", "-std=gnu11", "-Wall", "-Werror", str(generated), "-o", str(output / "parser-controls")], check=True) + run = subprocess.run([str(output / "parser-controls")], capture_output=True, text=True, + preexec_fn=lambda: resource.setrlimit(resource.RLIMIT_CORE, (0, 0))) + (output / "run.log").write_text(run.stdout + run.stderr) + run.check_returncode() + result = {"schema": 1, "kind": "retained-dtb-dart-host-controls", "dtb_sha256": hashlib.sha256(data).hexdigest(), + "production_source_sha256": hashlib.sha256(source.read_bytes()).hexdigest(), + "production_function_sha256": hashlib.sha256(body.encode()).hexdigest(), + "fixture_sha256": hashlib.sha256(code.encode()).hexdigest(), "providers": providers, + "legacy_client_specifiers": len(clients), "stdout": run.stdout, + "result": "pass", "limits": "Unmodified parser executed with DT-derived legacy geometry and synthetic new/invalid windows. Not a DART probe, firmware, complete DT compatibility or hardware boot qualification."} + (output / "receipt.json").write_text(json.dumps(result, indent=2) + "\n") + print(run.stdout, end="") + return result + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + for name in ("dtb", "source", "output"): + parser.add_argument("--" + name, required=True, type=Path) + args = parser.parse_args() + check(args.dtb, args.source, args.output) diff --git a/mseries/aurora/unified72/prepare-j314s-trial.py b/mseries/aurora/unified72/prepare-j314s-trial.py new file mode 100644 index 000000000..ffdfd153c --- /dev/null +++ b/mseries/aurora/unified72/prepare-j314s-trial.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Prepare the pinned J314S wip2 trial offline; never install, arm or reboot.""" +import argparse +import gzip +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import re +import shutil +import stat +import subprocess +import tarfile + +HERE = Path(__file__).resolve().parent +BASE = "7.1.12-elementary-aurora20-enh1" +NEW = "7.2.10-elementary-aurora72-wip2" +BASE_SHA = "06a885396f5613154b2fbb6774744efde95a9d25512698d297b3f14da0d4f3aa" +BOOT_SHA = "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f" +TRANSITIONS = { + "kernel/crypto/fcrypt.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/crypto/pcbc.ko": "Absent from this candidate; not needed by the observed AES-XTS LUKS2 root.", + "kernel/lib/raid6/raid6_pq.ko": "Relocated to kernel/lib/raid/raid6/raid6_pq.ko; retained through the new Btrfs dependency closure.", +} + + +def load(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def prepare(args): + os.umask(0o077) + output = args.output.resolve() + if output.exists() or any(output.is_relative_to(Path(p)) for p in ("/boot", "/usr", "/etc", "/Volumes")): + raise ValueError("choose a fresh private work directory outside live system paths") + if args.root_cipher != "aes-xts-plain64": + raise ValueError("this transition policy only covers an observed AES-XTS root") + native = json.loads((HERE / "native-build-2026-10-21.json").read_text()) + provenance = native["provenance"] + if provenance["kernel_release"] != NEW or digest(args.package.read_bytes()) != provenance["package_sha256"]: + raise ValueError("candidate package identity differs from the independently audited artifact") + baseline = args.baseline.read_bytes() + boot = args.existing_boot.read_bytes() + if digest(baseline) != BASE_SHA or digest(boot) != BOOT_SHA: + raise ValueError("working initramfs/shared boot payload changed; review this preparation again") + modules = args.module_root.resolve() / "lib/modules" / NEW + config = (args.module_root / "share/doc/linux-image-elementary-aurora72-wip2/build.config").read_bytes() + if digest(config) != provenance["resolved_config_sha256"]: + raise ValueError("resolved candidate config changed") + for key, value in {"CRYPTO_AES": "y", "CRYPTO_XTS": "y", "CRYPTO_SHA256": "y", + "NVME_APPLE": "y", "DM_CRYPT": "m", "BTRFS_FS": "m", + "PINCTRL_APPLE_GPIO": "y", "APPLE_DOCKCHANNEL": "y"}.items(): + if f"CONFIG_{key}={value}\n".encode() not in config: + raise ValueError("required boot/unlock config missing: " + key) + trial = load("trial_initrd", HERE.parent / "prepare-trial-initrd.py") + audit = load("trial_initrd_audit", HERE.parent / "audit-trial-initrd.py") + early, compressed = trial.split_image(baseline) + rows, trailer = trial.newc.parse(gzip.decompress(compressed)) + prefix = f"usr/lib/modules/{BASE}/" + selected = {trial.newc.canonical(n)[len(prefix):] for n, v, d in rows + if trial.newc.canonical(n).startswith(prefix + "kernel/") and stat.S_ISREG(v[1])} + missing = {name for name in selected if not (modules / name).is_file()} + if missing != set(TRANSITIONS): + raise ValueError("unexpected module transitions: " + repr(sorted(missing))) + relocated = "kernel/lib/raid/raid6/raid6_pq.ko" + if subprocess.check_output(["modinfo", "-F", "name", str(modules / relocated)], text=True).strip() != "raid6_pq": + raise ValueError("relocated RAID6 module identity differs") + # Only module selectors change. The later independent audit compares against + # the ORIGINAL working image, not this intermediate filtered image. + retained = [(n, v, d) for n, v, d in rows + if trial.newc.canonical(n) not in {prefix + name for name in TRANSITIONS}] + output.mkdir(mode=0o700, parents=True) + filtered = output / "baseline-module-selectors.img" + filtered.write_bytes(early + gzip.compress(trial.newc.encode(retained, trailer), compresslevel=6, mtime=0)) + initrd = output / ("initrd.img-" + NEW) + trial.prepare(filtered, args.module_root, BASE, NEW, initrd, output / "module-preparation.json") + result = audit.audit(baseline, initrd.read_bytes(), modules) + _, entries = audit.entries(initrd.read_bytes()) + candidate_prefix = f"usr/lib/modules/{NEW}/" + module_hashes = {name: digest(data) for name, (values, data) in entries.items() + if name.startswith(candidate_prefix + "kernel/") and stat.S_ISREG(values[1])} + if candidate_prefix + relocated not in module_hashes: + raise ValueError("Btrfs RAID6 dependency not included") + # Verify every embedded module directly against the original pinned package. + seen = set() + with subprocess.Popen(["dpkg-deb", "--fsys-tarfile", str(args.package)], stdout=subprocess.PIPE) as process: + with tarfile.open(fileobj=process.stdout, mode="r|") as package_tar: + for member in package_tar: + name = member.name.removeprefix("./") + if member.isfile() and name in module_hashes: + if digest(package_tar.extractfile(member).read()) != module_hashes[name]: + raise ValueError("initramfs module differs from audited package: " + name) + seen.add(name) + if process.wait() or seen != set(module_hashes): + raise ValueError("incomplete package/module verification") + image = modules / "vmlinuz" + if digest(image.read_bytes()) != native["package"]["image_sha256"]: + raise ValueError("candidate Image differs from audited artifact") + shutil.copy2(image, output / "vmlinuz-aurora72-wip2") + (output / "boot.bin.rollback").write_bytes(boot) + original_grub = args.custom_grub.read_text() + match = re.search(r"^menuentry '[^']*DEV: Aurora \.20-enh1[^']*' --id elementary-aurora20-enh1 \{\n.*?^\}", original_grub, re.M | re.S) + if not match or "elementary-aurora72-wip2-trial" in original_grub: + raise ValueError("expected current DEV entry not found or trial already exists") + block = match.group().replace(match.group().splitlines()[0], "menuentry 'elementary OS - TRIAL: Aurora 7.2 wip2' --id elementary-aurora72-wip2-trial {") + block = block.replace("/vmlinuz-aurora20-enh1", "/vmlinuz-aurora72-wip2").replace("/initrd.img-" + BASE, "/initrd.img-" + NEW) + proposed = original_grub.rstrip() + "\n\n" + block + "\n" + (output / "custom.cfg.proposed").write_text(proposed) + subprocess.run(["grub-script-check", str(output / "custom.cfg.proposed")], check=True) + result.update(kind="offline-j314s-wip2-boot-preparation", package_sha256=provenance["package_sha256"], + candidate_image_sha256=native["package"]["image_sha256"], + resolved_config_sha256=provenance["resolved_config_sha256"], + root_cipher=args.root_cipher, original_baseline_sha256=BASE_SHA, + explicit_module_transitions=TRANSITIONS, package_module_bytes_verified=True, + module_sha256=module_hashes, shared_boot_sha256=BOOT_SHA, + shared_boot_change_required=False, shared_boot_policy="Retain exact current 7.1 DTB/m1n1/U-Boot payload; legacy DART source checks are separate evidence.", + original_custom_grub_sha256=digest(original_grub.encode()), + proposed_custom_grub_sha256=digest(proposed.encode()), + persistent_default="elementary-aurora20", trial_entry="elementary-aurora72-wip2-trial", + installed=False, armed=False, rebooted=False, + status="prepared offline and original-unlock/module-package audit passed; no hardware boot qualification") + (output / "preparation.json").write_text(json.dumps(result, indent=2) + "\n") + print(json.dumps({k: result[k] for k in ("status", "candidate_sha256", "verified_module_count")}, indent=2)) + return result + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + for name in ("package", "baseline", "module-root", "existing-boot", "custom-grub", "output"): + parser.add_argument("--" + name, type=Path, required=True) + parser.add_argument("--root-cipher", required=True) + prepare(parser.parse_args()) From 9d6e35be37587205fd9709701ce597b082c4c32d Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 09:23:50 -0400 Subject: [PATCH 4/7] Record passing repeat CI and owner-authorized one-shot boot --- mseries/OS9-HANDOFF.md | 25 +++ mseries/ROADMAP.md | 10 ++ mseries/aurora/unified72/BOOT-TRIAL.md | 21 ++- mseries/aurora/unified72/README.md | 15 +- .../unified72/one-shot-armed-2026-10-21.json | 22 +++ .../unified72/repeat-ci-2026-10-21.json | 162 ++++++++++++++++++ 6 files changed, 245 insertions(+), 10 deletions(-) create mode 100644 mseries/aurora/unified72/one-shot-armed-2026-10-21.json create mode 100644 mseries/aurora/unified72/repeat-ci-2026-10-21.json diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 414f4acfc..875b97d07 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,30 @@ # OS 9 implementation / Claude Code handoff +## Aurora 7.2 one-shot armed after repeat CI pass — 2026-10-21 + +Owner authorized arming when the repeat run passed, then asked to continue. +Both native matrix jobs passed [repeat CI 39601423970](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970) +at `ed08d50`. Rechecked installed package, Image/initramfs, old fallback files, +shared `boot.bin`, menu syntax and empty prior one-shot; all passed. Ran +`sudo grub-reboot --boot-directory=/boot elementary-aurora72-wip2-trial` at +13:23:18 UTC (09:23:18 EDT). Verified **next_entry=elementary-aurora72-wip2-trial**. +Persistent default stays `.20`; all protected files except the intentional +GRUB environment update remain unchanged. Running `.20-enh1`; **no reboot**. +[Arming receipt](aurora/unified72/one-shot-armed-2026-10-21.json), +[repeat CI receipt](aurora/unified72/repeat-ci-2026-10-21.json). +Root-private pre-arm environment/receipt: +`/var/lib/mseries-kernel-tests/arming/20261021T132318Z-aurora72-wip2`. + +**Next:** owner/Claude attended reboot into `7.2.10-elementary-aurora72-wip2`, +password unlock, internal/dock display/input, current-boot logs and manual +qualification + shader/fsync checks, then actual `.20` recovery before suspend +or power tests. GRUB clears the one-shot before kernel loading; subsequent normal +boots retain `.20` default. If trial hangs, record the last message and select +STABLE `.20` on recovery. Existing source/hardware limits still apply. Do not +re-arm automatically after this boot, regenerate GRUB or rewrite `boot.bin`. +Arming does not establish any new hardware acceptance. This checkpoint +supersedes the earlier unarmed status below. + ## Aurora 7.2 wip2 staged, unarmed — 2026-10-21 Owner explicitly approved the checked unarmed staging proposal. Installed separate diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index ebc53c8de..3879ee7e6 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,5 +1,15 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) +## Aurora 7.2 one-shot armed — 2026-10-21 + +Repeat native CI 39601423970 passed both matrix jobs. Owner-authorized one-shot +`elementary-aurora72-wip2-trial` is armed; `.20` remains persistent default, +old/shared payload bytes are unchanged, no reboot yet. Next is owner/Claude +attended reboot, basic unlock/display/input and manual qualification, then +actual `.20` recovery. Hardware/suspend/power acceptance remains open. +[Arming receipt](aurora/unified72/one-shot-armed-2026-10-21.json). +This supersedes the unarmed staging status below. + ## Aurora 7.2 staged for an attended trial — 2026-10-21 Merged #139 `644133b7799f` wip2 passed native build, independent artifact audit, diff --git a/mseries/aurora/unified72/BOOT-TRIAL.md b/mseries/aurora/unified72/BOOT-TRIAL.md index c96a762a8..5514d1d97 100644 --- a/mseries/aurora/unified72/BOOT-TRIAL.md +++ b/mseries/aurora/unified72/BOOT-TRIAL.md @@ -1,6 +1,21 @@ -# J314S wip2: staged, unarmed experimental trial +# J314S wip2: one-shot armed experimental trial -## Installed state, October 21, 2026 +## Current one-shot state, October 21, 2026 + +Owner authorized arming after repeat CI passed. Both matrix jobs in run +39601423970 passed; all staged/fallback hashes, package verification, GRUB syntax +and environment storage checks passed again. At 13:23:18 UTC (09:23:18 EDT), +`grub-reboot --boot-directory=/boot elementary-aurora72-wip2-trial` set and verified +that exact `next_entry`. `.20` remains persistent default; no reboot occurred. +[Arming receipt](one-shot-armed-2026-10-21.json) supersedes the earlier unarmed +status below. This authorization covers the armed one-shot; the owner controls +the attended reboot. Do not automatically re-arm after the trial. + +To cancel before reboot, first verify the one-shot still equals this trial, +then use `sudo grub-editenv /boot/grub/grubenv set next_entry=` and verify it is +empty; preserve another owner's changed selection. Record cancellation separately. + +## Earlier installed state, October 21, 2026 Owner approved **unarmed staging**. Installed separate package `linux-image-elementary-aurora72-wip2` version `7.2.10+elementary.aurora72.wip2-1`, @@ -74,7 +89,7 @@ replay exclusion. Full 64-fix semantic parity remains open. 2. With an owner present and explicit go-ahead, select **TRIAL: Aurora 7.2 wip2** once at GRUB. A separately authorized one-shot may be used; do not change the persistent default. No service should arm this - automatically. The current authorization stops at unarmed staging. + automatically. Owner has since authorized and completed this one-shot arming; do not repeat it automatically. 3. Use the password for root unlock/login initially. Do not re-enroll Touch ID, disable xART, or add optional sleep/user4k parameters. Upstream records M1 first-attempt Touch ID regression and an unexplained M1 Pro early hang. diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index d8db95603..f5857187e 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -2,12 +2,13 @@ ## Current host state — October 21, 2026 -Owner approved and completed **unarmed staging** of wip2: the separate package, -Image/initramfs and non-default GRUB entry are installed. `.20` remains default, -`next_entry` is empty, old boot files and shared `boot.bin` are unchanged. Running -kernel remains `.20-enh1`; no 7.2 boot or hardware qualification is claimed. -See [staging/attended trial plan](BOOT-TRIAL.md) and -[preflight receipt](boot-preflight-2026-10-21.json). Never automatically arm this trial. +Both repeat native CI matrix jobs passed [run 39601423970](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970) +at `ed08d50`. Owner-authorized **one-shot is armed** for +`elementary-aurora72-wip2-trial`. `.20` remains persistent default; old boot files +and shared `boot.bin` are unchanged. Running kernel remains `.20-enh1`; no reboot +or 7.2 hardware acceptance is claimed. See [arming receipt](one-shot-armed-2026-10-21.json), +[attended boot plan](BOOT-TRIAL.md) and [preflight receipt](boot-preflight-2026-10-21.json). +Do not automatically re-arm after this trial. ## Merged source refresh — October 21, 2026 @@ -90,7 +91,7 @@ fail on pin/config/identity errors; none installs a package. ## Hardware and compatibility gates -This is an **experimental, staged but unarmed trial**, not hardware-qualified. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) +This is an **experimental, one-shot-armed trial**, not hardware-qualified. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) records the old `582e9ef3` snapshot; retain it as history. The new focused review supersedes only its three inspected GPU/SEP gap descriptions, not all 64 semantic review requirements. Check the intended Mesa/kernel UAPI and actual client diff --git a/mseries/aurora/unified72/one-shot-armed-2026-10-21.json b/mseries/aurora/unified72/one-shot-armed-2026-10-21.json new file mode 100644 index 000000000..3847ae06b --- /dev/null +++ b/mseries/aurora/unified72/one-shot-armed-2026-10-21.json @@ -0,0 +1,22 @@ +{ + "schema": 1, + "kind": "owner-authorized-one-shot-arming", + "time_utc": "20261021T132318Z", + "ci_run": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970", + "ci_head": "ed08d502d294f6fa8c9160852e91f6f2ff5c802e", + "ci_conclusion": "success", + "trial_entry": "elementary-aurora72-wip2-trial", + "release": "7.2.10-elementary-aurora72-wip2", + "persistent_default": "elementary-aurora20", + "running_kernel": "7.1.12-elementary-aurora20-enh1", + "rebooted": false, + "backup_directory": "/var/lib/mseries-kernel-tests/arming/20261021T132318Z-aurora72-wip2", + "image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954", + "initramfs_sha256": "ae1ed9d872ccbffe2854ec93c6c3d2bee0631aa7dd0000b7fcb4130b1437688b", + "shared_boot_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "armed": true, + "next_entry": "elementary-aurora72-wip2-trial", + "grubenv_sha256": "59d367bbb761e4f93a16488a986df75c76b8ec11b0a4a03a6d05fe6b9560e8b2", + "other_protected_files_unchanged": true, + "grub_reboot_output": "" +} diff --git a/mseries/aurora/unified72/repeat-ci-2026-10-21.json b/mseries/aurora/unified72/repeat-ci-2026-10-21.json new file mode 100644 index 000000000..5c2343021 --- /dev/null +++ b/mseries/aurora/unified72/repeat-ci-2026-10-21.json @@ -0,0 +1,162 @@ +{ + "conclusion": "success", + "headSha": "ed08d502d294f6fa8c9160852e91f6f2ff5c802e", + "jobs": [ + { + "completedAt": "2026-10-21T13:22:54Z", + "conclusion": "success", + "databaseId": 119226610179, + "name": "ARM64 candidate build and payload inspection", + "startedAt": "2026-10-21T12:40:09Z", + "status": "completed", + "steps": [ + { + "conclusion": "success", + "name": "Set up job", + "number": 1, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Run actions/checkout@v7", + "number": 2, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Install native build tools", + "number": 3, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Prepare pinned sources and patches", + "number": 4, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Exercise selected production kernel logic", + "number": 5, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Build kernel, modules, DTBs and payload-only Debian package", + "number": 6, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Inspect package boundaries", + "number": 7, + "status": "completed" + }, + { + "conclusion": "skipped", + "name": "Preserve resolved configuration on failure", + "number": 8, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Preserve package, complete corresponding source and provenance", + "number": 9, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Post Run actions/checkout@v7", + "number": 18, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Complete job", + "number": 19, + "status": "completed" + } + ], + "url": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970/job/119226610179" + }, + { + "completedAt": "2026-10-21T13:20:58Z", + "conclusion": "success", + "databaseId": 119226610396, + "name": "ARM64 unified72 build and payload inspection", + "startedAt": "2026-10-21T12:40:09Z", + "status": "completed", + "steps": [ + { + "conclusion": "success", + "name": "Set up job", + "number": 1, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Run actions/checkout@v7", + "number": 2, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Install native build tools", + "number": 3, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Prepare pinned sources and patches", + "number": 4, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Exercise selected production kernel logic", + "number": 5, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Build kernel, modules, DTBs and payload-only Debian package", + "number": 6, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Inspect package boundaries", + "number": 7, + "status": "completed" + }, + { + "conclusion": "skipped", + "name": "Preserve resolved configuration on failure", + "number": 8, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Preserve package, complete corresponding source and provenance", + "number": 9, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Post Run actions/checkout@v7", + "number": 18, + "status": "completed" + }, + { + "conclusion": "success", + "name": "Complete job", + "number": 19, + "status": "completed" + } + ], + "url": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970/job/119226610396" + } + ], + "status": "completed", + "url": "https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970" +} From e0bc9d7f3d15c4c0851b7bfa48573555a6b33507 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 09:37:36 -0400 Subject: [PATCH 5/7] Triage remaining source contracts and document manual boot checks --- mseries/OS9-HANDOFF.md | 24 ++ mseries/ROADMAP.md | 10 + mseries/aurora/unified72/BOOT-TRIAL.md | 66 ++++ mseries/aurora/unified72/README.md | 21 ++ .../static-contract-review-2026-10-21.json | 327 ++++++++++++++++++ 5 files changed, 448 insertions(+) create mode 100644 mseries/aurora/unified72/static-contract-review-2026-10-21.json diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 875b97d07..62287a03e 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,29 @@ # OS 9 implementation / Claude Code handoff +## Deferred reboot: static audit and manual test readiness — 2026-10-21 + +Owner deferred the reboot and asked to continue. One-shot remains armed for +wip2; no boot setting, installed package, service or module was changed. +All 24 mechanically-neither review patches now have a bounded static triage: +19 described source contracts retained, two subsystem replacements open, +one documentation case open and two partial lifecycle/policy reviews. The +moved `mm/userfaultfd.c` was recovered from the audited corresponding-source ZIP; +its source-check branch survives, and USERFAULTFD is disabled in this config. +Other matched safeguards include debug commands disabled, AWDL parameter +read-only, AFK/VFIO dependencies, legacy 13.5 DPTX dispatch and SEP store policy. +[Source-bound receipt](aurora/unified72/static-contract-review-2026-10-21.json). +Full 64-fix semantic qualification remains open, including the 40 reverse checks. + +Readiness: compiler, EGL/GLES development metadata and Python GI imports exist. +No new test execution or old-kernel result was presented as wip2 acceptance. +Added [exact private manual commands](aurora/unified72/BOOT-TRIAL.md#manual-collection-after-the-attended-wip2-boot): +copy/hash only root-readable Image/shared boot payload into mode0700 evidence, +collect current-boot journal and run qualification as desktop user, preserving +session-bus access. Review health/live identity before a separate shader/fsync +invocation. PowerSaveMode remains unknown; do not treat equal unavailable +dictionaries as measured display/power stability. Owner controls later reboot, +and actual return-to-.20 recovery still precedes suspend/power work. + ## Aurora 7.2 one-shot armed after repeat CI pass — 2026-10-21 Owner authorized arming when the repeat run passed, then asked to continue. diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index 3879ee7e6..0aff8a261 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,5 +1,15 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) +## Deferred reboot: mismatch triage and test readiness — 2026-10-21 + +24 mechanically-neither patches triaged: 19 source contracts retained, +five deeper/partial reviews open. Full 64-fix semantics and hardware acceptance +remain unqualified. Exact private post-boot collector/smoke commands are ready; +compiler/EGL/GLES/GI dependencies exist. No hardware tests or installed changes. +The one-shot remains armed for the owner's later attended reboot. +[Audit](aurora/unified72/static-contract-review-2026-10-21.json), +[manual sequence](aurora/unified72/BOOT-TRIAL.md#manual-collection-after-the-attended-wip2-boot). + ## Aurora 7.2 one-shot armed — 2026-10-21 Repeat native CI 39601423970 passed both matrix jobs. Owner-authorized one-shot diff --git a/mseries/aurora/unified72/BOOT-TRIAL.md b/mseries/aurora/unified72/BOOT-TRIAL.md index 5514d1d97..054acfaa8 100644 --- a/mseries/aurora/unified72/BOOT-TRIAL.md +++ b/mseries/aurora/unified72/BOOT-TRIAL.md @@ -127,3 +127,69 @@ matches this staged hash, and remove only the new wip2 Image/initramfs after confirming their hashes. Do not restore or overwrite the shared payload, old kernel files or generated GRUB as part of routine unstage. Do not remove the wip2 modules while running wip2. Record any rollback separately. + +## Manual collection after the attended wip2 boot + +Run from the normal logged-in desktop terminal after confirming picture/input. +Allow at least five minutes uptime for the collector's scoped boot check. Stop +and inspect any panic/oops/lockup or unusable display before the smoke test. +These commands refuse the wrong running release. They do not arm, reboot, +suspend, reconfigure a connector or load a module. + +The boot files are root-readable. Copy only the Image and shared `boot.bin` +into a fresh mode0700 evidence directory, verify their pinned hashes, and run +collectors as the desktop user. This preserves the session bus for display +queries. Do not copy or publish an unlock initramfs. Raw journal files stay +private. The example uses this trial's retained checkout; use its exact audited +copy after reboot rather than an unrelated branch. + +```sh +( + set -eu + test "$(uname -r)" = '7.2.10-elementary-aurora72-wip2' + MSeriesRepo=/home/sdolbec/Documents/Codex/2026-10-21/we-x20/work/mseries-handoff + trial_dir=$(mktemp -d /home/sdolbec/Documents/Codex/2026-10-21/we-x20/outputs/aurora72-boot.XXXXXX) + chmod 700 "$trial_dir" + sudo -v + sudo cat /boot/vmlinuz-aurora72-wip2 > "$trial_dir/Image" + sudo cat /boot/m1n1/boot.bin > "$trial_dir/boot.bin" + cd "$trial_dir" + sha256sum --check <<'HASHES' +894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954 Image +9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f boot.bin +HASHES + sudo journalctl -b -k -o json --no-pager > kernel-journal.jsonl + python3 "$MSeriesRepo/mseries/aurora/qualification.py" collect \ + --output hardware.json --kernel-image Image --boot-image boot.bin \ + --kernel-log kernel-journal.jsonl --duration 30 --interval 1 + printf 'Private evidence directory: %s\n' "$trial_dir" +) +``` + +Review `hardware.json` first. Require the live build ID match, current-boot log +identity and no failed health checks. Confirm the actual running module hashes, +selected legacy DART cells/firmware and visual acceptance separately. Missing +`PowerSaveMode` still makes display context unavailable: keep it unknown and +`controls_unchanged=false`; a successful command is not complete acceptance. + +Only after that review, set `trial_dir` to the directory printed above and run +from the same normal desktop session: + +```sh +MSeriesRepo=/home/sdolbec/Documents/Codex/2026-10-21/we-x20/work/mseries-handoff +python3 "$MSeriesRepo/mseries/hardware/kernel-smoke.py" \ + --receipt "$trial_dir/hardware.json" --work "$trial_dir" \ + --output "$trial_dir/smoke.json" --kernel-image "$trial_dir/Image" \ + --boot-image "$trial_dir/boot.bin" +``` + +The smoke receipt checks current boot identity and installed module hashes. +Its packaged new DTB hash is an on-disk asset; it does not replace the selected +legacy boot-DTB evidence. Even if its before/after unknown display dictionaries +compare equal, that is not measured display/power stability. No smoke result +substitutes for actual dock picture/input or the later attended `.20` recovery. + +Pre-reboot readiness checked October21: `cc`, EGL1.5/GLES3.2 development metadata +and Python GI imports are available. No GPU or filesystem smoke was run on the +old kernel as part of this readiness check. Do not run this sequence until wip2 +is actually running. diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index f5857187e..cb92dab3d 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -72,6 +72,27 @@ the recorded builder/manifest/workflow hashes; artifact-embedded documentation remains the snapshot at the tested commit. Earlier wip1 receipts are separate. No local 7.2 boot, power saving or hardware acceptance is claimed. +## Static contract follow-up — October 21, 2026 + +[Manual mismatch triage](static-contract-review-2026-10-21.json) examines all 24 +mechanically-neither cases against immutable source. Nineteen retain the +described source contract, including the moved `mm/userfaultfd.c` check, +USB-C debug-command gate, read-only AWDL parameter, AFK/VFIO test dependencies, +13.5 DPTX reply handling and SEP store/autoload/suspend safeguards. This is +bounded static inspection; no new hardware tests or patch adoption occurred. + +Five cases remain open or partial: io_uring accounting replacement, MGLRU +reclaim replacement, document relocation/removal, complete Type-C relink +concurrency/lifecycle and full T8140 QSPI policy equivalence. The 40 reverse +applicability results remain mechanical evidence; full 64-fix semantic parity +is still open. No newly established J314S trial blocker was identified within +this bounded inspection. Boot/Mesa/dock/recovery acceptance remains pending. + +The [manual post-boot sequence](BOOT-TRIAL.md#manual-collection-after-the-attended-wip2-boot) +now includes exact private snapshot/hash/current-boot collection commands and +separate reviewed smoke invocation. It preserves the normal desktop session +bus and unknown display/power fields. It refuses the old running release. + ## Reproduce in an isolated builder ```sh diff --git a/mseries/aurora/unified72/static-contract-review-2026-10-21.json b/mseries/aurora/unified72/static-contract-review-2026-10-21.json new file mode 100644 index 000000000..138e64f53 --- /dev/null +++ b/mseries/aurora/unified72/static-contract-review-2026-10-21.json @@ -0,0 +1,327 @@ +{ + "schema": 1, + "kind": "focused-static-contract-review", + "source": "644133b7799f759c5bfd88507b6246d298b6509c", + "reviewed_at": "2026-10-21T13:36:29.792070+00:00", + "review_scope": "All 24 mechanically-neither cases triaged for their described source contract; not complete 64-fix semantic qualification. The 40 reverse-applicable cases remain mechanical evidence only.", + "counts": { + "contract-retained": 19, + "subsystem-review-open": 2, + "documentation-review-open": 1, + "partial-contract-review": 2 + }, + "checks": [ + { + "sha": "17059686aaa39e3892df7df6af6b5ca074f3e411", + "subject": "arm64: user4k: keep 4K userspace off unless booted with user4k=on", + "patch_sha256": "a8fac55d260fe35aa2e50a07dab726d9f7bfd9d968468ff32381d9d6c13fab69", + "disposition": "contract-retained", + "assessment": "Runtime policy is still default-off via user4k_enabled(), early_param, exec selection and PRCTL validation. MM_SUBPAGE remains compiled in; boot-time opt-out is not absence of all shared MM changes.", + "source_files": [ + "arch/arm64/mm/context.c", + "arch/arm64/kernel/process.c" + ] + }, + { + "sha": "249829c32c880ddba07771db7c9c95a2baa0dbd2", + "subject": "Documentation: arm64: user4k: say the option is on by default", + "patch_sha256": "f8a06049ddc1af29e1d24baef47c5ad81a05954787e5c31dc153327e0ff2a020", + "disposition": "contract-retained", + "assessment": "Documentation distinguishes default-y build option from default-off runtime feature.", + "source_files": [ + "Documentation/arch/arm64/user4k.rst" + ] + }, + { + "sha": "d97563b36cd13a215367a44db6f8f4952b97f508", + "subject": "arm64: build mixed-granule userspace by default", + "patch_sha256": "68cece4b2074b7b8209eb2d7a193f266bf6c31169b6ec2a0b4dc62d8eeb112b5", + "disposition": "contract-retained", + "assessment": "Kconfig still defaults ARM64_USER4K_EXPERIMENTAL=y and explicitly documents runtime opt-in. Resolved candidate enables this and MM_SUBPAGE.", + "source_files": [ + "arch/arm64/Kconfig.debug" + ] + }, + { + "sha": "4154c885c0b9938379ffbeb6795260eb004db3b8", + "subject": "perf/core: restore the speculation bound on AUX page lookups", + "patch_sha256": "ef821e50b560c75e13142b32aaeeccc13ffe93b399ce920236c043f3f97c5afb", + "disposition": "contract-retained", + "assessment": "AUX lookup still applies array_index_nospec to pagenum against aux_nr_pages before indexing.", + "source_files": [ + "kernel/events/core.c" + ] + }, + { + "sha": "4f088212736f57544e4785cfe8a3392facd24790", + "subject": "exec: drop the user page-size preference on privilege-gaining exec", + "patch_sha256": "2ebb8ca75dce9830ff98eb0acf83b0d7c08e2ea72db796750beaf7a9b406827e", + "disposition": "contract-retained", + "assessment": "Preference-free secure_page_shift is recorded by arm64 exec and bprm_secure_page_size selects it on privilege-gaining exec. No new set-ID/runtime test here.", + "source_files": [ + "arch/arm64/kernel/process.c", + "fs/exec.c" + ] + }, + { + "sha": "e0e270cd746e23a63170ba28f3f8f8e1e69af174", + "subject": "vfio/type1: compile out fragment provider paths without MM_SUBPAGE", + "patch_sha256": "be419a9a99f72ebf7269986f708bef4d616b30185c7292deaffd962009a950ca", + "disposition": "contract-retained", + "assessment": "vfio_dma_has_fragments retains IS_ENABLED(CONFIG_MM_SUBPAGE) && dma->fragments; all nine fragment-use decision sites call it.", + "source_files": [ + "drivers/vfio/vfio_iommu_type1.c" + ] + }, + { + "sha": "55a5ef43af232e5ee879de616bcde38c301ee228", + "subject": "userfaultfd: keep the UFFDIO_COPY source check without user4k", + "patch_sha256": "05376200321e96f158722f0688e8e7b40aa64809ffffb3d9eda6bc1753f6b160", + "disposition": "contract-retained", + "assessment": "Old fs/userfaultfd.c moved to mm/userfaultfd.c. Exact reviewed source-check branch survives: current->mm byte range with MM_SUBPAGE, registered ctx->mm unaligned range otherwise. USERFAULTFD is disabled in the candidate.", + "source_files": [ + "mm/userfaultfd.c" + ] + }, + { + "sha": "c5a6961ce15a57575a07b0170a5c892c08119cab", + "subject": "io_uring/rsrc: limit the fragment-owner account skip to user4k", + "patch_sha256": "fb7f9460c829878b956fe3a8a5a6825288ecbe4ccb9a448e4459b57b779fff71", + "disposition": "subsystem-review-open", + "assessment": "headpage_already_acct is gone. Native compound-page accounting now uses hpage_acct_ref/unref and io_buffer_account_pin, while fragment accounting has separate CONFIG_MM_SUBPAGE implementation. The old one-line skip patch cannot certify this replacement accounting/lifetime model.", + "source_files": [ + "io_uring/rsrc.c" + ] + }, + { + "sha": "0b87330a6e1e1fcbcc40b6786e05956fec1e8c30", + "subject": "mm/vmscan: gate MGLRU legacy-memcg writeback change on subpage", + "patch_sha256": "17efcdb184c33540349085389eb7d2bf00fe9941608e769db2eeba1378f226ee", + "disposition": "subsystem-review-open", + "assessment": "sort_folio no longer contains the old writeback branch and isolate_folio no longer contains the old reclaim-clear branch. This is a changed reclaim implementation, not proof of a missing two-line guard or equivalent behavior. Compare upstream base and stress legacy-memcg/writeback separately.", + "source_files": [ + "mm/vmscan.c" + ] + }, + { + "sha": "d0565a858891cbeb7a5db56fe8aa33ea3ec03052", + "subject": "docs: index the new Apple documents and fix their title markup", + "patch_sha256": "b43bcb1254c856d0948f1efb6a8a457e66848402d6261bc82b23c46854d7daa1", + "disposition": "documentation-review-open", + "assessment": "Some indexes/titles survive but apple-ave and the old/new PMP-DVFS paths are absent from the compared snapshot. Documentation relocation/removal remains to be traced. No J314S executable behavior inferred from this patch.", + "source_files": [ + "Documentation/arch/arm64/index.rst", + "Documentation/gpu/drivers.rst" + ] + }, + { + "sha": "0765e6acfd1ff2bd9250bfeb8dc9bee9f4742030", + "subject": "drm/apple: build the AFK service test only with the display driver", + "patch_sha256": "da39ca3a8b2ca303d0252bde8f11868ecf70da9dd26bbb3caff950743b72f44c", + "disposition": "contract-retained", + "assessment": "AFK service test is under apple/Makefile reached through DRM_APPLE; parent Makefile no longer builds it unconditionally. Kconfig preserves DRM_APPLE || !DRM_APPLE tristate bound.", + "source_files": [ + "drivers/gpu/drm/Makefile", + "drivers/gpu/drm/apple/Makefile", + "drivers/gpu/drm/apple/Kconfig" + ] + }, + { + "sha": "52841d18939ab9cb79b0b12ae012fdca6c43a80f", + "subject": "vfio/type1: make the retained-fragment KUnit tests depend on TMPFS", + "patch_sha256": "aa778bc42a5b6212fdae91f1a3ff9224cb544c30d0b7a5c3c777722a43158758", + "disposition": "contract-retained", + "assessment": "Both arm64 VFIO harnesses retain TMPFS dependency. VFIO account tests now require MM_SUBPAGE and TMPFS outright: stricter applicability than old non-subpage test support, with the required mixed-granule guard retained.", + "source_files": [ + "arch/arm64/Kconfig.debug", + "drivers/vfio/Kconfig" + ] + }, + { + "sha": "b8c3c61294648b9263f208f7203a8bed8ba235e7", + "subject": "usb: typec: tipd: put the debugfs command file behind a Kconfig option", + "patch_sha256": "b498344b68bd89e2919d55f06d470dd3cd18e0312709785cac0ab85d45f58cd6", + "disposition": "contract-retained", + "assessment": "Debug command creation remains behind CONFIG_TYPEC_TPS6598X_DEBUG_COMMANDS; resolved candidate disables it. Read-only register interface is separate. No controller command was sent.", + "source_files": [ + "drivers/usb/typec/tipd/Kconfig", + "drivers/usb/typec/tipd/debugfs.c" + ] + }, + { + "sha": "d4f767b6f7d373fc00d8e9824e6b5e00f7dc43a6", + "subject": "wifi: brcmfmac: drop the runtime AWDL interface_create parameters", + "patch_sha256": "f089101553cbaeae7b40e36a6cb285a172a1ed8fe80034ad41381acffb0d5cc9", + "disposition": "contract-retained", + "assessment": "AWDL flags/index remain constants; awdl_bssid is charp mode0444, with no writable flags/index module parameters. No radio reconfiguration performed.", + "source_files": [ + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c" + ] + }, + { + "sha": "1b50cbd1e008f61375b34e09d121f0bff5aec2a6", + "subject": "drm/asahi: reject unsupported command fields on the M1/M2 queue path", + "patch_sha256": "aa35058ba4f2cd811091cdf36d9ae1a08d3de8fffaef9d67273ff09f4d697540", + "disposition": "contract-retained", + "assessment": "Render and compute readers still use read_supported for bounded versioned structures; prior pinned-source GPU-reader controls passed. Header/reader inspection does not qualify actual GPU command behavior.", + "source_files": [ + "drivers/gpu/drm/asahi/queue/mod.rs", + "drivers/gpu/drm/asahi/util.rs" + ] + }, + { + "sha": "d25e17cc3e469a4bb0b51aa423bcd3689a40a638", + "subject": "drm: apple: answer DPTX group 1 calls 3 and 4 on 13.5 firmware again", + "patch_sha256": "02781438fa86f5770f2ad39d37c2ed6d6db49096fd487018cef81c88dfad3293", + "disposition": "contract-retained", + "assessment": "dptxport_group_call retains 13.5 group1 command3/4 dispatch to the bounded reply helper; legacy12.3/13.5 otherwise dispatch by command. Native wire_v2 dispatch is explicitly separate. This is source compatibility for observed13.5, not HDMI audio acceptance.", + "source_files": [ + "drivers/gpu/drm/apple/dptxep.c" + ] + }, + { + "sha": "07fc9fe06c29194561a3e5fceb846cde39fea569", + "subject": "drm: apple: relink a Type-C sink only when DCP drops it at link-up", + "patch_sha256": "7dfd2c1fffe958082758032feb0a22d9a769183c0522e37406d0ec4dc88c1d58", + "disposition": "partial-contract-review", + "assessment": "Reviewed eligibility, spinlocked state, retry/time bounds and IRQ_HPD behavior. Legacy direct Type-C relinks are bounded and tunnels excluded; native/H17P paths use separate lifecycle. Complete attach/unplug concurrency and all route effects still require subsystem/hardware review.", + "source_files": [ + "drivers/gpu/drm/apple/dcp.c", + "drivers/gpu/drm/apple/dcp-relink.h" + ] + }, + { + "sha": "0378c54a442e13c8e3f94cefb5b17dc11d12d203", + "subject": "usb: typec: tipd: send each IRQ_HPD request to the display route once", + "patch_sha256": "538fcbb7385b508788b5bacdd49486baa4362d275f926254b23aa6c6f8f56468", + "disposition": "contract-retained", + "assessment": "cd321x_dp_send still suppresses unchanged status, emits a new IRQ as SEND, and emits an edge for repeated coalesced pulses. Core routes pulse/edge separately and updates cached status after success. Actual partner IRQ timing remains untested.", + "source_files": [ + "drivers/usb/typec/tipd/core.c", + "drivers/usb/typec/tipd/cd321x-pm.h" + ] + }, + { + "sha": "418c346f87ebdf46936d0e35055d0f62ee879732", + "subject": "tools/aurora-sep: tests: Let the T8112 SEP DMA harness build again", + "patch_sha256": "3b016a67d8afb97830349f056f3340cf910114d50b9169bc131a16a20782cbca", + "disposition": "contract-retained", + "assessment": "T8112 host fixture contains fw_mirror and firmware mapping/handoff stubs, reordered and extended. This is fixture-source review; this particular harness was not executed in this continuation.", + "source_files": [ + "tools/aurora-sep/tests/test_t8112_sep_dma.py" + ] + }, + { + "sha": "bf80deeb634ab95a865b6d08b3d234b65e9d88d6", + "subject": "soc: apple: sep: Let suspend proceed when a capture is slow to stop", + "patch_sha256": "3d5aa50fe45163c1d3b41e8ad07391ec9239c48bb926a55a9829f7f3df71b03e", + "disposition": "contract-retained", + "assessment": "Void PM event callback and sleep_prepare allow capture-stop timeout to continue suspend; Rust/C shim signatures agree. Actual suspend is deliberately deferred until basic boot and recovery pass.", + "source_files": [ + "drivers/soc/apple/pm.rs", + "drivers/soc/apple/pm_shim.c", + "drivers/soc/apple/sbio.rs", + "drivers/soc/apple/shim.h" + ] + }, + { + "sha": "c80c151a1851ea49535777086adc6020d70e372a", + "subject": "soc: apple: sep: Initialise an empty host-state store file again", + "patch_sha256": "b408baf0cb75bbc3b7443f7df51d2359d172be14a37a23dfc720cc07dff71f5c", + "disposition": "contract-retained", + "assessment": "Store::from_file initializes empty/all-zero files only for Size/Header damage; describe rejects oversized/nonzero content, and other invalid stores return refusal without writing. Generic StoreIo/memory fixture replaced old filesystem-only helper. No owner store was opened or modified.", + "source_files": [ + "drivers/soc/apple/store.rs" + ] + }, + { + "sha": "1d66b81ec0ea1d51c26fc259532b36fbe3420f06", + "subject": "soc: apple: sep: Do not autoload the driver through a module alias", + "patch_sha256": "b4e7a2490396a68c52d9f1edd9849f2e53264324d638c7bcd3be70d774a0f89f", + "disposition": "contract-retained", + "assessment": "SEP OF_TABLE is a private IdArray rather than an exported module alias. Previously audited package/module boundary preserved; loader/owner policy still controls loading. No module was loaded.", + "source_files": [ + "drivers/soc/apple/sep.rs" + ] + }, + { + "sha": "d4b2c4ac469856efbfdb127b02ac6fb3d9515f73", + "subject": "spi: apple-qspi: keep the T8140 boot NOR read-only outside nvram", + "patch_sha256": "ba2ab6454630eb25d4c65913b56dd4edc87317ce9a6d66971ba484406d2f977d", + "disposition": "partial-contract-review", + "assessment": "T8140 nvram-window policy and apple_qspi_window_allowed gate remain; later driver adds more layout/transaction controls. Full write/erase policy equivalence not claimed. T8140-specific path does not qualify or need exercising on J314S; no NOR access performed.", + "source_files": [ + "drivers/spi/spi-apple-qspi.c", + "drivers/spi/spi-apple-qspi-policy.h" + ] + }, + { + "sha": "2bf01adf4862725d602e9d7fe38248f240624c29", + "subject": "pmdomain: apple: pmp-report: match T8140 report entries by compatible", + "patch_sha256": "57c80f2215290623d581357457058b6ce1d7be1c2e2f4c818c8b459e4eeac6c0", + "disposition": "contract-retained", + "assessment": "Entry OF table retains distinct apple,t8140-pmp-v2-report-entry matching. Old exact-hunk failure reflects surrounding table movement. T8140 entry matching is not proof of J314S PMP/energy behavior.", + "source_files": [ + "drivers/pmdomain/apple/pmp-report.c" + ] + } + ], + "source_file_sha256": { + "arch/arm64/mm/context.c": "29d16b5a18c611a2325f1d74d590478aa6ea8a7548570ca5d3d29d5945743d9c", + "arch/arm64/kernel/process.c": "d7c8231005296ae780a89dc2ced5439317faa36cacbe84825b405b64c928ad09", + "Documentation/arch/arm64/user4k.rst": "121d505b6d33ff3f1b14172a26904d893fe6ddaf6cc54d0db5001c7e656fbde6", + "arch/arm64/Kconfig.debug": "e35669f5b0b3df27483ac4943dff1429fce755c44df8bdda8b7d4b360969d678", + "kernel/events/core.c": "5d415fc3c5a05060577b88a7612cc1c7401b5ecdf94039bbae6d9b92b9a7a5f7", + "fs/exec.c": "72dcf0f816519dd94935846c2756d9b9cfaa500ac3d9b6a6a84ee81bcb890ef6", + "drivers/vfio/vfio_iommu_type1.c": "6ff628b4a88d35006ac86260076547e9d34822001546877f4ce67dbe6c0336ce", + "mm/userfaultfd.c": "c10281bd3f4d3601295372719d08655ffc5e915e141517f1a1763ad851016e88", + "io_uring/rsrc.c": "a66479894bd9d53242dcc9e8260f6957490fe16817231b68b061f9d7910be408", + "mm/vmscan.c": "98a5551210092c4f34def5eb3a2caed2af5886620c80dfbdde8964dc915607a9", + "Documentation/arch/arm64/index.rst": "80cbcd1ef686f661fa4982e8e526129bd5b48809b83d4f16430c91fcc1ee0f6e", + "Documentation/gpu/drivers.rst": "b5ea0632c13cbf1d2d132d59071f02855bdd714abb2cf4d844eb0c84ee06914e", + "drivers/gpu/drm/Makefile": "aa1097d094602582c1408436c56fd6c8862d443d610d6626c37c0aba72710e79", + "drivers/gpu/drm/apple/Makefile": "0d1aac886444568e6f283d1668e8d007af01017e09d5e93d6a9836f5c8ad8d6a", + "drivers/gpu/drm/apple/Kconfig": "aab0e280af9df4d64ad9b8e51ce04e9e36a034ed48cc730add40d7e28164cf36", + "drivers/vfio/Kconfig": "8a372864fa08a5d283065f2d6d547f92a3eee310aa03bf00e8427dcfa350c33f", + "drivers/usb/typec/tipd/Kconfig": "9574a0810560f293754b150adde751ea7a7a62d2a118114eaaa43f71929d5e1c", + "drivers/usb/typec/tipd/debugfs.c": "99c72f8bca32942d8e16e4fbd403b55e2a07c0d7ba059b6e5ce38714a03c3f38", + "drivers/net/wireless/broadcom/brcm80211/brcmfmac/interface_create.c": "ff2682518d106dcdd501abb73af919da0481e00e6eced0102fb238540c99aa23", + "drivers/gpu/drm/asahi/queue/mod.rs": "4487dce9dd6062ee80ffcaf0f5cf1d52cf3d247a31f1449247911b09455afcf2", + "drivers/gpu/drm/asahi/util.rs": "fcbbeb3765bc8809809c141cdd7732592136cbeaef6844273ee04a9c3b5b81e6", + "drivers/gpu/drm/apple/dptxep.c": "5d855e76f1136579f74e8fe7bcb5fb701f4a7496b2c75253514ce20c7aafce67", + "drivers/gpu/drm/apple/dcp.c": "fc37f11a3c06dc389b272816773d9c11618e5def145f2788c419341c78402d11", + "drivers/gpu/drm/apple/dcp-relink.h": "4cc43a69deb661461be47ac2f1f5287fd30d698e58b81cb1a937bdf82acae252", + "drivers/usb/typec/tipd/core.c": "3b1b0a981f2a5653792a7dd8d57b35fa6c1db636bbf11f18c3c3641e4a9294d5", + "drivers/usb/typec/tipd/cd321x-pm.h": "c9751f037da606198c0e5b9161048cdd2c35d1b2c6ac4123a6e52829cdbc4795", + "tools/aurora-sep/tests/test_t8112_sep_dma.py": "c118e5d812e51fdfa57dbb979b32ed826561e474ffc6b1edf2b7bb3065964f46", + "drivers/soc/apple/pm.rs": "bd0358ee7db06ed59d2867b760270b2c441305ffa667d295b3de0b2f38f08b72", + "drivers/soc/apple/pm_shim.c": "98d2321963c924f8e99e257e61eda06252d81dec6425547d95ac55acb7218402", + "drivers/soc/apple/sbio.rs": "545d74363f9eb81135d8672eb2e19f7b15349c2415350da69067a5bb2b8fc2c7", + "drivers/soc/apple/shim.h": "c063758c7f773a213b0f300ae286a0fb8db40c2756bd07206dcd0893a8e884ce", + "drivers/soc/apple/store.rs": "e51531276a051fb3557b3440feb76b63cd05e1673af652d419b7251d98a64f90", + "drivers/soc/apple/sep.rs": "d5e207e37b98105b0c287a815b9fe63d521d968687d1c2239a01bfab8c029cc1", + "drivers/spi/spi-apple-qspi.c": "8de36648e6dd085c29b2b264fc3b50e7fb1d55e9fd7fca7d0fe88f2e28172121", + "drivers/spi/spi-apple-qspi-policy.h": "c1f4ae487ff2e2363469b018a76b4516fb534043b051512277f7a645a7377062", + "drivers/pmdomain/apple/pmp-report.c": "aaa787641f17e46c6faafa61bdda442a2bf8b8ccf2995c5a233568cba196adf9" + }, + "resolved_config_sha256": "005829aa9a52d1640e2bf82ed6c0eddd2ce2e4a78086397684452e4d50ad0c1a", + "relocated_userfaultfd_provenance": { + "from": "fs/userfaultfd.c", + "to": "mm/userfaultfd.c", + "source": "retained audited CI corresponding-source archive", + "artifact_zip_sha256": "f0be95387d5275fcc89d7902ae3b66a01ae28d39f9ac9ba635524ae8507edee2" + }, + "hardware_tests_run": false, + "kernel_patches_applied": false, + "boot_selection_changed": false, + "complete_semantic_parity_established": false, + "remaining": [ + "io_uring compound/fragment accounting replacement", + "MGLRU writeback/reclaim replacement", + "documentation relocation/removal", + "full Type-C relink concurrency/route lifecycle", + "full T8140 QSPI transaction/window equivalence", + "semantic qualification beyond mechanical evidence for the 40 reverse-applicable commits", + "attended J314S 7.2 boot, actual clients and .20 recovery" + ] +} From a1827ea47f9d1676497790c1d690296c16594ca1 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 09:52:16 -0400 Subject: [PATCH 6/7] Record wip2 hardware boot and corrected dock port results --- mseries/OS9-HANDOFF.md | 30 + mseries/ROADMAP.md | 11 + .../REPORT.md | 65 + .../desktop-mode-observation.json | 19 + .../dock-current-observation.json | 70 + .../hardware.json | 1198 +++++++++++++++++ .../installed-runtime-verification.json | 262 ++++ .../post-smoke-log-scan.json | 5 + .../previous-boot-message-comparison.json | 27 + .../smoke.json | 313 +++++ .../summary.json | 132 ++ mseries/aurora/hardware-tests/README.md | 10 + mseries/aurora/unified72/BOOT-TRIAL.md | 18 +- mseries/aurora/unified72/README.md | 25 +- .../unified72/first-boot-2026-10-21.json | 12 + mseries/fairydust/usb4/PRIMARY-GOAL.md | 9 + mseries/fairydust/usb4/STATE-OF-PLAY.md | 24 +- 17 files changed, 2217 insertions(+), 13 deletions(-) create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/desktop-mode-observation.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/dock-current-observation.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/hardware.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/installed-runtime-verification.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/post-smoke-log-scan.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/previous-boot-message-comparison.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/smoke.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json create mode 100644 mseries/aurora/unified72/first-boot-2026-10-21.json diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 62287a03e..6aa971e8d 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,35 @@ # OS 9 implementation / Claude Code handoff +## Aurora 7.2 first boot: scoped pass; rear-left dock picture fails — 2026-10-21 + +Owner rebooted into `7.2.10-elementary-aurora72-wip2`. Live build ID +`e33ad2aa657320824a246a3b04814accdb31df1e` matches audited Image. One-shot is +consumed/empty and `.20` stays persistent default. Old fallback/menu/shared +`boot.bin` hashes unchanged; all 91 early modules and installed package verify. +Runtime 37 DART providers use one-cell bindings, firmware compat 13.5.0 retained. +[Report and receipts](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md). + +Scoped checks PASS: boot beyond 5 min, PMP ready/started/manages fabric, idle +accounting, real M1 Pro GPU shader/16-pixel readback with Mesa 26.0.8 and 1 MiB +fsync/SHA256. Selected severe-message scan through post-smoke snapshot clear. +Owner confirms internal display/input. Compositor observes internal 3024x1964 +at 120 Hz and later external DP-1 1920x1080 at 60 Hz. Display firmware/Wi-Fi warnings +also occurred on prior `.20-enh1`; unequal traces do not prove regression. + +**Physical port correction:** left port closest to owner/front, farther from +hinge, WORKS with delayed picture. Left nearest hinge/rear DOES NOT show the dock +picture. Earlier button answer saying hinge works is explicitly superseded. +Right port untested. Both controller paths show retries/connected events and +routing; logical-controller-to-physical-port mapping is not yet a controlled +measurement. Do not mark rear USB4 entirely dead or claim all-port dock acceptance. + +**Next:** matched per-port evidence and attended return to `.20` for actual +recovery before suspend/power work. No automatic re-arm or stable promotion. +PowerSaveMode remains unknown; controls false, startup/hotplug power is not an +idle or paired saving result. Private raw logs stay in the owner's outputs. +This supersedes armed/no-reboot statuses below. No agent boot/service/module +parameter change was made during first-boot testing. + ## Deferred reboot: static audit and manual test readiness — 2026-10-21 Owner deferred the reboot and asked to continue. One-shot remains armed for diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index 0aff8a261..7881db254 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,5 +1,16 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) +## Aurora 7.2 first boot: GPU/fsync pass, port acceptance incomplete — 2026-10-21 + +Actual wip2 boot/Image identity, package/91 early modules and unchanged legacy +shared payload verified; one-shot consumed, `.20` remains normal default. +Five-minute boot/PMP/idle and M1 Pro GLES shader/readback plus 1 MiB fsync pass. +Owner confirms internal display/input and front-left dock picture (slow to +appear); hinge-side left port picture fails, right untested. External 1080p/60 +observed. Next matched physical-port evidence and real `.20` recovery; no +suspend, stable or energy-improvement acceptance. +[Report](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md). + ## Deferred reboot: mismatch triage and test readiness — 2026-10-21 24 mechanically-neither patches triaged: 19 source contracts retained, diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md new file mode 100644 index 000000000..2d06bc698 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md @@ -0,0 +1,65 @@ +# J314S Aurora 7.2 wip2: first attended boot, October 21, 2026 + +**Scoped success with a port-specific dock failure; incomplete qualification.** +The actual boot is `7.2.10-elementary-aurora72-wip2`; live build ID +`e33ad2aa657320824a246a3b04814accdb31df1e` matches the audited Image. +One-shot consumed (`next_entry` empty); persistent default stays `.20`. +Old fallback files and the selected shared `boot.bin` remain unchanged. +[Summary](summary.json), [hardware collector](hardware.json), [smoke](smoke.json). + +## Completed checks + +- Running boot observed beyond five minutes; PMP ready/started/manages fabric, + and nonnegative CPU idle-counter deltas. +- All 91 early module hashes and installed package verified. Runtime 37 DART + providers retain one-cell bindings; GPU/internal/external DCP firmware 13.5.0. +- Real Apple M1 Pro G13S C0, Mesa 26.0.8: shader draw and all 16 RGBA pixels pass. + 1 MiB temporary-file fsync/SHA256 readback passes. +- Owner confirms internal display and input work. Compositor reports internal + 3024x1964 at 120 Hz; later external DP-1 active at 1920x1080/60 Hz. +- Selected severe-message scan through the post-smoke snapshot finds no + panic/oops/lockup/I/O-error patterns. Display firmware warnings and a Wi-Fi P2P + address warning also occurred in the previous `.20-enh1` boot. They are not + silently classified as harmless or a new regression. + +## Physical port findings — use the owner's final correction + +| Mac USB-C position | Owner result | Scope | +| --- | --- | --- | +| Left, closest to owner/front, farther from hinge | Dock monitor works; picture slow to appear | Scoped visual pass; external 1080p/60 observed | +| Left, nearest hinge/rear | Dock monitor does not work | Failing acceptance check; cause open | +| Right | Not tested | No qualification | + +The earlier button answer saying the hinge port worked was explicitly corrected. +Do not propagate it or replace the physical names with guessed logical port IDs. +Initial snapshot had eDP only and no Thunderbolt dock. Later snapshot enumerates +Dell WD22TB4, authorized, and eDP plus external 1080p/60. Log events show training +retries, connection, dock enumeration and DCP `dpin0` routing on two controller +paths (`701ac0000` and `b01ac0000`). This does not prove a picture on both physical +ports. `set_active_lane_count` logged unexpected lane_count4/phy0 while a picture +was nevertheless observed; no clean dedicated rate/lane qualification claimed. + +Prior `.20-enh1` also logged 22 AT-register timeouts before one connected event. +These unequal traces do not establish a 7.2 regression or explain the visual +failure. Next controlled comparison must bind the physical port, cable, dock, +monitor, plug-in time, discovery and actual picture; leave audio/display modes, +services and module parameters unchanged for that comparison. + +## Evidence limits and next + +The collector's `modules/dtbs` hash is the newer packaged on-disk DTB asset; +the selected DTB remains the older legacy J314S tree in unchanged `boot.bin`. +[Runtime/installed verification](installed-runtime-verification.json) records +actual bindings separately. No shared-DTB rewrite was performed. + +Active `PowerSaveMode` reporting is still unavailable. Collector control stability +is false; smoke before/after dictionaries comparing equal cannot establish +measured display/power stability. Observed power samples cover startup and owner +hotplug actions; no idle baseline, A/B or energy saving. Raw journal data, +private snapshots and device inventory remain under the owner's private outputs +directory and are not committed. + +Next: matched per-port acceptance, then attended return to `.20` to demonstrate +fallback recovery before suspend and power testing. Do not re-arm automatically, +change persistent default, or call this a stable promotion. Full 64-fix semantic +qualification and earlier source-review limits remain open. diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/desktop-mode-observation.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/desktop-mode-observation.json new file mode 100644 index 000000000..ffd63efea --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/desktop-mode-observation.json @@ -0,0 +1,19 @@ +{ + "scope": "read-only compositor state; not visual acceptance", + "active_monitors": [ + { + "connector": "eDP-1", + "width": 3024, + "height": 1964, + "refresh_hz": 120.0, + "refresh_mode": "unknown" + } + ], + "mode_state_available": true, + "loaded_graphics_libraries": { + "pantheon-compos": [ + "/usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0.0.0", + "/usr/lib/aarch64-linux-gnu/libgallium-26.0.8-1ubuntu0.3.so" + ] + } +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/dock-current-observation.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/dock-current-observation.json new file mode 100644 index 000000000..18bebcc83 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/dock-current-observation.json @@ -0,0 +1,70 @@ +{ + "uptime_s": 346.19, + "drm": { + "card2-DP-2": { + "status": "disconnected", + "enabled": "disabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-HDMI-A-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-3": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-eDP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964" + } + }, + "thunderbolt": { + "domain0": { + "device_name": null, + "vendor_name": null, + "authorized": null, + "generation": null + }, + "0-0": { + "device_name": "iOS", + "vendor_name": "Apple Inc.", + "authorized": "1", + "generation": "4" + }, + "0-1": { + "device_name": "WD22TB4 Thunderbolt Dock", + "vendor_name": "Dell", + "authorized": "1", + "generation": "4" + }, + "0-0:1.1": { + "device_name": null, + "vendor_name": null, + "authorized": null, + "generation": null + } + }, + "active_monitors": [ + { + "connector": "eDP-1", + "width": 3024, + "height": 1964, + "refresh_hz": 120.0 + }, + { + "connector": "DP-1", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ] +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/hardware.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/hardware.json new file mode 100644 index 000000000..4086c0c0c --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/hardware.json @@ -0,0 +1,1198 @@ +{ + "schema": 1, + "kind": "hardware-test", + "captured_at": "2026-10-21T13:47:06.501935+00:00", + "identity": { + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "board": "apple,j314s", + "soc": "apple,t6000", + "boot_payload_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "kernel_image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954", + "live_kernel_build_id": "e33ad2aa657320824a246a3b04814accdb31df1e", + "kernel_image_matches_live_build_id": true, + "modules": { + "kernel/drivers/gpu/drm/apple/appledrm.ko": "6f18e6041d6dcf5ddcd5e4f849c36edd954e385a17c1a6ce2f25d720a7db09a3", + "kernel/drivers/soc/apple/apple-sep.ko": "f80f3cb07b961caaf15a463c5bf8341b81baba3bc4bbccc3805bc8828c870365", + "dtbs/t6000-j314s.dtb": "2ca125477252e4753e8168567af99dda592bce6dea94235677d212846f49ae4c" + }, + "runtime_parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "feature_cmdline": [ + "appledrm.show_notch=1" + ] + }, + "identity_sha256": "f35ab09fa4ccf4fd20856c84ed4bb3826ad1fc4728a5e0981678362beb957459", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "model": "Apple MacBook Pro (14-inch, M1 Pro, 2021)", + "status": "hardware-tested-scoped; incomplete qualification", + "context_before": { + "active_displays": { + "available": false, + "reason": "Error" + }, + "backlights": { + "apple-panel-bl": { + "brightness": "500", + "actual_brightness": "503", + "max_brightness": "500" + } + }, + "power_supplies": { + "macsmc-ac": { + "type": "Mains", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003a": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-0038": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003f": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003b": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "macsmc-battery": { + "type": "Battery", + "status": "Discharging", + "online": null, + "capacity": "45", + "energy_now": "26584800" + } + }, + "drm_connectors": { + "card2-DP-2": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-HDMI-A-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-3": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-eDP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964" + } + }, + "cpufreq": { + "policy6": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2208000" + }, + "policy2": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2208000" + }, + "policy0": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2064000" + } + }, + "parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "mem_sleep": "[s2idle]" + }, + "context_after": { + "active_displays": { + "available": false, + "reason": "Error" + }, + "backlights": { + "apple-panel-bl": { + "brightness": "500", + "actual_brightness": "503", + "max_brightness": "500" + } + }, + "power_supplies": { + "macsmc-ac": { + "type": "Mains", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003a": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-0038": { + "type": "USB", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003f": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003b": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "macsmc-battery": { + "type": "Battery", + "status": "Charging", + "online": null, + "capacity": "45", + "energy_now": "27781800" + } + }, + "drm_connectors": { + "card2-DP-2": { + "status": "disconnected", + "enabled": "disabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-HDMI-A-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-3": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-eDP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964" + } + }, + "cpufreq": { + "policy6": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy2": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy0": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2064000" + } + }, + "parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "mem_sleep": "[s2idle]" + }, + "controls_unchanged": false, + "duration_s": 182.694, + "checks": { + "boot": { + "result": "pass", + "scope": "running boot observed >=300 seconds; no recovery/soak claim", + "uptime_s": 305.17 + }, + "pmp_ready": { + "result": "pass", + "scope": "firmware ready and PMGR ownership messages", + "lines": [ + "apple-pmgr-misc 28e20c000.power-management: PMP manages fabric and DCS p-states", + "apple_pmp 28e700000.pmp: PMP firmware and endpoint ready", + "apple_pmp 28e700000.pmp: RTKit: syslog message: io.cpp:41: PMP started" + ] + }, + "cpu_idle_accounting": { + "result": "pass", + "scope": "nonnegative per-CPU idle-counter deltas; no efficiency improvement claim" + }, + "kernel_severe_log": { + "result": "pass", + "scope": "selected severe messages in supplied current-boot log only", + "lines": [] + }, + "recovery_boot": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "network": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "suspend_resume": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "thermal": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "input": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "gpu": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "storage": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "energy_ab": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + }, + "graphics": { + "result": "not-run", + "scope": "requires dedicated hardware acceptance evidence" + } + }, + "idle_deltas": { + "cpu0/cpuidle/state0": { + "name": "WFI", + "time_us": 104027444.0, + "usage": 330462.0 + }, + "cpu0/cpuidle/state1": { + "name": "CPU PD", + "time_us": 2091311.0, + "usage": 1765.0 + }, + "cpu1/cpuidle/state0": { + "name": "WFI", + "time_us": 103601261.0, + "usage": 332641.0 + }, + "cpu1/cpuidle/state1": { + "name": "CPU PD", + "time_us": 1575195.0, + "usage": 996.0 + }, + "cpu2/cpuidle/state0": { + "name": "WFI", + "time_us": 20782486.0, + "usage": 88538.0 + }, + "cpu2/cpuidle/state1": { + "name": "CPU PD", + "time_us": 154252297.0, + "usage": 31452.0 + }, + "cpu3/cpuidle/state0": { + "name": "WFI", + "time_us": 22117173.0, + "usage": 88895.0 + }, + "cpu3/cpuidle/state1": { + "name": "CPU PD", + "time_us": 152503049.0, + "usage": 13997.0 + }, + "cpu4/cpuidle/state0": { + "name": "WFI", + "time_us": 16218359.0, + "usage": 75328.0 + }, + "cpu4/cpuidle/state1": { + "name": "CPU PD", + "time_us": 160287783.0, + "usage": 8999.0 + }, + "cpu5/cpuidle/state0": { + "name": "WFI", + "time_us": 19529499.0, + "usage": 133121.0 + }, + "cpu5/cpuidle/state1": { + "name": "CPU PD", + "time_us": 156397391.0, + "usage": 10186.0 + }, + "cpu6/cpuidle/state0": { + "name": "WFI", + "time_us": 21243809.0, + "usage": 84954.0 + }, + "cpu6/cpuidle/state1": { + "name": "CPU PD", + "time_us": 153568018.0, + "usage": 9385.0 + }, + "cpu7/cpuidle/state0": { + "name": "WFI", + "time_us": 17596568.0, + "usage": 77315.0 + }, + "cpu7/cpuidle/state1": { + "name": "CPU PD", + "time_us": 159071106.0, + "usage": 8484.0 + }, + "cpu8/cpuidle/state0": { + "name": "WFI", + "time_us": 23651995.0, + "usage": 95294.0 + }, + "cpu8/cpuidle/state1": { + "name": "CPU PD", + "time_us": 152667497.0, + "usage": 7296.0 + }, + "cpu9/cpuidle/state0": { + "name": "WFI", + "time_us": 13756754.0, + "usage": 64899.0 + }, + "cpu9/cpuidle/state1": { + "name": "CPU PD", + "time_us": 163556878.0, + "usage": 7012.0 + } + }, + "power": { + "source": "macsmc_hwmon Total System Power", + "samples": [ + { + "elapsed_s": 0.0, + "watts": 15.112368 + }, + { + "elapsed_s": 1.001, + "watts": 14.797367 + }, + { + "elapsed_s": 2.001, + "watts": 14.483898 + }, + { + "elapsed_s": 3.002, + "watts": 15.312056 + }, + { + "elapsed_s": 4.003, + "watts": 15.406865 + }, + { + "elapsed_s": 5.004, + "watts": 14.45131 + }, + { + "elapsed_s": 6.005, + "watts": 14.541625 + }, + { + "elapsed_s": 7.007, + "watts": 14.428729 + }, + { + "elapsed_s": 8.008, + "watts": 14.709671 + }, + { + "elapsed_s": 9.009, + "watts": 14.418715 + }, + { + "elapsed_s": 10.01, + "watts": 14.893666 + }, + { + "elapsed_s": 11.011, + "watts": 14.483894 + }, + { + "elapsed_s": 12.013, + "watts": 14.552917 + }, + { + "elapsed_s": 13.014, + "watts": 14.473887 + }, + { + "elapsed_s": 14.015, + "watts": 14.472605 + }, + { + "elapsed_s": 15.016, + "watts": 14.483895 + }, + { + "elapsed_s": 16.017, + "watts": 14.59808 + }, + { + "elapsed_s": 17.018, + "watts": 14.462597 + }, + { + "elapsed_s": 18.019, + "watts": 14.866403 + }, + { + "elapsed_s": 19.02, + "watts": 14.541624 + }, + { + "elapsed_s": 20.021, + "watts": 15.216335 + }, + { + "elapsed_s": 21.022, + "watts": 14.606779 + }, + { + "elapsed_s": 22.024, + "watts": 14.541629 + }, + { + "elapsed_s": 23.025, + "watts": 16.643484 + }, + { + "elapsed_s": 24.026, + "watts": 14.866403 + }, + { + "elapsed_s": 25.028, + "watts": 14.519048 + }, + { + "elapsed_s": 26.03, + "watts": 14.440018 + }, + { + "elapsed_s": 27.037, + "watts": 14.462598 + }, + { + "elapsed_s": 28.038, + "watts": 14.541627 + }, + { + "elapsed_s": 29.041, + "watts": 14.530334 + }, + { + "elapsed_s": 30.042, + "watts": 15.039623 + }, + { + "elapsed_s": 31.043, + "watts": 14.547765 + }, + { + "elapsed_s": 32.044, + "watts": 14.572914 + }, + { + "elapsed_s": 33.047, + "watts": 14.438742 + }, + { + "elapsed_s": 34.048, + "watts": 14.70967 + }, + { + "elapsed_s": 35.049, + "watts": 14.42873 + }, + { + "elapsed_s": 36.05, + "watts": 14.640651 + }, + { + "elapsed_s": 37.051, + "watts": 14.495184 + }, + { + "elapsed_s": 38.052, + "watts": 14.855116 + }, + { + "elapsed_s": 39.053, + "watts": 15.391486 + }, + { + "elapsed_s": 40.054, + "watts": 15.042289 + }, + { + "elapsed_s": 41.055, + "watts": 14.472603 + }, + { + "elapsed_s": 42.057, + "watts": 14.507751 + }, + { + "elapsed_s": 43.06, + "watts": 14.506473 + }, + { + "elapsed_s": 44.062, + "watts": 14.574202 + }, + { + "elapsed_s": 45.063, + "watts": 14.551627 + }, + { + "elapsed_s": 46.064, + "watts": 14.427448 + }, + { + "elapsed_s": 47.065, + "watts": 14.473887 + }, + { + "elapsed_s": 48.066, + "watts": 15.567891 + }, + { + "elapsed_s": 49.067, + "watts": 14.803923 + }, + { + "elapsed_s": 50.068, + "watts": 16.251949 + }, + { + "elapsed_s": 51.069, + "watts": 15.439693 + }, + { + "elapsed_s": 52.07, + "watts": 14.710978 + }, + { + "elapsed_s": 53.073, + "watts": 14.136437 + }, + { + "elapsed_s": 54.073, + "watts": 14.181602 + }, + { + "elapsed_s": 55.074, + "watts": 15.012454 + }, + { + "elapsed_s": 56.075, + "watts": 17.549425 + }, + { + "elapsed_s": 57.076, + "watts": 15.341856 + }, + { + "elapsed_s": 58.077, + "watts": 15.482055 + }, + { + "elapsed_s": 59.078, + "watts": 14.281955 + }, + { + "elapsed_s": 60.079, + "watts": 16.443431 + }, + { + "elapsed_s": 61.08, + "watts": 15.336421 + }, + { + "elapsed_s": 62.081, + "watts": 16.210681 + }, + { + "elapsed_s": 63.082, + "watts": 14.211696 + }, + { + "elapsed_s": 64.083, + "watts": 13.914313 + }, + { + "elapsed_s": 65.084, + "watts": 13.442344 + }, + { + "elapsed_s": 66.085, + "watts": 13.476231 + }, + { + "elapsed_s": 67.086, + "watts": 13.955785 + }, + { + "elapsed_s": 68.088, + "watts": 13.565397 + }, + { + "elapsed_s": 69.089, + "watts": 13.463748 + }, + { + "elapsed_s": 70.089, + "watts": 13.771765 + }, + { + "elapsed_s": 71.09, + "watts": 14.14773 + }, + { + "elapsed_s": 72.091, + "watts": 13.487525 + }, + { + "elapsed_s": 73.092, + "watts": 13.397159 + }, + { + "elapsed_s": 74.093, + "watts": 13.408458 + }, + { + "elapsed_s": 75.094, + "watts": 13.969547 + }, + { + "elapsed_s": 76.096, + "watts": 13.556507 + }, + { + "elapsed_s": 77.098, + "watts": 13.397159 + }, + { + "elapsed_s": 78.1, + "watts": 13.498822 + }, + { + "elapsed_s": 79.101, + "watts": 14.581614 + }, + { + "elapsed_s": 80.103, + "watts": 15.368912 + }, + { + "elapsed_s": 81.104, + "watts": 14.828594 + }, + { + "elapsed_s": 82.106, + "watts": 14.71835 + }, + { + "elapsed_s": 83.106, + "watts": 16.09509 + }, + { + "elapsed_s": 84.108, + "watts": 14.771353 + }, + { + "elapsed_s": 85.109, + "watts": 13.409643 + }, + { + "elapsed_s": 86.11, + "watts": 13.55621 + }, + { + "elapsed_s": 87.11, + "watts": 27.787467 + }, + { + "elapsed_s": 88.111, + "watts": 24.042442 + }, + { + "elapsed_s": 89.112, + "watts": 20.974483 + }, + { + "elapsed_s": 90.112, + "watts": 21.544261 + }, + { + "elapsed_s": 91.113, + "watts": 24.36293 + }, + { + "elapsed_s": 92.115, + "watts": 23.64389 + }, + { + "elapsed_s": 93.116, + "watts": 25.133308 + }, + { + "elapsed_s": 94.118, + "watts": 21.462913 + }, + { + "elapsed_s": 95.119, + "watts": 24.317733 + }, + { + "elapsed_s": 96.12, + "watts": 21.085632 + }, + { + "elapsed_s": 97.12, + "watts": 21.17472 + }, + { + "elapsed_s": 98.121, + "watts": 20.334411 + }, + { + "elapsed_s": 99.122, + "watts": 22.724418 + }, + { + "elapsed_s": 100.124, + "watts": 20.946342 + }, + { + "elapsed_s": 101.125, + "watts": 20.315422 + }, + { + "elapsed_s": 102.13, + "watts": 20.579978 + }, + { + "elapsed_s": 103.131, + "watts": 20.563255 + }, + { + "elapsed_s": 104.132, + "watts": 21.563446 + }, + { + "elapsed_s": 105.133, + "watts": 20.34243 + }, + { + "elapsed_s": 106.136, + "watts": 22.034385 + }, + { + "elapsed_s": 107.139, + "watts": 22.019096 + }, + { + "elapsed_s": 108.14, + "watts": 21.016975 + }, + { + "elapsed_s": 109.14, + "watts": 21.744689 + }, + { + "elapsed_s": 110.142, + "watts": 20.909355 + }, + { + "elapsed_s": 111.143, + "watts": 20.551727 + }, + { + "elapsed_s": 112.144, + "watts": 21.256942 + }, + { + "elapsed_s": 113.146, + "watts": 20.538154 + }, + { + "elapsed_s": 114.147, + "watts": 20.631828 + }, + { + "elapsed_s": 115.148, + "watts": 20.216186 + }, + { + "elapsed_s": 116.151, + "watts": 19.712326 + }, + { + "elapsed_s": 117.152, + "watts": 20.015419 + }, + { + "elapsed_s": 118.153, + "watts": 21.967361 + }, + { + "elapsed_s": 119.154, + "watts": 21.375793 + }, + { + "elapsed_s": 120.156, + "watts": 21.222366 + }, + { + "elapsed_s": 121.157, + "watts": 22.369499 + }, + { + "elapsed_s": 122.158, + "watts": 20.286506 + }, + { + "elapsed_s": 123.159, + "watts": 20.128509 + }, + { + "elapsed_s": 124.16, + "watts": 19.727676 + }, + { + "elapsed_s": 125.161, + "watts": 19.607482 + }, + { + "elapsed_s": 126.162, + "watts": 19.715156 + }, + { + "elapsed_s": 127.163, + "watts": 20.613533 + }, + { + "elapsed_s": 128.164, + "watts": 21.747795 + }, + { + "elapsed_s": 129.164, + "watts": 20.220291 + }, + { + "elapsed_s": 130.165, + "watts": 23.302673 + }, + { + "elapsed_s": 131.166, + "watts": 20.237922 + }, + { + "elapsed_s": 132.168, + "watts": 20.046005 + }, + { + "elapsed_s": 133.169, + "watts": 20.276535 + }, + { + "elapsed_s": 134.17, + "watts": 19.975158 + }, + { + "elapsed_s": 135.171, + "watts": 20.448471 + }, + { + "elapsed_s": 136.172, + "watts": 19.953483 + }, + { + "elapsed_s": 137.173, + "watts": 20.025939 + }, + { + "elapsed_s": 138.175, + "watts": 9.707283 + }, + { + "elapsed_s": 140.178, + "watts": 16.829895 + }, + { + "elapsed_s": 141.178, + "watts": 37.127761 + }, + { + "elapsed_s": 142.179, + "watts": 27.114688 + }, + { + "elapsed_s": 143.18, + "watts": 23.545394 + }, + { + "elapsed_s": 144.181, + "watts": 22.341457 + }, + { + "elapsed_s": 145.182, + "watts": 24.600444 + }, + { + "elapsed_s": 146.182, + "watts": 24.431022 + }, + { + "elapsed_s": 147.183, + "watts": 24.024765 + }, + { + "elapsed_s": 148.184, + "watts": 20.153472 + }, + { + "elapsed_s": 149.186, + "watts": 21.083686 + }, + { + "elapsed_s": 150.187, + "watts": 20.770256 + }, + { + "elapsed_s": 151.188, + "watts": 20.666015 + }, + { + "elapsed_s": 152.192, + "watts": 20.425636 + }, + { + "elapsed_s": 153.198, + "watts": 20.414062 + }, + { + "elapsed_s": 154.198, + "watts": 23.661651 + }, + { + "elapsed_s": 155.2, + "watts": 24.309295 + }, + { + "elapsed_s": 156.202, + "watts": 21.23294 + }, + { + "elapsed_s": 157.203, + "watts": 21.423049 + }, + { + "elapsed_s": 158.205, + "watts": 21.146438 + }, + { + "elapsed_s": 159.206, + "watts": 21.049537 + }, + { + "elapsed_s": 161.209, + "watts": 17.430046 + }, + { + "elapsed_s": 162.21, + "watts": 37.893692 + }, + { + "elapsed_s": 163.211, + "watts": 13.412073 + }, + { + "elapsed_s": 164.212, + "watts": 22.623523 + }, + { + "elapsed_s": 165.214, + "watts": 23.214572 + }, + { + "elapsed_s": 166.215, + "watts": 25.560733 + }, + { + "elapsed_s": 167.216, + "watts": 25.484031 + }, + { + "elapsed_s": 168.218, + "watts": 26.020618 + }, + { + "elapsed_s": 169.219, + "watts": 23.522277 + }, + { + "elapsed_s": 170.22, + "watts": 23.043685 + }, + { + "elapsed_s": 171.221, + "watts": 20.763618 + }, + { + "elapsed_s": 172.223, + "watts": 21.547813 + }, + { + "elapsed_s": 173.225, + "watts": 21.372123 + }, + { + "elapsed_s": 174.226, + "watts": 21.654243 + }, + { + "elapsed_s": 175.23, + "watts": 21.222061 + }, + { + "elapsed_s": 176.234, + "watts": 21.276626 + }, + { + "elapsed_s": 177.236, + "watts": 22.496742 + }, + { + "elapsed_s": 178.24, + "watts": 21.97805 + }, + { + "elapsed_s": 179.241, + "watts": 21.251411 + }, + { + "elapsed_s": 180.242, + "watts": 20.859268 + }, + { + "elapsed_s": 181.243, + "watts": 21.955139 + }, + { + "elapsed_s": 182.244, + "watts": 20.902565 + }, + { + "elapsed_s": 182.632, + "watts": 20.902565 + } + ], + "summary": { + "n": 182, + "median_w": 18.578453500000002, + "p10_w": 14.137566300000001, + "p90_w": 23.5003166 + }, + "interpretation": "observational; active workloads uncontrolled; not an A/B or claimed saving" + } +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/installed-runtime-verification.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/installed-runtime-verification.json new file mode 100644 index 000000000..29579c588 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/installed-runtime-verification.json @@ -0,0 +1,262 @@ +{ + "schema": 1, + "kind": "postboot-installed-and-selected-dt-verification", + "release": "7.2.10-elementary-aurora72-wip2", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "early_module_hashes_verified": 91, + "package_verified": true, + "fallback_files_unchanged": true, + "shared_boot_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "next_entry": "", + "persistent_default": "elementary-aurora20", + "runtime_darts": { + "soc/iommu@28c30c000": { + "compatible": [ + "apple,t6000-dart", + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@285810000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@38b304000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@582008000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@39b008000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@285820000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@289304000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@38b30c000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@583008000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@28930c000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@3860f4000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@293808000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@3952c0000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@b02f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@39b004000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@1302f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@b02f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@702f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@1302f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@3860fc000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@584008000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@28e300000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@702f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@285800000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@28c304000": { + "compatible": [ + "apple,t6000-dart", + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@287010000": { + "compatible": [ + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@f02f00000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@581008000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@3860e8000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/iommu@f02f80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/usb4-pcie-tunnel-0/iommu@721008000": { + "compatible": [ + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/usb4-pcie-tunnel-2/iommu@f21008000": { + "compatible": [ + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/cio@f01ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/cio@701ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/usb4-pcie-tunnel-1/iommu@b21008000": { + "compatible": [ + "apple,t8110-dart" + ], + "iommu_cells": 1 + }, + "soc/cio@b01ac0000/iommu@a80000": { + "compatible": [ + "apple,t6000-dart" + ], + "iommu_cells": 1 + }, + "soc/usb4-pcie-tunnel-3/iommu@1321008000": { + "compatible": [ + "apple,t8110-dart" + ], + "iommu_cells": 1 + } + }, + "observed_firmware_compat": { + "soc/dcp@28cc00000": [ + 13, + 5, + 0 + ], + "soc/dcp@38bc00000": [ + 13, + 5, + 0 + ], + "soc/gpu@406400000": [ + 13, + 5, + 0 + ], + "soc/dcp@289c00000": [ + 13, + 5, + 0 + ] + }, + "packaged_new_dtb_selected": false, + "limits": "Runtime one-cell bindings and unchanged shared boot payload observed; full DT/hardware/recovery qualification not established." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/post-smoke-log-scan.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/post-smoke-log-scan.json new file mode 100644 index 000000000..e06b5a71a --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/post-smoke-log-scan.json @@ -0,0 +1,5 @@ +{ + "journal_entries": 2657, + "selected_severe_hits": [], + "scope": "Selected severe-message scan through post-smoke snapshot; firmware warnings are reviewed separately." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/previous-boot-message-comparison.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/previous-boot-message-comparison.json new file mode 100644 index 000000000..f44e7ead0 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/previous-boot-message-comparison.json @@ -0,0 +1,27 @@ +{ + "previous_kernel": "7.1.12-elementary-aurora20-enh1", + "previous_log_available": true, + "message_counts": { + "deferred_dp_phy": { + "previous": 2, + "current_initial_log": 3 + }, + "lacs_response": { + "previous": 2, + "current_initial_log": 2 + }, + "clock_frequency": { + "previous": 8, + "current_initial_log": 6 + }, + "wifi_p2p_address": { + "previous": 1, + "current_initial_log": 1 + }, + "ioav_open": { + "previous": 1, + "current_initial_log": 1 + } + }, + "limits": "Counts from journal comparison; unequal uptimes and potentially different dock topology. Not evidence of regression or health. Raw owner logs retained privately." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/smoke.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/smoke.json new file mode 100644 index 000000000..1df09eb26 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/smoke.json @@ -0,0 +1,313 @@ +{ + "schema": 1, + "kind": "hardware-test", + "captured_at": "2026-10-21T13:47:31.110005+00:00", + "identity": { + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "board": "apple,j314s", + "soc": "apple,t6000", + "boot_payload_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "kernel_image_sha256": "894c420112c94a07bf70f38d1fad95dfd63fb1085550675d3e0e5f2af4123954", + "live_kernel_build_id": "e33ad2aa657320824a246a3b04814accdb31df1e", + "kernel_image_matches_live_build_id": true, + "modules": { + "kernel/drivers/gpu/drm/apple/appledrm.ko": "6f18e6041d6dcf5ddcd5e4f849c36edd954e385a17c1a6ce2f25d720a7db09a3", + "kernel/drivers/soc/apple/apple-sep.ko": "f80f3cb07b961caaf15a463c5bf8341b81baba3bc4bbccc3805bc8828c870365", + "dtbs/t6000-j314s.dtb": "2ca125477252e4753e8168567af99dda592bce6dea94235677d212846f49ae4c" + }, + "runtime_parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "feature_cmdline": [ + "appledrm.show_notch=1" + ] + }, + "identity_sha256": "f35ab09fa4ccf4fd20856c84ed4bb3826ad1fc4728a5e0981678362beb957459", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "status": "hardware-tested-scoped; incomplete qualification", + "controls_unchanged": true, + "context_before": { + "active_displays": { + "available": false, + "reason": "Error" + }, + "backlights": { + "apple-panel-bl": { + "brightness": "500", + "actual_brightness": "503", + "max_brightness": "500" + } + }, + "power_supplies": { + "macsmc-ac": { + "type": "Mains", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003a": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-0038": { + "type": "USB", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003f": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003b": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "macsmc-battery": { + "type": "Battery", + "status": "Charging", + "online": null, + "capacity": "46", + "energy_now": "28226400" + } + }, + "drm_connectors": { + "card2-DP-2": { + "status": "disconnected", + "enabled": "disabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-HDMI-A-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-3": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-eDP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964" + } + }, + "cpufreq": { + "policy6": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy2": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy0": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2064000" + } + }, + "parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "mem_sleep": "[s2idle]" + }, + "context_after": { + "active_displays": { + "available": false, + "reason": "Error" + }, + "backlights": { + "apple-panel-bl": { + "brightness": "500", + "actual_brightness": "503", + "max_brightness": "500" + } + }, + "power_supplies": { + "macsmc-ac": { + "type": "Mains", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003a": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-0038": { + "type": "USB", + "status": null, + "online": "1", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003f": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "tps6598x-source-psy-0-003b": { + "type": "USB", + "status": null, + "online": "0", + "capacity": null, + "energy_now": null + }, + "macsmc-battery": { + "type": "Battery", + "status": "Charging", + "online": null, + "capacity": "46", + "energy_now": "28226400" + } + }, + "drm_connectors": { + "card2-DP-2": { + "status": "disconnected", + "enabled": "disabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-HDMI-A-1": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-3": { + "status": "disconnected", + "enabled": "disabled", + "modes": "" + }, + "card2-DP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "1920x1080\n1920x1080\n1920x1080\n1920x1080\n1680x1050\n1280x1024\n1280x1024\n1440x900\n1280x960\n1280x720\n1280x720\n1280x720\n1024x768\n1024x768\n1024x768\n800x600\n800x600\n800x600\n800x600\n720x576\n720x480\n720x480\n640x480\n640x480\n640x480\n640x480" + }, + "card2-eDP-1": { + "status": "connected", + "enabled": "enabled", + "modes": "3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964\n3024x1964" + } + }, + "cpufreq": { + "policy6": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy2": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "3036000" + }, + "policy0": { + "scaling_governor": "schedutil", + "scaling_min_freq": "600000", + "scaling_max_freq": "2064000" + } + }, + "parameters": { + "apple_pmgr_misc/parameters/idle_fabric_pstate": "0", + "thunderbolt_apple/parameters/resume_recovery": "N", + "thunderbolt_apple/parameters/dpin_mode_value": "8", + "thunderbolt_apple/parameters/s2idle_teardown": "N", + "thunderbolt_apple/parameters/dpin_aux": "N", + "thunderbolt_apple/parameters/router_sleep": "N", + "thunderbolt_apple/parameters/dp_display": "Y", + "appledrm/parameters/dcpext_probe": "N", + "appledrm/parameters/typec_follow_crtc": "Y", + "appledrm/parameters/j613_25g83_flip_timestamp": "Y", + "appledrm/parameters/unstable_edid": "Y", + "appledrm/parameters/hdmi_audio": "N", + "appledrm/parameters/enable_verbose_logging": "N", + "appledrm/parameters/show_notch": "Y", + "appledrm/parameters/t6030_show_notch": "N", + "appledrm/parameters/j613_25g83_swap_timestamps": "Y", + "appledrm/parameters/dcpext_pageflip": "N", + "appledrm/parameters/j613_25g83_refresh": "120", + "appledrm/parameters/tiled_split": "Y" + }, + "mem_sleep": "[s2idle]" + }, + "checks": { + "gpu_readback_smoke": { + "result": "pass", + "scope": "surfaceless GLES shader draw and 16-pixel RGBA readback; not GPU soak or compositor acceptance", + "renderer": "Apple M1 Pro (G13S C0)", + "version": "OpenGL ES 3.2 Mesa 26.0.8-1ubuntu0.3", + "verified_pixels": "16" + }, + "storage_fsync_smoke": { + "result": "pass", + "scope": "1 MiB temporary file fsync and SHA256 readback on work filesystem; not destructive media, suspend, or recovery testing", + "bytes": 1048576, + "sha256": "fbbab289f7f94b25736c58be46a994c441fd02552cc6022352e3d86d2fab7c83" + } + }, + "source_receipt": { + "file": "hardware.json", + "sha256": "b051c84f046c87b63553f2b254dbe8b3b1fd81dd98ad75c8dfab53afa6ef7db9" + }, + "power_improvement_claim": false +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json new file mode 100644 index 000000000..70ed6a4a9 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json @@ -0,0 +1,132 @@ +{ + "schema": 1, + "kind": "wip2-first-attended-boot-summary", + "recorded_at": "2026-10-21T13:50:48.713962+00:00", + "release": "7.2.10-elementary-aurora72-wip2", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "live_build_id": "e33ad2aa657320824a246a3b04814accdb31df1e", + "image_matches_live_build_id": true, + "result": "scoped boot/internal display/input/GPU/fsync and front-left dock picture pass; rear-left picture fails; incomplete qualification", + "one_shot_consumed": true, + "next_entry": "", + "persistent_default": "elementary-aurora20", + "fallback_files_unchanged": true, + "selected_shared_boot_sha256": "9c9c2d01c3bdb2784daf99cecd6f0e2327eb8f148ea43c8e522e5bae09a14d5f", + "selected_legacy_j314s_dtb_sha256": "a29ff68864e785f05f5f3e44d5bea8ab3166ac52958ea52023c2fa40740fd306", + "dtb_asset_note": "Hardware receipt modules/dtbs hash is the installed newer package asset. It is not the selected legacy boot DTB. Runtime37 DART providers all retain one-cell bindings; selected shared boot payload is unchanged.", + "checks": { + "boot": { + "result": "pass", + "scope": "running boot observed >=300 seconds; no recovery/soak claim", + "uptime_s": 305.17 + }, + "pmp": { + "result": "pass", + "scope": "firmware ready and PMGR ownership messages", + "lines": [ + "apple-pmgr-misc 28e20c000.power-management: PMP manages fabric and DCS p-states", + "apple_pmp 28e700000.pmp: PMP firmware and endpoint ready", + "apple_pmp 28e700000.pmp: RTKit: syslog message: io.cpp:41: PMP started" + ] + }, + "idle_counters": { + "result": "pass", + "scope": "nonnegative per-CPU idle-counter deltas; no efficiency improvement claim" + }, + "gpu": { + "result": "pass", + "scope": "surfaceless GLES shader draw and 16-pixel RGBA readback; not GPU soak or compositor acceptance", + "renderer": "Apple M1 Pro (G13S C0)", + "version": "OpenGL ES 3.2 Mesa 26.0.8-1ubuntu0.3", + "verified_pixels": "16" + }, + "temporary_file_fsync": { + "result": "pass", + "scope": "1 MiB temporary file fsync and SHA256 readback on work filesystem; not destructive media, suspend, or recovery testing", + "bytes": 1048576, + "sha256": "fbbab289f7f94b25736c58be46a994c441fd02552cc6022352e3d86d2fab7c83" + }, + "internal_display_and_input": { + "result": "pass", + "source": "owner report", + "scope": "internal screen, keyboard and trackpad/mouse functional; not all input acceptance" + }, + "dock_front_left": { + "result": "pass-scoped", + "source": "owner explicit corrected report plus compositor/kernel observations", + "physical_location": "left port closest to owner/front edge, farther from hinge", + "observed_mode": "1920x1080@60Hz", + "owner_note": "Picture slow to appear, then functions", + "scope": "WD22TB4 HDMI setup in current trial; no long-run/suspend qualification" + }, + "dock_rear_left": { + "result": "fail", + "source": "owner explicit correction overriding earlier button selection", + "physical_location": "left port nearest hinge", + "scope": "dock monitor does not work on this port; controller/physical-port mapping and root cause not established" + }, + "dock_right": { + "result": "not-run" + }, + "recovery_boot": { + "result": "not-run" + }, + "suspend_resume": { + "result": "not-run" + }, + "energy_ab": { + "result": "not-run" + } + }, + "initial_mode": [ + { + "connector": "eDP-1", + "width": 3024, + "height": 1964, + "refresh_hz": 120.0, + "refresh_mode": "unknown" + } + ], + "later_active_modes": [ + { + "connector": "eDP-1", + "width": 3024, + "height": 1964, + "refresh_hz": 120.0 + }, + { + "connector": "DP-1", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ], + "link_events": { + "both_controller_paths_observed": [ + "701ac0000.cio", + "b01ac0000.cio" + ], + "details": "Both have link-training retries and Entering Connected messages; dock enumeration and dpin0 routing were observed in the boot. Physical port-to-controller attribution is not yet controlled. Owner visual rear-left failure remains authoritative.", + "previous_20_enh1_at_register_timeouts": 22, + "limits": "Previous boot also had AT-register retries. Different duration/cable actions; neither cause nor a new7.2 regression follows from counts." + }, + "power": { + "interpretation": "Uncontrolled first desktop/hotplug observation; not a baseline or saving.", + "controls_unchanged": false, + "active_power_state_unknown": true + }, + "severe_log_scan": "No selected panic/oops/lockup/I/O error patterns through post-smoke snapshot; other firmware warnings retained privately and compared with previous boot.", + "private_raw_logs_retained": true, + "source_sha256": { + "mseries/aurora/qualification.py": "50cd8ff01adf45c05c288310308fb200addf871042e6504ed2a469bcc1563047", + "mseries/hardware/kernel-smoke.py": "7192ef595a5a6e7a3e9f8edf03c7d965eb2a1d9604b51295bc07788c6bddf6d6", + "mseries/hardware/gpu-readback.c": "7236d2cc0336e25f9f0bd16d2e7b3366fb3319a90bf59b9c26d0a175be919609" + }, + "agent_changed_boot_parameters_or_services": false, + "stable_promoted": false, + "next": [ + "Keep a matched front-left/rear-left/right port evidence matrix before attributing regression.", + "Demonstrate attended return to default .20 before suspend/power work.", + "Retain complete semantic/source limitations; no stable promotion." + ] +} diff --git a/mseries/aurora/hardware-tests/README.md b/mseries/aurora/hardware-tests/README.md index 955b311e6..3bb5cb4d2 100644 --- a/mseries/aurora/hardware-tests/README.md +++ b/mseries/aurora/hardware-tests/README.md @@ -1,6 +1,16 @@ # Hardware test receipts and release freezes +## October 21: first 7.2 wip2 boot, incomplete qualification + +[Report](2026-10-21-j314s-wip2-first-boot/REPORT.md): live Image/build ID, +91 early modules, package and unchanged selected legacy shared DTB payload +verified. Boot/PMP/idle, real M1 Pro shader/readback and 1 MiB fsync pass. Owner +confirms internal display/input; front-left dock picture works with delay, +hinge-side left fails, right untested. External 1080p/60 observed. One-shot +consumed, `.20` default retained. Actual recovery/suspend/power acceptance remains +open. This does not change existing frozen release labels. + October 20 observation: `.20-enh1` is running with a matching live/image build ID, PMP ready and internal plus dock DP displays connected. Two retained earlier candidate captures passed scoped GPU/fsync smoke. This boot's automated capture diff --git a/mseries/aurora/unified72/BOOT-TRIAL.md b/mseries/aurora/unified72/BOOT-TRIAL.md index 054acfaa8..e4ef34262 100644 --- a/mseries/aurora/unified72/BOOT-TRIAL.md +++ b/mseries/aurora/unified72/BOOT-TRIAL.md @@ -1,6 +1,20 @@ -# J314S wip2: one-shot armed experimental trial +# J314S wip2: first boot recorded, qualification incomplete -## Current one-shot state, October 21, 2026 +## Actual first-boot state, October 21, 2026 + +Wip2 booted and matched its audited Image/live build ID. Scoped five-minute +boot/PMP/idle, M1 Pro shader/readback and 1 MiB fsync passed. Owner confirms internal +screen/input and front-left dock picture; hinge-side left port fails. External +1080p/60 observed. [Retained report and receipts](../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md). +Reuse completed checks for this boot; do not repeat them as new evidence. + +One-shot consumed (`next_entry` empty), persistent default `.20`, fallback files +unchanged. No automatic re-arm. Matched per-port acceptance and actual return-to- +`.20` recovery remain next, before suspend/power work. The earlier instructions +below describe preparation/arming history and how to collect a distinct future +boot; they are not instructions to re-run this completed capture. + +## Earlier one-shot state, October 21, 2026 Owner authorized arming after repeat CI passed. Both matrix jobs in run 39601423970 passed; all staged/fallback hashes, package verification, GRUB syntax diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index cb92dab3d..6fd3e1bd3 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -2,13 +2,19 @@ ## Current host state — October 21, 2026 -Both repeat native CI matrix jobs passed [run 39601423970](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970) -at `ed08d50`. Owner-authorized **one-shot is armed** for -`elementary-aurora72-wip2-trial`. `.20` remains persistent default; old boot files -and shared `boot.bin` are unchanged. Running kernel remains `.20-enh1`; no reboot -or 7.2 hardware acceptance is claimed. See [arming receipt](one-shot-armed-2026-10-21.json), -[attended boot plan](BOOT-TRIAL.md) and [preflight receipt](boot-preflight-2026-10-21.json). -Do not automatically re-arm after this trial. +**Wip2 has booted.** Exact live Image identity/package/modules and unchanged +legacy shared payload verified. Scoped boot/PMP/idle, real M1 Pro GPU +shader/readback and 1 MiB fsync pass. Owner confirms internal display/input and +front-left dock picture, slow to appear; hinge-side left picture fails and right +port is untested. External 1080p/60 is observed. No all-port/stable/suspend/power +qualification. One-shot is consumed; `.20` remains persistent default. +[First-boot report](../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md), +[summary](first-boot-2026-10-21.json). Next: matched port acceptance and actual +`.20` recovery. Do not re-arm automatically. + +Both repeat CI matrix jobs passed run 39601423970; installed package remains the +independently audited original successful native-build artifact. Historical +[arming receipt](one-shot-armed-2026-10-21.json) precedes this actual boot. ## Merged source refresh — October 21, 2026 @@ -70,7 +76,8 @@ resolves it to `y`, with `NF_TABLES=m` and `NFT_COMPAT=m` retained. This is not warning-free build claim. Subsequent review/test/documentation changes preserve the recorded builder/manifest/workflow hashes; artifact-embedded documentation remains the snapshot at the tested commit. Earlier wip1 receipts are separate. -No local 7.2 boot, power saving or hardware acceptance is claimed. +That build checkpoint preceded the scoped first boot recorded above; no power +saving or complete hardware acceptance is claimed. ## Static contract follow-up — October 21, 2026 @@ -112,7 +119,7 @@ fail on pin/config/identity errors; none installs a package. ## Hardware and compatibility gates -This is an **experimental, one-shot-armed trial**, not hardware-qualified. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) +This is an **experimental, booted trial with incomplete qualification**. The [October 18 parity inventory](../branch-audits/2026-10-18-review-parity.json) records the old `582e9ef3` snapshot; retain it as history. The new focused review supersedes only its three inspected GPU/SEP gap descriptions, not all 64 semantic review requirements. Check the intended Mesa/kernel UAPI and actual client diff --git a/mseries/aurora/unified72/first-boot-2026-10-21.json b/mseries/aurora/unified72/first-boot-2026-10-21.json new file mode 100644 index 000000000..31a3f7746 --- /dev/null +++ b/mseries/aurora/unified72/first-boot-2026-10-21.json @@ -0,0 +1,12 @@ +{ + "schema": 1, + "status": "scoped boot/internal display/input/GPU/fsync and front-left dock picture pass; rear-left picture fails; incomplete qualification", + "release": "7.2.10-elementary-aurora72-wip2", + "one_shot_consumed": true, + "next_entry": "", + "persistent_default": "elementary-aurora20", + "stable_promoted": false, + "report": "../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md", + "summary": "../hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json", + "recovery_boot_qualified": false +} diff --git a/mseries/fairydust/usb4/PRIMARY-GOAL.md b/mseries/fairydust/usb4/PRIMARY-GOAL.md index ed5751484..2928c7a22 100644 --- a/mseries/fairydust/usb4/PRIMARY-GOAL.md +++ b/mseries/fairydust/usb4/PRIMARY-GOAL.md @@ -7,6 +7,15 @@ Everything in `mseries/fairydust/usb4/` serves this goal. Every patch, experiment, boot and doc change must say which gate below it moves, or why it is needed to move one. Work that moves no gate is not dock-video work. +## October 21 Aurora 7.2 trial update + +Scoped **G5 picture** on the reported front-left USB-C port (closest to owner, +farther from hinge): owner visual confirmation plus external DP-1 1080p/60 and +Thunderbolt `dpin0` routing observed. Hinge-side left picture fails; right untested. +Full link-rate/all-port/long-run/recovery qualification remains open. This +supersedes the historical Fairydust picture frontier below without changing +those older receipts. [Exact trial report](../../aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md). + ## Gates (in order; qualify one payload and boot at a time) The table retains best prior experiment evidence. It does not establish the current installed/armed state. diff --git a/mseries/fairydust/usb4/STATE-OF-PLAY.md b/mseries/fairydust/usb4/STATE-OF-PLAY.md index 9ba27e864..d99c11f68 100644 --- a/mseries/fairydust/usb4/STATE-OF-PLAY.md +++ b/mseries/fairydust/usb4/STATE-OF-PLAY.md @@ -1,10 +1,30 @@ # WD22TB4 dock video — state of play (read first) > **PRIMARY GOAL:** a picture on the WD22TB4 dock's HDMI from elementary OS on this j314s. -> Current blocker is **G3**: the DCP firmware must set link rate + lane count, then read EDID. -> Aurora has j314s Thunderbolt-display prior art; check it before more RE. This dock HDMI path remains unqualified. +> Current Aurora trial reaches a scoped owner-confirmed **G5 picture on front-left**. +> Rear-left dock picture fails; all-port, long-run and recovery acceptance remain open. +> Historical Fairydust G3 failures below describe different payloads. > Gates, prior art and rules: [PRIMARY-GOAL.md](PRIMARY-GOAL.md). +## October 21: Aurora 7.2 wip2 attended boot, physical port split + +Owner confirms WD22TB4 dock picture on the left port closest to the owner/front, +farther from hinge, with slow appearance. **Hinge-side left does not show a +picture**; right untested. Explicit owner correction supersedes the contradictory +button answer. Kernel later logs `display routed to Thunderbolt DP tunnel dpin0`; +compositor observes DP-1 1920x1080/60 plus internal 3024x1964/120. This is scoped +G5 visual evidence on the reported working port, not independently measured +link-rate/all-port qualification. Both controller paths have connection/retry +messages; a controlled physical-to-logical mapping remains open. +[First-boot report and exact identity](../../aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md). + +Wip2 live build matches audited Image, selected shared legacy boot payload is +unchanged, GPU/readback and 1 MiB fsync pass, one-shot consumed and `.20` remains +default. Next matched port evidence and actual `.20` recovery. No new Fairydust +RE patch or boot-payload change. Prior October 18 Aurora visual results remain valid +for their separately recorded identities; historical failures below are not the +current highest picture frontier. + Reviewed 2026-10-17; historical hardware records follow. No new boot was performed by the code audit. This is the cumulative frontier ledger. Preserve measured advances and do not re-run discovery without a new reason. From b2b29e7a7952ded87744fff042f011e6d4f9c852 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Wed, 21 Oct 2026 10:07:05 -0400 Subject: [PATCH 7/7] Qualify all dock ports and retain pilot timings and upstream review --- AGENTS.md | 3 + mseries/OS9-HANDOFF.md | 24 +++ mseries/ROADMAP.md | 12 +- .../PORT-TIMINGS.md | 45 ++++++ .../REPORT.md | 10 +- .../all-ports-followup.json | 75 +++++++++ .../port-timings/left-label-correction.json | 10 ++ .../port-timings/runner-used.py | 148 ++++++++++++++++++ .../timing-front-left-01/events.jsonl | 8 + .../timing-front-left-01/result.json | 44 ++++++ .../timing-front-left-02/events.jsonl | 8 + .../timing-front-left-02/result.json | 43 +++++ .../port-timings/timing-right-01/events.jsonl | 8 + .../port-timings/timing-right-01/result.json | 44 ++++++ .../rear-left-picture-confirmed.json | 45 ++++++ .../right-owner-confirmation.json | 11 ++ mseries/aurora/hardware-tests/README.md | 8 + mseries/aurora/unified72/BOOT-TRIAL.md | 9 ++ mseries/aurora/unified72/README.md | 25 ++- .../aurora/unified72/UPSTREAM-CANDIDATES.md | 56 +++++++ .../unified72/first-boot-2026-10-21.json | 6 +- .../unified72/upstream-review-2026-10-21.json | 52 ++++++ mseries/fairydust/usb4/PRIMARY-GOAL.md | 9 ++ mseries/fairydust/usb4/STATE-OF-PLAY.md | 13 +- mseries/hardware/dock-port-timing.py | 147 +++++++++++++++++ mseries/hardware/test_dock_port_timing.py | 54 +++++++ 26 files changed, 896 insertions(+), 21 deletions(-) create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/all-ports-followup.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/left-label-correction.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/runner-used.py create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/events.jsonl create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/result.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/events.jsonl create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/result.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/events.jsonl create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/result.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/rear-left-picture-confirmed.json create mode 100644 mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/right-owner-confirmation.json create mode 100644 mseries/aurora/unified72/UPSTREAM-CANDIDATES.md create mode 100644 mseries/aurora/unified72/upstream-review-2026-10-21.json create mode 100644 mseries/hardware/dock-port-timing.py create mode 100644 mseries/hardware/test_dock_port_timing.py diff --git a/AGENTS.md b/AGENTS.md index 464f5bbc8..3b65d5183 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,6 +2,9 @@ > **PRIMARY GOAL:** a picture on the WD22TB4 dock's HDMI from elementary OS on this j314s. > Current J314S host: owner confirms the dock works on Aurora .20; external 1080p/60 is active. +> October 21 Aurora 7.2 wip2 trial: owner confirms dock picture on all 3 USB-C ports, +> with delayed initial training; `.20` remains default and actual recovery/suspend +> still unqualified. [Scoped port/timing follow-up](mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). > [Scoped VRR/dock result](mseries/aurora/hardware-tests/2026-10-18-j314s-vrr-and-boot-archive.md) > records a visual pass and brief kernel VRR activation. Sustained VRR, long-run dock stability, > physical-port verification and suspend/resume remain open. Check this result before repeating older RE. diff --git a/mseries/OS9-HANDOFF.md b/mseries/OS9-HANDOFF.md index 75be07a4b..4592d8a85 100644 --- a/mseries/OS9-HANDOFF.md +++ b/mseries/OS9-HANDOFF.md @@ -1,5 +1,29 @@ # OS 9 implementation / Claude Code handoff +## Aurora 7.2 all three dock ports working; pilot timing — 2026-10-21 + +Owner later confirms **rear-left nearest hinge works**; the earlier blank-screen +report was transient and is superseded. Front-left closest to owner and right +also show picture; front/right input explicitly confirmed. All three external +modes observed at 1080p/60. No agent driver/service/runtime change caused this +recovery. [Follow-up and pilot timings](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). + +One cycle per port: partner→dock≈3s, dock→monitor≈1s, monitor→desktop≈0.5s, +partner→active desktop≈4.5s. Poll resolution 0.5 s plus query delay; not cable-insertion +or visible-pixel latency, no statistical ranking. Front boundary recovered from +retained events and regression-fixed; prior mislabelled rear run corrected by +owner sidecar. Original receipts retained. Five timing state-machine tests and +71 Aurora repository tests pass after merging current dev into this branch. +Only merge conflict was both parties' prepended handoff entries; both preserved. +Kernel builder/manifest/native-workflow bytes still match tested b213999. + +Next: merge this experimental kernel/qualification lane into dev after current +review/checks, keeping `.20` persistent boot default. No stable-kernel promotion, +automatic re-arm or reboot. Actual `.20` recovery/suspend/power still pending. +Display lifecycle logging and attention integration are separate deployment +work, preserving the current dock/panel/popup lineage. Upstream review identifies +only a host-fixture candidate, not a newly authored dock kernel fix. + ## Aurora 7.2 first boot: scoped pass; rear-left dock picture fails — 2026-10-21 Owner rebooted into `7.2.10-elementary-aurora72-wip2`. Live build ID diff --git a/mseries/ROADMAP.md b/mseries/ROADMAP.md index 7881db254..8329d8a3b 100644 --- a/mseries/ROADMAP.md +++ b/mseries/ROADMAP.md @@ -1,5 +1,15 @@ # Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi) +## All three wip2 dock ports pass scoped picture — 2026-10-21 + +Later rear-left picture supersedes initial failure. All 3 ports show 1080p/60; +one-cycle polling≈4.5s partner→active desktop each, with label/boundary corrections +and 0.5 s resolution disclosed. Not a speed ranking or pixel latency benchmark. +New read-only timing tool and 5 tests; existing 71 Aurora tests pass after dev +conflict resolution. Next dev merge, exact lifecycle tracing and actual `.20` +recovery; boot default unchanged, no stable promotion/power claim. +[Timing follow-up](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). + ## Aurora 7.2 first boot: GPU/fsync pass, port acceptance incomplete — 2026-10-21 Actual wip2 boot/Image identity, package/91 early modules and unchanged legacy @@ -1211,7 +1221,7 @@ reopened Claude as524238; CLI and desktop identity hints matched the requested target. Owner independently confirmed the correct main-UI account. The operation exported/imported34 local Code conversations, with zero unavailable. -All34 destination records, transcripts and workspace directories exist; session, +All 34 destination records, transcripts and workspace directories exist; session, CLI transcript, cwd/originCwd, worktree and branch bindings match the source. Claude's own post-start logs loaded13 active records from the exact target index (nine imported plus four existing) and25 deferred archived records. Initial diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md new file mode 100644 index 000000000..624c09c15 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md @@ -0,0 +1,45 @@ +# WD22TB4 per-port pilot timings — October 21, 2026 + +All three ports now have an owner-confirmed dock picture. Front-left and right +also have explicit input confirmation. Rear-left's later picture supersedes its +initial blank-screen observation. No driver/service/runtime parameter change +was applied by this agent between those observations. + +| Physical USB-C port | Partner to dock | Dock to monitor | Monitor to active desktop | Partner to active desktop | +| --- | --- | --- | --- | --- | +| Rear-left, nearest hinge | ~3.0 s | ~1.0 s | ~0.5 s | ~4.5 s | +| Front-left, closest to owner | ~3.0 s* | ~1.0 s | ~0.5 s | ~4.5 s* | +| Right | ~3.0 s | ~1.0 s | ~0.5 s | ~4.5 s | + +One plug cycle each; requested 0.5 s polling. These are detection-to-observed-state +times, not physical cable insertion-to-visible-pixel measurements. This sample +cannot rank ports statistically. The compositor may mark a mode active before +pixels are visible; owner confirmation remains separate. All observed external +modes are 1920x1080/60. + +* The front-left run's partner appeared in the sample completing the detach +window. The original tracker swallowed that boundary, so its summary started at +dock enumeration. The retained event log contains the partner edge; derived +values in [all-ports-followup.json](all-ports-followup.json) use that actual event. +The tracker has a targeted regression fix and test for future runs. Original +runner/results/events are retained, without rewriting old evidence. + +The earlier run named `timing-front-left-01` was retrospectively confirmed by the +owner to be rear-left. [Label correction](port-timings/left-label-correction.json) +is retained alongside unchanged original results. The final front-left sample +was explicitly requested and owner-confirmed. Logical results: rear port1/DP-1, +front port2/DP-2, right port3/DP-3 on this boot; logical names are not permanent +physical labels across other boots. + +On unplug, partner loss and desktop disappearance fell in the same sample for +right/rear, and about 0.5 s apart for front. Same-sample means below the observation +resolution, not instantaneous disable. Separate detailed kernel/compositor +lifecycle instrumentation is the next step for optimization. About 3 s precedes +dock enumeration, so compositor-only changes cannot account for that entire +interval. Do not shorten debounce/recovery timers based on this pilot. + +The read-only poller is `mseries/hardware/dock-port-timing.py`; it requires an +identity-bound hardware receipt from the running boot and a fresh private output +folder. Five state-machine tests pass, including the boundary fix. It changes no +hardware settings. Repeatability, suspend, real `.20` recovery, Vulkan/long-run +GPU and controlled energy comparisons remain unqualified. diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md index 2d06bc698..7b94c2eee 100644 --- a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md @@ -1,6 +1,9 @@ # J314S Aurora 7.2 wip2: first attended boot, October 21, 2026 -**Scoped success with a port-specific dock failure; incomplete qualification.** +**All three ports later show a dock picture; qualification remains incomplete.** +The [later owner confirmations and timings](PORT-TIMINGS.md) supersede the initial +rear-left failure below. Original first-boot receipts remain historical evidence. + The actual boot is `7.2.10-elementary-aurora72-wip2`; live build ID `e33ad2aa657320824a246a3b04814accdb31df1e` matches the audited Image. One-shot consumed (`next_entry` empty); persistent default stays `.20`. @@ -22,7 +25,7 @@ Old fallback files and the selected shared `boot.bin` remain unchanged. address warning also occurred in the previous `.20-enh1` boot. They are not silently classified as harmless or a new regression. -## Physical port findings — use the owner's final correction +## Initial physical port observations — superseded by later recovery | Mac USB-C position | Owner result | Scope | | --- | --- | --- | @@ -59,7 +62,8 @@ hotplug actions; no idle baseline, A/B or energy saving. Raw journal data, private snapshots and device inventory remain under the owner's private outputs directory and are not committed. -Next: matched per-port acceptance, then attended return to `.20` to demonstrate +All three ports have since passed scoped visual acceptance; see the timing +follow-up. Next: attended return to `.20` to demonstrate fallback recovery before suspend and power testing. Do not re-arm automatically, change persistent default, or call this a stable promotion. Full 64-fix semantic qualification and earlier source-review limits remain open. diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/all-ports-followup.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/all-ports-followup.json new file mode 100644 index 000000000..7973adc88 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/all-ports-followup.json @@ -0,0 +1,75 @@ +{ + "schema": 1, + "kind": "owner-confirmed-three-port-dock-observation", + "recorded_at": "2026-10-21T14:04:42.047491+00:00", + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "all_three_ports_owner_picture_confirmed": true, + "owner_input_confirmations": [ + "right", + "front-left" + ], + "rear_left_status": "Later picture confirmed; supersedes earlier no-picture observation. Delay/retry behavior remains to characterize.", + "one_shot_consumed": true, + "persistent_default": "elementary-aurora20", + "timing_samples": [ + { + "physical_port": "right", + "owner_picture_confirmed": true, + "source_result": "timing-right-01/result.json", + "source_events_sha256": "d9da751166a30d436e6329808cb752757456a729c8342e35aa3d70d8aa94bc72", + "requested_poll_interval_s": 0.5, + "dock_to_active_seconds": 1.502, + "partner_to_dock_seconds": 2.984, + "partner_to_active_seconds": 4.486, + "partner_loss_to_compositor_off_seconds": 0.0, + "final_partner": [ + "port3-partner" + ], + "final_connector": [ + "DP-3" + ] + }, + { + "physical_port": "rear-left", + "owner_picture_confirmed": true, + "source_result": "timing-front-left-01/result.json", + "source_events_sha256": "f28da4bb70125f954981957cf0b838478da97d0cf09ed5c3eede71c197a1e545", + "requested_poll_interval_s": 0.5, + "dock_to_active_seconds": 1.518, + "partner_to_dock_seconds": 2.991, + "partner_to_active_seconds": 4.509, + "partner_loss_to_compositor_off_seconds": 0.0, + "final_partner": [ + "port1-partner" + ], + "final_connector": [ + "DP-1" + ], + "label_correction": "Runner was requested as front-left; owner retrospectively confirmed rear-left nearest hinge. Original receipt retained unchanged; correction sidecar authoritative." + }, + { + "physical_port": "front-left", + "owner_picture_confirmed": true, + "source_result": "timing-front-left-02/result.json", + "source_events_sha256": "5cc730883a57b154169da5cefbc352061326d403ec839c2934dc8977665faa5e", + "requested_poll_interval_s": 0.5, + "dock_to_active_seconds": 1.515, + "partner_to_dock_seconds": 2.996, + "partner_to_active_seconds": 4.511, + "partner_loss_to_compositor_off_seconds": 0.492, + "final_partner": [ + "port2-partner" + ], + "final_connector": [ + "DP-2" + ], + "origin_correction": "Partner appears in the ready-for-plug event; original Tracker swallowed the edge on baseline completion. Values derived from retained events; targeted regression test/fix added for future runs." + } + ], + "timing_limits": "One owner-operated plug cycle per port,0.5s requested poll interval plus query latency. Not physical insertion-to-visible-pixel timing, not a statistically meaningful speed ranking. Retrospective rear label and front boundary correction disclosed.", + "stable_promoted": false, + "recovery_boot_tested": false, + "suspend_tested": false, + "power_improvement_claim": false +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/left-label-correction.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/left-label-correction.json new file mode 100644 index 000000000..1024cd2e6 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/left-label-correction.json @@ -0,0 +1,10 @@ +{ + "schema": 1, + "recorded_at": "2026-10-21T13:59:26.922945+00:00", + "poll_result": "timing-front-left-01/result.json", + "poll_result_sha256": "a3dd8018f2e157bf298bd7ba31a44321cd83743a077ccac06c0e0e1c4b91cb10", + "original_requested_label": "front-left", + "owner_corrected_actual_port": "rear-left nearest hinge", + "source": "Owner clarified current connected port after this run; final partner port1/DP-1 remains present.", + "limits": "Retrospective owner label; one cycle, not controlled insertion-to-visible-pixel timing." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/runner-used.py b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/runner-used.py new file mode 100644 index 000000000..7c4ef9e6c --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/runner-used.py @@ -0,0 +1,148 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Poll a human-labelled dock plug cycle without changing hardware state. + +Timing starts at the first observed new Type-C partner (or fallback discovery), +not physical cable insertion. Compositor activation is not visible pixels. +""" +import argparse +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import sys +import time + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / 'aurora')) +import qualification as q + + +def snapshot(): + from gi.repository import Gio + dock = [p.name for p in Path('/sys/bus/thunderbolt/devices').glob('*') + if 'WD22TB4' in (q.read(p / 'device_name') or '')] + connected = sorted(p.name for p in Path('/sys/class/drm').glob('card*-*') + if not p.name.split('-', 1)[-1].startswith(('eDP', 'DSI', 'LVDS')) + and q.read(p / 'status') == 'connected') + modes, error = [], None + try: + bus = Gio.bus_get_sync(Gio.BusType.SESSION, None) + state = bus.call_sync('org.gnome.Mutter.DisplayConfig', '/org/gnome/Mutter/DisplayConfig', + 'org.gnome.Mutter.DisplayConfig', 'GetCurrentState', None, None, + Gio.DBusCallFlags.NONE, 700, None).unpack() + modes = [{'connector': spec[0], 'width': w, 'height': h, 'refresh_hz': hz} + for spec, options, props in state[1] + for name, w, h, hz, preferred, scales, flags in options + if flags.get('is-current') and not spec[0].startswith(('eDP', 'DSI', 'LVDS'))] + except Exception as exc: + error = type(exc).__name__ + return {'partners': sorted(p.name for p in Path('/sys/class/typec').glob('port*-partner')), + 'dock': sorted(dock), 'connected': connected, 'active_modes': modes, + 'display_query_error': error} + + +class Tracker: + def __init__(self, detached_s=2, stable_s=3): + self.detached_s, self.stable_s = detached_s, stable_s + self.detached_since = self.active_since = None + self.baseline = self.start = None + self.origin = None + self.first = {} + self.complete = False + + def observe(self, now, state): + clear = not state['dock'] and not state['connected'] and not state['active_modes'] + if self.baseline is None: + if not clear: + self.detached_since = None + return 'wait-detach' + if self.detached_since is None: + self.detached_since = now + if now - self.detached_since < self.detached_s: + return 'wait-detach' + self.baseline = set(state['partners']) + return 'ready-for-plug' + new_partner = bool(set(state['partners']) - self.baseline) + stages = {'partner_detected': new_partner, 'dock_enumerated': bool(state['dock']), + 'monitor_connected': bool(state['connected']), 'compositor_active': bool(state['active_modes'])} + if self.start is None: + if not any(stages.values()): + return 'ready-for-plug' + self.start = now + self.origin = next(k for k, v in stages.items() if v) + for label, present in stages.items(): + if present and label not in self.first: + self.first[label] = round(now - self.start, 3) + if state['active_modes'] and state['dock']: + if self.active_since is None: + self.active_since = now + self.complete = now - self.active_since >= self.stable_s + else: + self.active_since = None + return 'complete' if self.complete else 'waiting-for-active-mode' + + +def run(args): + os.umask(0o077) + if args.output.exists(): + raise ValueError('preserve prior evidence: choose a fresh output directory') + if not 0.2 <= args.interval <= 2 or not 10 <= args.timeout <= 600: + raise ValueError('interval 0.2..2 seconds and timeout 10..600 required') + record = json.loads(args.receipt.read_text()) + identity = q.validate_receipt(record) + boot_id = q.read('/proc/sys/kernel/random/boot_id') + if boot_id != record['boot_id'] or q.read('/proc/sys/kernel/osrelease') != identity['kernel_release']: + raise ValueError('running boot differs from supplied qualified-identity receipt') + args.output.mkdir(parents=True, mode=0o700) + tracker = Tracker() + started = time.monotonic() + last = phase = None + events = [] + last_state = {} + print('WAITING: unplug dock, hold detached at least 5 seconds, then plug into ' + args.port, flush=True) + with (args.output / 'events.jsonl').open('x') as stream: + while time.monotonic() - started < args.timeout: + before = time.monotonic() + if q.read('/proc/sys/kernel/random/boot_id') != boot_id: + raise ValueError('boot changed') + state = snapshot() + observed = time.monotonic() + step = tracker.observe(observed, state) + if state != last or step != phase: + event = {'elapsed_s': round(observed - started, 3), 'query_duration_s': round(observed - before, 3), + 'phase': step, 'state': state} + events.append(event) + stream.write(json.dumps(event) + '\n'); stream.flush() + if step != phase: + print(step, tracker.first, flush=True) + last, phase, last_state = state, step, state + if tracker.complete: + break + time.sleep(max(0, args.interval - (time.monotonic() - before))) + result = {'schema': 1, 'kind': 'dock-port-discovery-timing', 'recorded_at': datetime.now(timezone.utc).isoformat(), + 'physical_port_owner_label': args.port, 'boot_id': boot_id, 'identity_sha256': record['identity_sha256'], + 'kernel_release': identity['kernel_release'], 'source_receipt_sha256': q.digest(args.receipt), + 'runner_sha256': q.digest(__file__), 'requested_poll_interval_s': args.interval, + 'observed_max_poll_gap_s': round(max((b['elapsed_s'] - a['elapsed_s'] for a, b in zip(events, events[1:])), default=0), 3), + 'state_changes': len(events), 'timing_origin': tracker.origin, + 'first_observed_stage_seconds': tracker.first, + 'active_mode_stable_at_finish': tracker.complete, 'final_state': last_state, + 'result': 'active-mode-observed' if tracker.complete else 'timeout', + 'physical_picture': 'requires owner confirmation; not measured by polling', + 'limits': 'One plug cycle; detection-to-state timing, not physical insertion-to-visible-image. Poll/query latency applies; no driver/parameter/mode changes, no USB functional/suspend/recovery or repeated stability qualification.'} + # Event spacing is not the sample interval: unchanged samples are suppressed. + result.pop('observed_max_poll_gap_s') + q.write_new(args.output / 'result.json', result) + print(json.dumps(result, indent=2), flush=True) + return result + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--port', required=True, choices=['front-left', 'rear-left', 'right']) + parser.add_argument('--receipt', type=Path, required=True) + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--interval', type=float, default=.5) + parser.add_argument('--timeout', type=float, default=240) + run(parser.parse_args()) diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/events.jsonl b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/events.jsonl new file mode 100644 index 000000000..fd6a649ab --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/events.jsonl @@ -0,0 +1,8 @@ +{"elapsed_s": 0.032, "query_duration_s": 0.032, "phase": "wait-detach", "state": {"partners": ["port3-partner"], "dock": ["0-1"], "connected": ["card2-DP-3"], "active_modes": [{"connector": "DP-3", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 10.515, "query_duration_s": 0.008, "phase": "wait-detach", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 12.524, "query_duration_s": 0.016, "phase": "ready-for-plug", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 15.028, "query_duration_s": 0.019, "phase": "waiting-for-active-mode", "state": {"partners": ["port1-partner"], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 18.019, "query_duration_s": 0.004, "phase": "waiting-for-active-mode", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 19.033, "query_duration_s": 0.018, "phase": "waiting-for-active-mode", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": ["card2-DP-1"], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 19.537, "query_duration_s": 0.021, "phase": "waiting-for-active-mode", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": ["card2-DP-1"], "active_modes": [{"connector": "DP-1", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 22.547, "query_duration_s": 0.031, "phase": "complete", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": ["card2-DP-1"], "active_modes": [{"connector": "DP-1", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/result.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/result.json new file mode 100644 index 000000000..2f423b62b --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-01/result.json @@ -0,0 +1,44 @@ +{ + "schema": 1, + "kind": "dock-port-discovery-timing", + "recorded_at": "2026-10-21T13:58:16.054356+00:00", + "physical_port_owner_label": "front-left", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "identity_sha256": "f35ab09fa4ccf4fd20856c84ed4bb3826ad1fc4728a5e0981678362beb957459", + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "source_receipt_sha256": "b051c84f046c87b63553f2b254dbe8b3b1fd81dd98ad75c8dfab53afa6ef7db9", + "runner_sha256": "3cb22f867a629227b0e2e665d9c4a29ff06692f9a91ac814f7c229127d80fa71", + "requested_poll_interval_s": 0.5, + "state_changes": 8, + "timing_origin": "partner_detected", + "first_observed_stage_seconds": { + "partner_detected": 0.0, + "dock_enumerated": 2.991, + "monitor_connected": 4.005, + "compositor_active": 4.509 + }, + "active_mode_stable_at_finish": true, + "final_state": { + "partners": [ + "port1-partner" + ], + "dock": [ + "0-1" + ], + "connected": [ + "card2-DP-1" + ], + "active_modes": [ + { + "connector": "DP-1", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ], + "display_query_error": null + }, + "result": "active-mode-observed", + "physical_picture": "requires owner confirmation; not measured by polling", + "limits": "One plug cycle; detection-to-state timing, not physical insertion-to-visible-image. Poll/query latency applies; no driver/parameter/mode changes, no USB functional/suspend/recovery or repeated stability qualification." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/events.jsonl b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/events.jsonl new file mode 100644 index 000000000..f2c5442ec --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/events.jsonl @@ -0,0 +1,8 @@ +{"elapsed_s": 0.034, "query_duration_s": 0.034, "phase": "wait-detach", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": ["card2-DP-1"], "active_modes": [{"connector": "DP-1", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 14.528, "query_duration_s": 0.015, "phase": "wait-detach", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [{"connector": "DP-1", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 15.02, "query_duration_s": 0.007, "phase": "wait-detach", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 17.027, "query_duration_s": 0.012, "phase": "ready-for-plug", "state": {"partners": ["port2-partner"], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 20.023, "query_duration_s": 0.007, "phase": "waiting-for-active-mode", "state": {"partners": ["port2-partner"], "dock": ["0-1"], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 21.025, "query_duration_s": 0.009, "phase": "waiting-for-active-mode", "state": {"partners": ["port2-partner"], "dock": ["0-1"], "connected": ["card2-DP-2"], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 21.538, "query_duration_s": 0.022, "phase": "waiting-for-active-mode", "state": {"partners": ["port2-partner"], "dock": ["0-1"], "connected": ["card2-DP-2"], "active_modes": [{"connector": "DP-2", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 24.541, "query_duration_s": 0.02, "phase": "complete", "state": {"partners": ["port2-partner"], "dock": ["0-1"], "connected": ["card2-DP-2"], "active_modes": [{"connector": "DP-2", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/result.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/result.json new file mode 100644 index 000000000..bf2f987d4 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-front-left-02/result.json @@ -0,0 +1,43 @@ +{ + "schema": 1, + "kind": "dock-port-discovery-timing", + "recorded_at": "2026-10-21T13:59:51.502483+00:00", + "physical_port_owner_label": "front-left", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "identity_sha256": "f35ab09fa4ccf4fd20856c84ed4bb3826ad1fc4728a5e0981678362beb957459", + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "source_receipt_sha256": "b051c84f046c87b63553f2b254dbe8b3b1fd81dd98ad75c8dfab53afa6ef7db9", + "runner_sha256": "3cb22f867a629227b0e2e665d9c4a29ff06692f9a91ac814f7c229127d80fa71", + "requested_poll_interval_s": 0.5, + "state_changes": 8, + "timing_origin": "dock_enumerated", + "first_observed_stage_seconds": { + "dock_enumerated": 0.0, + "monitor_connected": 1.002, + "compositor_active": 1.516 + }, + "active_mode_stable_at_finish": true, + "final_state": { + "partners": [ + "port2-partner" + ], + "dock": [ + "0-1" + ], + "connected": [ + "card2-DP-2" + ], + "active_modes": [ + { + "connector": "DP-2", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ], + "display_query_error": null + }, + "result": "active-mode-observed", + "physical_picture": "requires owner confirmation; not measured by polling", + "limits": "One plug cycle; detection-to-state timing, not physical insertion-to-visible-image. Poll/query latency applies; no driver/parameter/mode changes, no USB functional/suspend/recovery or repeated stability qualification." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/events.jsonl b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/events.jsonl new file mode 100644 index 000000000..94cdf59c5 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/events.jsonl @@ -0,0 +1,8 @@ +{"elapsed_s": 0.033, "query_duration_s": 0.033, "phase": "wait-detach", "state": {"partners": ["port1-partner"], "dock": ["0-1"], "connected": ["card2-DP-1"], "active_modes": [{"connector": "DP-1", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 45.534, "query_duration_s": 0.008, "phase": "wait-detach", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 47.539, "query_duration_s": 0.011, "phase": "ready-for-plug", "state": {"partners": [], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 51.048, "query_duration_s": 0.019, "phase": "waiting-for-active-mode", "state": {"partners": ["port3-partner"], "dock": [], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 54.032, "query_duration_s": 0.002, "phase": "waiting-for-active-mode", "state": {"partners": ["port3-partner"], "dock": ["0-1"], "connected": [], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 55.052, "query_duration_s": 0.023, "phase": "waiting-for-active-mode", "state": {"partners": ["port3-partner"], "dock": ["0-1"], "connected": ["card2-DP-3"], "active_modes": [], "display_query_error": null}} +{"elapsed_s": 55.534, "query_duration_s": 0.004, "phase": "waiting-for-active-mode", "state": {"partners": ["port3-partner"], "dock": ["0-1"], "connected": ["card2-DP-3"], "active_modes": [{"connector": "DP-3", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} +{"elapsed_s": 58.549, "query_duration_s": 0.016, "phase": "complete", "state": {"partners": ["port3-partner"], "dock": ["0-1"], "connected": ["card2-DP-3"], "active_modes": [{"connector": "DP-3", "width": 1920, "height": 1080, "refresh_hz": 60.0}], "display_query_error": null}} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/result.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/result.json new file mode 100644 index 000000000..603fa89d0 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/port-timings/timing-right-01/result.json @@ -0,0 +1,44 @@ +{ + "schema": 1, + "kind": "dock-port-discovery-timing", + "recorded_at": "2026-10-21T13:57:13.446408+00:00", + "physical_port_owner_label": "right", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "identity_sha256": "f35ab09fa4ccf4fd20856c84ed4bb3826ad1fc4728a5e0981678362beb957459", + "kernel_release": "7.2.10-elementary-aurora72-wip2", + "source_receipt_sha256": "b051c84f046c87b63553f2b254dbe8b3b1fd81dd98ad75c8dfab53afa6ef7db9", + "runner_sha256": "3cb22f867a629227b0e2e665d9c4a29ff06692f9a91ac814f7c229127d80fa71", + "requested_poll_interval_s": 0.5, + "state_changes": 8, + "timing_origin": "partner_detected", + "first_observed_stage_seconds": { + "partner_detected": 0.0, + "dock_enumerated": 2.984, + "monitor_connected": 4.004, + "compositor_active": 4.486 + }, + "active_mode_stable_at_finish": true, + "final_state": { + "partners": [ + "port3-partner" + ], + "dock": [ + "0-1" + ], + "connected": [ + "card2-DP-3" + ], + "active_modes": [ + { + "connector": "DP-3", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ], + "display_query_error": null + }, + "result": "active-mode-observed", + "physical_picture": "requires owner confirmation; not measured by polling", + "limits": "One plug cycle; detection-to-state timing, not physical insertion-to-visible-image. Poll/query latency applies; no driver/parameter/mode changes, no USB functional/suspend/recovery or repeated stability qualification." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/rear-left-picture-confirmed.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/rear-left-picture-confirmed.json new file mode 100644 index 000000000..4ef61fe4c --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/rear-left-picture-confirmed.json @@ -0,0 +1,45 @@ +{ + "schema": 1, + "recorded_at": "2026-10-21T13:53:54.194469+00:00", + "boot_id": "38b8049d-918a-4901-9441-17673d8a5d50", + "uptime_s": 712.87, + "physical_port": "rear-left nearest hinge", + "owner_confirmation": "Dock picture now visible after earlier no-picture report.", + "active_monitors": [ + { + "connector": "eDP-1", + "width": 3024, + "height": 1964, + "refresh_hz": 120.0 + }, + { + "connector": "DP-1", + "width": 1920, + "height": 1080, + "refresh_hz": 60.0 + } + ], + "thunderbolt": { + "domain0": { + "device_name": null, + "vendor_name": null, + "authorized": null + }, + "0-0": { + "device_name": "iOS", + "vendor_name": "Apple Inc.", + "authorized": "1" + }, + "0-1": { + "device_name": "WD22TB4 Thunderbolt Dock", + "vendor_name": "Dell", + "authorized": "1" + }, + "0-0:1.1": { + "device_name": null, + "vendor_name": null, + "authorized": null + } + }, + "limits": "Owner-confirmed physical port and current mode snapshot; elapsed training time and cause of earlier delay not isolated. No repeat stability/suspend/recovery claim." +} diff --git a/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/right-owner-confirmation.json b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/right-owner-confirmation.json new file mode 100644 index 000000000..d7972f057 --- /dev/null +++ b/mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/right-owner-confirmation.json @@ -0,0 +1,11 @@ +{ + "recorded_at": "2026-10-21T13:57:54.661306+00:00", + "physical_port": "right", + "owner_confirmation": "Dock picture and input work", + "typec_partners": { + "port3-partner": "/sys/devices/platform/soc/39b040000.i2c/i2c-0/0-003b/typec/port3/port3-partner" + }, + "dock_sysfs_paths": { + "0-1": "/sys/devices/platform/soc/f01ac0000.cio/f01f00000.nhi/domain0/0-0/0-1" + } +} diff --git a/mseries/aurora/hardware-tests/README.md b/mseries/aurora/hardware-tests/README.md index 3bb5cb4d2..38ebe74e1 100644 --- a/mseries/aurora/hardware-tests/README.md +++ b/mseries/aurora/hardware-tests/README.md @@ -1,6 +1,14 @@ # Hardware test receipts and release freezes +## October 21 follow-up: all three dock ports show picture + +Owner's later rear-left confirmation supersedes initial failure. Front-left, +rear-left and right each show external 1080p/60. Pilot one-cycle timings≈4.5s +partner-detection→desktop per port; 0.5 s polling and corrections disclosed. +[Follow-up](2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). +Source/kernel unchanged; no stable/recovery/suspend/power qualification follows. + ## October 21: first 7.2 wip2 boot, incomplete qualification [Report](2026-10-21-j314s-wip2-first-boot/REPORT.md): live Image/build ID, diff --git a/mseries/aurora/unified72/BOOT-TRIAL.md b/mseries/aurora/unified72/BOOT-TRIAL.md index e4ef34262..835e62973 100644 --- a/mseries/aurora/unified72/BOOT-TRIAL.md +++ b/mseries/aurora/unified72/BOOT-TRIAL.md @@ -1,5 +1,14 @@ # J314S wip2: first boot recorded, qualification incomplete +## Latest per-port follow-up + +All three ports now show a dock picture, owner-confirmed; initial rear-left blank +screen resolved after delay. [Exact follow-up and pilot timings](../hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md) +supersedes that initial failure. One-shot remains consumed; default `.20`. +Reuse these completed scoped checks. Actual recovery/suspend/power acceptance is +still open. Detailed display lifecycle logging is a separate follow-up, with +current working debounce/recovery behavior preserved. + ## Actual first-boot state, October 21, 2026 Wip2 booted and matched its audited Image/live build ID. Scoped five-minute diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index 6fd3e1bd3..e94fb491e 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -2,19 +2,18 @@ ## Current host state — October 21, 2026 -**Wip2 has booted.** Exact live Image identity/package/modules and unchanged -legacy shared payload verified. Scoped boot/PMP/idle, real M1 Pro GPU -shader/readback and 1 MiB fsync pass. Owner confirms internal display/input and -front-left dock picture, slow to appear; hinge-side left picture fails and right -port is untested. External 1080p/60 is observed. No all-port/stable/suspend/power -qualification. One-shot is consumed; `.20` remains persistent default. -[First-boot report](../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md), -[summary](first-boot-2026-10-21.json). Next: matched port acceptance and actual -`.20` recovery. Do not re-arm automatically. - -Both repeat CI matrix jobs passed run 39601423970; installed package remains the -independently audited original successful native-build artifact. Historical -[arming receipt](one-shot-armed-2026-10-21.json) precedes this actual boot. +**Wip2 has booted and all three USB-C ports show a dock picture.** Later +rear-left recovery supersedes the initial blank-screen report. Real M1 Pro +shader/readback, 1 MiB fsync, boot/PMP/idle and internal input pass within their +recorded scope. External 1080p/60 on each port. One-shot consumed; `.20` remains +persistent default. No stable promotion, suspend/recovery or energy claim. + +[All-port follow-up and pilot timings](../hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md): +about 4.5 s partner-detection→active desktop per port, one cycle each with 0.5 s polling; +label/boundary corrections disclosed, not physical insertion→visible-pixel latency. +[First-boot history](../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md), +[upstream review](UPSTREAM-CANDIDATES.md). Both repeat native CI matrix jobs pass; +kernel build inputs unchanged since tested b213999. No automatic re-arm. ## Merged source refresh — October 21, 2026 diff --git a/mseries/aurora/unified72/UPSTREAM-CANDIDATES.md b/mseries/aurora/unified72/UPSTREAM-CANDIDATES.md new file mode 100644 index 000000000..93eaef0d1 --- /dev/null +++ b/mseries/aurora/unified72/UPSTREAM-CANDIDATES.md @@ -0,0 +1,56 @@ +# Upstream contribution review — October 21, 2026 + +## Scope and canonical repositories + +Current development is [omacom/linux-aurora](https://github.com/omacom/linux-aurora). +The personal [iconidentify/aurora-linux](https://github.com/iconidentify/aurora-linux) +repository is archived and explicitly points development there. `aurora-wip` is +a branch, not a separate current `iconidentify/aurora-wip` repository. +Reviewed immutable refs: integration/aurora `faed71028380b969ed9c943e3ab41d99ca3b9c1a`, +aurora-wip `4ec597a7427da2cf03c899406b7997c875d4a9fb`. +[Machine receipt](upstream-review-2026-10-21.json). + +## No new dock kernel patch to submit + +The tested wip2 Image is Aurora's already-merged 7.2 source with our resolved +recipe config and no active local kernel patch. Actual three-port picture is +useful J314S qualification evidence, not a newly authored driver fix. Preserve +that attribution. The boot shared legacy DT strategy and Debian package/Arch +unlock/GRUB receipt tooling are distribution integration, not automatically a +Linux kernel patch. A hardware report could be useful after review; none sent. + +## Concrete candidate: stale DART host fixture + +Current integration's [host harness](https://github.com/omacom/linux-aurora/blob/faed71028380b969ed9c943e3ab41d99ca3b9c1a/tools/asahi/apple-dart-range-tests.py) +and [production driver](https://github.com/omacom/linux-aurora/blob/faed71028380b969ed9c943e3ab41d99ca3b9c1a/drivers/iommu/apple-dart.c) +are byte-identical to our earlier pinned exercised files. The fixture is stale +against the current driver API: missing type/firmware flags, sync signature and +drain-on-error expectation. Retained [host-only patch](boot-preflight-2026-10-21/dart-range-host-fixture.patch) +adapts it and adds firmware mirror/handoff and two-stream error controls. +Production driver unchanged. `git apply --check` passes on current immutable +integration; existing 12 passing controls can be reused because both source +hashes match. Original failed compilation is retained. + +An older `fix/migration-test-fixtures` branch contains partial adaptation, but +that head belongs to merged [PR #64](https://github.com/omacom/linux-aurora/pull/64) +from October 11, not an equivalent current fix: it has `fw_mirror` and the +three-argument sync but lacks later `u32`/`fw_handoff` and error-drain changes. +The reviewed aurora-wip ref lacks this harness path. Scoped PR searches for +DART/range-tests/flush did not reveal the same proposal; this is not exhaustive +proof about every contributor branch. + +**Recommendation:** prepare a small host-fixture patch against integration, +reuse precise source-bound controls and retain licensing/author attribution. +Do not claim a runtime DART/dock fix. No upstream PR, issue or comment was sent. + +## Possible later userspace diagnostic + +`mseries/hardware/dock-port-timing.py` and its 5 state-machine tests provide +read-only per-port partner/dock/DRM/compositor timing. It currently depends on +our hardware receipt and Mutter DisplayConfig and measures detected state, +not visible pixels. Generic packaging/decoupling, repeated trials and stable +stage definitions are needed before proposing it to upstream diagnostic tools. +The live samples and raw executed runner are retained with the hardware report. + +Native GTK/Granite focus, Rust Pantheon attention and compositor lifecycle logs +belong to elementaryOS_MSeries, rather than Aurora's kernel tree. diff --git a/mseries/aurora/unified72/first-boot-2026-10-21.json b/mseries/aurora/unified72/first-boot-2026-10-21.json index 31a3f7746..aa7094a23 100644 --- a/mseries/aurora/unified72/first-boot-2026-10-21.json +++ b/mseries/aurora/unified72/first-boot-2026-10-21.json @@ -1,6 +1,6 @@ { "schema": 1, - "status": "scoped boot/internal display/input/GPU/fsync and front-left dock picture pass; rear-left picture fails; incomplete qualification", + "status": "scoped boot/internal input/GPU/fsync and all-three-port dock picture pass; delayed image recovery, incomplete qualification", "release": "7.2.10-elementary-aurora72-wip2", "one_shot_consumed": true, "next_entry": "", @@ -8,5 +8,7 @@ "stable_promoted": false, "report": "../hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md", "summary": "../hardware-tests/2026-10-21-j314s-wip2-first-boot/summary.json", - "recovery_boot_qualified": false + "recovery_boot_qualified": false, + "all_three_ports_owner_picture_confirmed": true, + "latest_followup": "../hardware-tests/2026-10-21-j314s-wip2-first-boot/all-ports-followup.json" } diff --git a/mseries/aurora/unified72/upstream-review-2026-10-21.json b/mseries/aurora/unified72/upstream-review-2026-10-21.json new file mode 100644 index 000000000..549a89816 --- /dev/null +++ b/mseries/aurora/unified72/upstream-review-2026-10-21.json @@ -0,0 +1,52 @@ +{ + "repo": "omacom/linux-aurora", + "integration": { + "ref": "faed71028380b969ed9c943e3ab41d99ca3b9c1a", + "fixture_git_blob": "6fa006381918cca2873a50a9ad029c86a19daa5b", + "driver_git_blob": "73af536772fc208b4e9167c6620a9806ddcd9574" + }, + "wip": { + "ref": "4ec597a7427da2cf03c899406b7997c875d4a9fb", + "fixture_at_reviewed_path": "absent" + }, + "historical_partial_fixture": { + "ref": "833de07062944ae15213677cbb6d23149835a5ec", + "pr": [ + { + "number": 64, + "url": "https://github.com/omacom/linux-aurora/pull/64", + "merged_at": "2026-10-11T18:32:21Z" + } + ] + }, + "retired_personal_repo": { + "repo": "iconidentify/aurora-linux", + "archived": true, + "development_moved_to": "omacom/linux-aurora" + }, + "scope": "Pinned integration and aurora-wip, plus historical fixture branch and bounded PR searches. No upstream message, issue or PR sent.", + "schema": 1, + "recorded_at": "2026-10-21T14:04:42.047491+00:00", + "active_kernel_patches_applied": [], + "kernel_upstream_candidate": false, + "fixture_candidate": { + "path": "tools/asahi/apple-dart-range-tests.py", + "current_integration_harness_sha256": "67c7298886807cc4ba0b8d007d0450d11902d31a10c3f2806eabda31ab6c0149", + "current_integration_driver_sha256": "5c3cf935b6b70c6185153159df162b4b14cbe4c0e0f4e5a2553a7690ef3651dc", + "same_as_previously_exercised_source": true, + "patch": "boot-preflight-2026-10-21/dart-range-host-fixture.patch", + "check": "git apply --check passed against immutable current integration fixture", + "host_controls": 12, + "reused_receipt": "boot-preflight-2026-10-21/dart-range-ported.json", + "production_source_modified": false, + "historical_partial_adaptation": "Prior fixture branch has fw_mirror/three-argument sync, but lacks current u32/fw_handoff and changed drain-on-error expectation. It is an older merged installer branch, not a current equivalent fix." + }, + "port_tool_candidate": "Potential generic userspace diagnostic, currently coupled to this repo qualification receipt and Mutter DisplayConfig. Needs decoupling/packaging before an upstream proposal.", + "distribution_specific": [ + "Debian payload/co-install naming", + "Arch-unlock-preserving initramfs preparation", + "GRUB fallback/staging receipts", + "elementary desktop qualification and collector glue" + ], + "bounded_duplicate_search": "Scoped PR queries dart/range-tests/flush found no matching current host-fixture proposal. This does not prove absence from all contributor branches." +} diff --git a/mseries/fairydust/usb4/PRIMARY-GOAL.md b/mseries/fairydust/usb4/PRIMARY-GOAL.md index 2928c7a22..df861dc7f 100644 --- a/mseries/fairydust/usb4/PRIMARY-GOAL.md +++ b/mseries/fairydust/usb4/PRIMARY-GOAL.md @@ -7,6 +7,15 @@ Everything in `mseries/fairydust/usb4/` serves this goal. Every patch, experiment, boot and doc change must say which gate below it moves, or why it is needed to move one. Work that moves no gate is not dock-video work. +## Latest October 21 follow-up: picture on all 3 USB-C ports + +Owner later confirms rear-left/nearest-hinge picture, superseding its initial +blank screen. Front-left and right also work. Each external mode observed at +1080p/60; one-cycle polling≈4.5s partner→desktop with corrections disclosed. +[Current follow-up](../../aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). +Scoped G5 picture across three physical ports; long-run/repeated/recovery/suspend +and full rate/lane qualification remain open. No new Fairydust/kernel patch. + ## October 21 Aurora 7.2 trial update Scoped **G5 picture** on the reported front-left USB-C port (closest to owner, diff --git a/mseries/fairydust/usb4/STATE-OF-PLAY.md b/mseries/fairydust/usb4/STATE-OF-PLAY.md index d99c11f68..21838849a 100644 --- a/mseries/fairydust/usb4/STATE-OF-PLAY.md +++ b/mseries/fairydust/usb4/STATE-OF-PLAY.md @@ -1,11 +1,20 @@ # WD22TB4 dock video — state of play (read first) > **PRIMARY GOAL:** a picture on the WD22TB4 dock's HDMI from elementary OS on this j314s. -> Current Aurora trial reaches a scoped owner-confirmed **G5 picture on front-left**. -> Rear-left dock picture fails; all-port, long-run and recovery acceptance remain open. +> Current Aurora trial has scoped owner-confirmed **G5 picture on all three USB-C ports**. +> Initial rear-left delay resolved; long-run and recovery acceptance remain open. > Historical Fairydust G3 failures below describe different payloads. > Gates, prior art and rules: [PRIMARY-GOAL.md](PRIMARY-GOAL.md). +## Latest October 21 follow-up: picture on all 3 USB-C ports + +Owner later confirms rear-left/nearest-hinge picture, superseding its initial +blank screen. Front-left and right also work. Each external mode observed at +1080p/60; one-cycle polling≈4.5s partner→desktop with corrections disclosed. +[Current follow-up](../../aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md). +Scoped G5 picture across three physical ports; long-run/repeated/recovery/suspend +and full rate/lane qualification remain open. No new Fairydust/kernel patch. + ## October 21: Aurora 7.2 wip2 attended boot, physical port split Owner confirms WD22TB4 dock picture on the left port closest to the owner/front, diff --git a/mseries/hardware/dock-port-timing.py b/mseries/hardware/dock-port-timing.py new file mode 100644 index 000000000..3ca5f9bc0 --- /dev/null +++ b/mseries/hardware/dock-port-timing.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Poll a human-labelled dock plug cycle without changing hardware state. + +Timing starts at the first observed new Type-C partner (or fallback discovery), +not physical cable insertion. Compositor activation is not visible pixels. +""" +import argparse +from datetime import datetime, timezone +import json +import os +from pathlib import Path +import sys +import time + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / 'aurora')) +import qualification as q + + +def snapshot(): + from gi.repository import Gio + dock = [p.name for p in Path('/sys/bus/thunderbolt/devices').glob('*') + if 'WD22TB4' in (q.read(p / 'device_name') or '')] + connected = sorted(p.name for p in Path('/sys/class/drm').glob('card*-*') + if not p.name.split('-', 1)[-1].startswith(('eDP', 'DSI', 'LVDS')) + and q.read(p / 'status') == 'connected') + modes, error = [], None + try: + bus = Gio.bus_get_sync(Gio.BusType.SESSION, None) + state = bus.call_sync('org.gnome.Mutter.DisplayConfig', '/org/gnome/Mutter/DisplayConfig', + 'org.gnome.Mutter.DisplayConfig', 'GetCurrentState', None, None, + Gio.DBusCallFlags.NONE, 700, None).unpack() + modes = [{'connector': spec[0], 'width': w, 'height': h, 'refresh_hz': hz} + for spec, options, props in state[1] + for name, w, h, hz, preferred, scales, flags in options + if flags.get('is-current') and not spec[0].startswith(('eDP', 'DSI', 'LVDS'))] + except Exception as exc: + error = type(exc).__name__ + return {'partners': sorted(p.name for p in Path('/sys/class/typec').glob('port*-partner')), + 'dock': sorted(dock), 'connected': connected, 'active_modes': modes, + 'display_query_error': error} + + +class Tracker: + def __init__(self, detached_s=2, stable_s=3): + self.detached_s, self.stable_s = detached_s, stable_s + self.detached_since = self.active_since = None + self.baseline = self.start = None + self.detached_partners = None + self.origin = None + self.first = {} + self.complete = False + + def observe(self, now, state): + clear = not state['dock'] and not state['connected'] and not state['active_modes'] + if self.baseline is None: + if not clear: + self.detached_since = None + return 'wait-detach' + if self.detached_since is None: + self.detached_since = now + self.detached_partners = set(state['partners']) + if now - self.detached_since < self.detached_s: + return 'wait-detach' + # Preserve the detached partner set. A new partner can arrive on + # the same poll that completes the clean-detach window. + self.baseline = self.detached_partners + new_partner = bool(set(state['partners']) - self.baseline) + stages = {'partner_detected': new_partner, 'dock_enumerated': bool(state['dock']), + 'monitor_connected': bool(state['connected']), 'compositor_active': bool(state['active_modes'])} + if self.start is None: + if not any(stages.values()): + return 'ready-for-plug' + self.start = now + self.origin = next(k for k, v in stages.items() if v) + for label, present in stages.items(): + if present and label not in self.first: + self.first[label] = round(now - self.start, 3) + if state['active_modes'] and state['dock']: + if self.active_since is None: + self.active_since = now + self.complete = now - self.active_since >= self.stable_s + else: + self.active_since = None + return 'complete' if self.complete else 'waiting-for-active-mode' + + +def run(args): + os.umask(0o077) + if args.output.exists(): + raise ValueError('preserve prior evidence: choose a fresh output directory') + if not 0.2 <= args.interval <= 2 or not 10 <= args.timeout <= 600: + raise ValueError('interval 0.2..2 seconds and timeout 10..600 required') + record = json.loads(args.receipt.read_text()) + identity = q.validate_receipt(record) + boot_id = q.read('/proc/sys/kernel/random/boot_id') + if boot_id != record['boot_id'] or q.read('/proc/sys/kernel/osrelease') != identity['kernel_release']: + raise ValueError('running boot differs from supplied qualified-identity receipt') + args.output.mkdir(parents=True, mode=0o700) + tracker = Tracker() + started = time.monotonic() + last = phase = None + events = [] + last_state = {} + print('WAITING: unplug dock, hold detached at least 5 seconds, then plug into ' + args.port, flush=True) + with (args.output / 'events.jsonl').open('x') as stream: + while time.monotonic() - started < args.timeout: + before = time.monotonic() + if q.read('/proc/sys/kernel/random/boot_id') != boot_id: + raise ValueError('boot changed') + state = snapshot() + observed = time.monotonic() + step = tracker.observe(observed, state) + if state != last or step != phase: + event = {'elapsed_s': round(observed - started, 3), 'query_duration_s': round(observed - before, 3), + 'phase': step, 'state': state} + events.append(event) + stream.write(json.dumps(event) + '\n'); stream.flush() + if step != phase: + print(step, tracker.first, flush=True) + last, phase, last_state = state, step, state + if tracker.complete: + break + time.sleep(max(0, args.interval - (time.monotonic() - before))) + result = {'schema': 1, 'kind': 'dock-port-discovery-timing', 'recorded_at': datetime.now(timezone.utc).isoformat(), + 'physical_port_owner_label': args.port, 'boot_id': boot_id, 'identity_sha256': record['identity_sha256'], + 'kernel_release': identity['kernel_release'], 'source_receipt_sha256': q.digest(args.receipt), + 'runner_sha256': q.digest(__file__), 'requested_poll_interval_s': args.interval, + 'state_changes': len(events), 'timing_origin': tracker.origin, + 'first_observed_stage_seconds': tracker.first, + 'active_mode_stable_at_finish': tracker.complete, 'final_state': last_state, + 'result': 'active-mode-observed' if tracker.complete else 'timeout', + 'physical_picture': 'requires owner confirmation; not measured by polling', + 'limits': 'One plug cycle; detection-to-state timing, not physical insertion-to-visible-image. Poll/query latency applies; no driver/parameter/mode changes, no USB functional/suspend/recovery or repeated stability qualification.'} + q.write_new(args.output / 'result.json', result) + print(json.dumps(result, indent=2), flush=True) + return result + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--port', required=True, choices=['front-left', 'rear-left', 'right']) + parser.add_argument('--receipt', type=Path, required=True) + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--interval', type=float, default=.5) + parser.add_argument('--timeout', type=float, default=240) + run(parser.parse_args()) diff --git a/mseries/hardware/test_dock_port_timing.py b/mseries/hardware/test_dock_port_timing.py new file mode 100644 index 000000000..f1ad3b950 --- /dev/null +++ b/mseries/hardware/test_dock_port_timing.py @@ -0,0 +1,54 @@ +import importlib.util +from pathlib import Path +import unittest + +spec = importlib.util.spec_from_file_location('port_timing', Path(__file__).with_name('dock-port-timing.py')) +m = importlib.util.module_from_spec(spec) +spec.loader.exec_module(m) + + +def state(partners=(), dock=(), connected=(), active=()): + return {'partners': list(partners), 'dock': list(dock), 'connected': list(connected), 'active_modes': list(active)} + + +class TimingTests(unittest.TestCase): + def test_requires_clean_detach_before_timing(self): + t = m.Tracker() + self.assertEqual(t.observe(0, state(dock=['dock'])), 'wait-detach') + self.assertEqual(t.observe(1, state()), 'wait-detach') + self.assertEqual(t.observe(3, state()), 'ready-for-plug') + self.assertIsNone(t.start) + + def test_partner_and_later_stages_share_one_monotonic_origin(self): + t = m.Tracker() + t.observe(0, state());t.observe(2, state()) + t.observe(5, state(partners=['p'])) + t.observe(8, state(partners=['p'], dock=['d'])) + t.observe(10, state(partners=['p'], dock=['d'], connected=['DP'])) + t.observe(12, state(partners=['p'], dock=['d'], connected=['DP'], active=['mode'])) + self.assertEqual(t.first, {'partner_detected': 0, 'dock_enumerated': 3, 'monitor_connected': 5, 'compositor_active': 7}) + self.assertFalse(t.complete) + self.assertEqual(t.observe(15, state(partners=['p'], dock=['d'], connected=['DP'], active=['mode'])), 'complete') + + def test_partner_arriving_on_baseline_completion_is_not_swallowed(self): + t = m.Tracker() + t.observe(0, state()) + self.assertEqual(t.observe(2, state(partners=['new'])), 'waiting-for-active-mode') + self.assertEqual(t.origin, 'partner_detected') + self.assertEqual(t.first['partner_detected'], 0) + + def test_existing_partner_does_not_start_a_trial(self): + t = m.Tracker();t.observe(0, state(partners=['other']));t.observe(2, state(partners=['other'])) + self.assertEqual(t.observe(4, state(partners=['other'])), 'ready-for-plug') + self.assertIsNone(t.start) + + def test_fallback_origin_is_explicit_and_active_stability_resets(self): + t = m.Tracker();t.observe(0, state());t.observe(2, state()) + t.observe(4, state(dock=['d'], active=['m']));self.assertEqual(t.origin, 'dock_enumerated') + t.observe(6, state(dock=['d']));self.assertIsNone(t.active_since) + t.observe(7, state(dock=['d'], active=['m']));self.assertFalse(t.complete) + t.observe(10, state(dock=['d'], active=['m']));self.assertTrue(t.complete) + + +if __name__ == '__main__': + unittest.main()