Openamp power domains with latest - #833
Conversation
zeddii
left a comment
There was a problem hiding this comment.
Confirmed the changes and the tests cover them. One thing I'd like in before this merges, then I'm happy with it.
Please capture this in a comment: the direct fallback (accepting pd_id when it is already a legacy key) is only safe because the two key spaces don't overlap — SCMI is 0x44–0x61, legacy is 0xf–0x12 plus the 0x1831xxxx block. If a future SCMI ID ever lands in the legacy range, that path silently selects the wrong address descriptor instead of erroring. Worth stating next to the table, since nothing enforces it.
Two notes, neither blocking:
- Renaming
memory_nodestolegacy_memory_nodesis right, and the only in-tree consumer is updated here. It is reachable throughimport *though, so anything out-of-tree referencing it breaks on upgrade — release-note material rather than a code change. - The relation failure becoming fatal matches what you did for the Libmetal output path. It does mean a build that previously completed with a warning and no remoteproc nodes now fails outright. That is the point, but it will surface as a new failure for anyone who was unknowingly relying on the old behaviour.
The 18 SCMI ID values themselves I can't check from here — the table resolves cleanly, but the IDs rest on your hardware knowledge.
Versal2 now describes RPU cores and TCM banks with SCMI power-domain IDs. The remoteproc path used those IDs to index an address table keyed by legacy firmware IDs, causing generation to fail with a KeyError. Translate supported Versal2 SCMI TCM IDs through the common mapping table while preserving SCMI tuples in generated remoteproc nodes. Keep direct legacy power-domain IDs and xlnx,power-domain as fallback paths for existing ZynqMP, Versal, and Versal Net inputs. Rename the common address table from memory_nodes to legacy_memory_nodes to make its key space explicit. The only in-tree consumer is updated here. Because the symbol is reachable through wildcard imports, out-of-tree users referencing memory_nodes must migrate to the new name. Validate missing or unsupported IDs with explicit diagnostics. Add coverage for SCMI-only, legacy, and transitional device trees. Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
The OpenAMP assist logs relation-processing errors but returns False to the generic dispatcher. The dispatcher warns and still exits zero, so builds can accept output without the requested remoteproc nodes. Exit with status 1 at the OpenAMP entry point after relation processing fails. Keep lower-level helpers returning False and add coverage for the fatal conversion. Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
9b9159c to
7c767ef
Compare
|
@zeddii thanks for review!! i have added comments and updated commit messages to answer your Qs and comments - thanks again |
zeddii
left a comment
There was a problem hiding this comment.
All in — the comment covers it, and the "reassess whenever SCMI IDs are extended" line is a better ending than what I asked for, since it tells the next person what to do rather than just what is true. Putting the rename caveat in the commit message is the right home for it too.
Re-checked the table on the new head: all 18 targets resolve, no key-space overlap. Good to merge.
make sure openamp workflows are working with latest system device trees - regarding power-domains property update
also harden err handling for such cases
and add sanity to left shift catching SDT repo changes that cause breakage