Conversation
Signed-off-by: James Ball <jameball@qti.qualcomm.com>
Signed-off-by: James Ball <jameball@qti.qualcomm.com>
There was a problem hiding this comment.
Pull request overview
This PR extends the params tooling and schemas to support WARL/WLRL CSR definitions (csr_definitions) with richer selectors (legal-value lists, width-by-parameter, read-only mask/value), and updates HTML/JSON outputs and fixtures accordingly.
Changes:
- Add explicit impl-def-category → CSR category mapping and enhance fatal logging with stack traces.
- Implement CSR definition parsing/validation, output grouping by chapter + category, and HTML rendering for CSR fields/masks/width.
- Update schemas, README documentation, and test fixtures (YAML inputs + expected JSON/HTML/Asciidoc outputs) for the new CSR model.
Reviewed changes
Copilot reviewed 43 out of 43 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/shared_utils.py | Adds CSR category mapping helper; fatal now prints stack; improves infer_param_type_string naming fallback for CSRs. |
| tools/README.md | Documents CSR definition encoding, selector rules, and output behavior. |
| tools/create_params.py | Implements CSR parsing (selectors, reg/field names, ro-mask/value), category bucketing in HTML, and shared row rendering utilities. |
| tests/shared_utils/test_shared_utils.py | Updates fatal-output assertions to account for stack printing; updates infer-param error text. |
| tests/params/test-ch2.yaml | Updates test param definitions and replaces old CSR fixtures with new csr_definitions structure. |
| tests/params/test-ch1.yaml | Adds parameter needed for CSR width tests; adds a CSR definition using width. |
| tests/params/expected/test-params.json | Updates expected params JSON to new CSR structure (reg-name, field-name, category, selectors). |
| tests/params/expected/test-params.html | Updates expected HTML: CSR tables split by chapter/category and new CSR row formatting. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/test-ch2/ASIDLEN.adoc | Adds expected Asciidoc for new ASIDLEN parameter. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/test-ch2/all_params.adoc | Includes ASIDLEN in chapter “Two” reordered list. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/test-ch1/UINT_4TO8.adoc | Adds expected Asciidoc for new UINT_4TO8 parameter. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/test-ch1/all_params.adoc | Includes UINT_4TO8 in chapter “One” reordered list. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/all_params_by_chapter.adoc | Updates chapter counts due to added parameters. |
| tests/params/expected/test-param-table-variants/test-param-table-reordered/all_params_a_to_z.adoc | Updates global counts and includes for new parameters. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/test-ch2/ASIDLEN.adoc | Adds minimal-table Asciidoc for ASIDLEN. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/test-ch2/all_params.adoc | Includes ASIDLEN in minimal table chapter “Two”. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/test-ch1/UINT_4TO8.adoc | Adds minimal-table Asciidoc for UINT_4TO8. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/test-ch1/all_params.adoc | Includes UINT_4TO8 in minimal table chapter “One”. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/all_params_by_chapter.adoc | Updates minimal-table chapter counts. |
| tests/params/expected/test-param-table-variants/test-param-table-minimal/all_params_a_to_z.adoc | Updates minimal-table A–Z counts/includes. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/test-ch2/ASIDLEN.adoc | Adds full-default-table Asciidoc for ASIDLEN. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/test-ch2/all_params.adoc | Includes ASIDLEN in full-default chapter “Two”. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/test-ch1/UINT_4TO8.adoc | Adds full-default-table Asciidoc for UINT_4TO8. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/test-ch1/all_params.adoc | Includes UINT_4TO8 in full-default chapter “One”. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/all_params_by_chapter.adoc | Updates full-default chapter counts. |
| tests/params/expected/test-param-table-variants/test-param-table-full-default/all_params_a_to_z.adoc | Updates full-default A–Z counts/includes. |
| tests/params/expected/test-param-appendix-adoc-includes/test-ch2/ASIDLEN.adoc | Adds appendix-include Asciidoc for ASIDLEN. |
| tests/params/expected/test-param-appendix-adoc-includes/test-ch2/all_params.adoc | Includes ASIDLEN in appendix includes for chapter “Two”. |
| tests/params/expected/test-param-appendix-adoc-includes/test-ch1/UINT_4TO8.adoc | Adds appendix-include Asciidoc for UINT_4TO8. |
| tests/params/expected/test-param-appendix-adoc-includes/test-ch1/all_params.adoc | Includes UINT_4TO8 in appendix includes for chapter “One”. |
| tests/params/expected/test-param-appendix-adoc-includes/all_params_by_chapter.adoc | Updates appendix-by-chapter counts. |
| tests/params/expected/test-param-appendix-adoc-includes/all_params_a_to_z.adoc | Updates appendix A–Z counts/includes. |
| tests/norm-rule/test-ch2.yaml | Replaces old CSR impl-def fixtures with new CSR/CSR-field behaviors for the new tests. |
| tests/norm-rule/test-ch2.adoc | Updates normative-rule text/tags to match new CSR cases. |
| tests/norm-rule/test-ch1.yaml | Adds normative rules for UINT_4TO8 and SATP_ASID_WARL_ASIDLEN. |
| tests/norm-rule/test-ch1.adoc | Adds tag sections for UINT_4TO8 and SATP_ASID_WARL_ASIDLEN. |
| tests/norm-rule/expected/test-norm-rules.json | Updates expected normative rules JSON for newly added/renamed CSR-related rules. |
| tests/norm-rule/expected/test-norm-rules.html | Updates expected HTML for normative rules and impl-def category counts/listings. |
| tests/norm-rule/expected/test-ch2-norm-tags.json | Updates expected tag outputs for chapter 2 CSR tags. |
| tests/norm-rule/expected/test-ch1-norm-tags.json | Updates expected tag outputs for chapter 1 additions. |
| schemas/params-schema.json | Updates params output schema for new CSR object shape (reg-name, field-name, category, selectors). |
| schemas/param-defs-schema.json | Updates param-def YAML schema to support csr_definitions with selectors and reg/field naming. |
| schemas/param-common-schema.json | Adds csrCategory, redefines csrType to be int-enum lists, and introduces multi-base scalar modeling + CSR name patterns. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@james-ball-qualcomm I've opened a new pull request, #228, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: James Ball <jameball@qti.qualcomm.com>
|
@james-ball-qualcomm I've opened a new pull request, #229, to work on those changes. Once the pull request is ready, I'll request review from you. |
Signed-off-by: James Ball <jameball@qti.qualcomm.com>
d8f50ce to
2635fe7
Compare
No description provided.