Skip to content

tests: asahi: scan default T6030 trees for PMP compatibles - #206

Merged
maralcbr merged 1 commit into
integration/aurorafrom
tests/t6030-pmp-compatible-scan-20261024
Oct 28, 2026
Merged

maralcbr merged 1 commit into
integration/aurorafrom
tests/t6030-pmp-compatible-scan-20261024

Conversation

@chriskearney

Copy link
Copy Markdown

Implements Marcelo’s follow-up on #202.

A renamed or nested static PMP node can pass the existing default-profile test while still making the display gate refuse startup. Scan the entire tree for apple,t6000-pmp-v2 and apple,t6030-pmp-v2-report, including disabled nodes and every entry in a compatible list. Matching is case-insensitive, as in the OF lookup. The existing static-profile node and alias checks remain.

Validation:

  • J514S/J516S default and static profiles: 4/4 pass with the kernel’s own dtc; all four DTBs are byte-identical to the pre-change outputs.
  • Eight injected collisions that the old checker accepted are refused after successful compilation: renamed controllers/reports outside /soc, and nested disabled nodes with fallback compatibles, including mixed case.
  • Two unrelated/lookalike-compatible controls remain accepted.
  • checkpatch --strict: no findings on the code diff.

This is test-only hardening. It does not claim the separate final-artifact cold-boot or display-disabled hardware qualification requested before release. Implementation and validation assisted by Codex.

The display gate refuses any existing PMP or report compatible anywhere
in the tree, including disabled nodes. The DT control only checks four
names under /soc, so renamed or nested nodes can pass it and still block
the runtime PMP overlay.

Walk the whole default-profile tree and reject either compatible in any
entry of each compatible string list. Keep the existing static-profile
node and alias checks. Compare case-insensitively, as the OF lookup does.

Link: #202 (comment)
Signed-off-by: Chris Kearney <303316+chriskearney@users.noreply.github.com>
Generated-by: LLM
@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] This test-only change appears safe to merge.

Summary

Adds a whole-tree check for static PMP compatibles in the default T6030 device trees.

  • Default T6030 tree checks scan every node for PMP compatibles.

Reviews (1) · Last reviewed commit: "tests: asahi: scan default T6030 trees f..." · Reviewed by Greptile

@maralcbr maralcbr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chriskearney looks good. check_default_compatibles() (t6030-pmp-dt-tests.py:21-43) walks every node from /, splits each compatible list on NUL, and lowercases before it matches. That's how the gate looks for a PMP node too: the whole tree, disabled nodes included, case-insensitive like of_compat_cmp(). It runs only for the default profile. The static profile still expects its four nodes, and the alias check hasn't changed.

Small things I checked:

  • On a node with no compatible, fdtget -d "" prints a blank line, so raw.split() is empty and the node passes.
  • The path join handles the root ("/".rstrip("/") + "/" + child).
  • It's two fdtget calls for every node it visits, over two default-profile DTBs. That's fine for a host test.

Approving.

@maralcbr
maralcbr added this pull request to the merge queue Oct 28, 2026
Merged via the queue into integration/aurora with commit 63a0580 Oct 28, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants