Clarifying supervisor execution environment requirements.#96
Clarifying supervisor execution environment requirements.#96jones-drew merged 3 commits intoriscv-non-isa:mainfrom
Conversation
The profile status of implemented extensions is irrelevant.
The original was too focused on CSR fields widths, which is a subset of CSR legal values. And we're not even limiting the definition to CSRs, as cache block sizes are mentioned among the examples.
There was a problem hiding this comment.
Pull Request Overview
This PR clarifies the requirements for supervisor execution environment (SEE) by consolidating and refactoring the rules for RISC-V application processor harts. The changes aim to make the concept of "indistinguishable from a software execution viewpoint" clearer while acknowledging the inherent vagueness of this requirement.
- Merged RVA_040 and RVA_050 into a single, more comprehensive rule
- Expanded the explanation to cover ISA extensions, non-ISA extensions, memory address spaces, and allowable differences
- Added explicit acknowledgment that the rule is intentionally vague but captures the spirit of task migration requirements
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
server_platform_requirements.adoc
Outdated
| The harts may support different power and performance characteristics. | ||
| The harts may have different microarchitecture identifiers (mvendorid, | ||
| marchid, and mimpid), and any other identifiers. | ||
| This rule is vague on purpose, and tries to capture the spirit of the |
There was a problem hiding this comment.
[nitpick] The phrase 'vague on purpose' in formal specification documentation may confuse readers. Consider rephrasing to something like 'This rule is intentionally high-level' or 'This rule provides general guidance' to maintain professional tone while acknowledging the broad nature of the requirement.
| This rule is vague on purpose, and tries to capture the spirit of the | |
| This rule is intentionally high-level and is intended to capture the spirit of the |
There was a problem hiding this comment.
| This rule is vague on purpose, and tries to capture the spirit of the | |
| This rule addresses the following goal: |
RVA_050 is a strict superset of RVA_040, which created confusion about the purpose of RVA_040. Merge both of them into RVA_040, and expand the non-normative notes to cover cases from both.
42c1cae to
b7d0aeb
Compare
The beef of this series is the third patch. The general goal is to make SEE a bit clearer, but the tools to model what is
indistinguishable from a software execution viewpointare not really in place, so the rule leaves most of the actual requirements to reader's imagination (and non-normative text).