-
Notifications
You must be signed in to change notification settings - Fork 33
Complete EC field #60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: tanyan <kisumtan93@gmail.com>
Signed-off-by: tanyan <kisumtan93@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR completes the Exception Class (EC) field definitions in the ESR_EL1 and ESR_EL2 registers according to the ARM Architecture Reference Manual. The changes expand the previously incomplete EC field enumerations from basic exception types to comprehensive lists covering all exception classes defined in the ARM architecture.
Key Changes
- Added missing exception codes including new architecture features (FEAT_MOPS, FEAT_GCS, FEAT_TME, FEAT_SME, etc.)
- Improved documentation for each EC value with clearer descriptions
- Added feature annotations (e.g., FEAT_AA32, FEAT_BTI, FEAT_SVE) to indicate architecture extension requirements
- Updated copyright year to 2025 and added new contributor
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 12 comments.
| File | Description |
|---|---|
| src/registers/esr_el2.rs | Expanded EC field from 21 to 32 exception codes, added comprehensive documentation and feature annotations for all exception classes |
| src/registers/esr_el1.rs | Expanded EC field from 21 to 28 exception codes, added documentation and feature annotations, though missing some entries that should be present |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| TrappedMCRorMRC2 = 0b00_0101, | ||
| /// Trapped LDC or STC access (FEAT_AA32) | ||
| TrappedLDCorSTC = 0b00_0110, | ||
| /// Access to SME, SVE, Advanced SIMD or floating-point functionality trapped |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also only available for FEAT_AA32.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will update, thanks for noticing!
Complete the EC fields in the ESR_EL1 and ESR_EL2 registers according to the ESR_EL1 and ESR_EL2 doc