Skip to content
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

Fixes after running SEC vs cv32e40s with SECURE=0. #952

Conversation

silabs-oysteink
Copy link
Contributor

In PR #498 on cv32e40s there was a list of required changes to the e40x controller to get to a SEC clean state.
This PR addresses two changes to align the two cores. The first bullet below is just a refactor and is SEC clean.
The second is not SEC clean, and the reasoning here is that without this change the e40x can kill the pipeline for debug or interrupts before a CSR flush handshake is completed (before the jump to the instruction after the CSR is performed).

  • Refactored branch_in_ex / branch_taken ex. SEC clean.
  • Not allowing async debug, interrupts or NMI when csr_flush_ack_q == 1. NOT SEC clean.

- Refactored branch_in_ex / branch_taken ex. SEC clean.
- Not allowing async debug, interrupts or NMI when csr_flush_ack_q == 1. NOT SEC clean.

Signed-off-by: Oystein Knauserud <Oystein.Knauserud@silabs.com>
@silabs-oysteink silabs-oysteink added the Component:RTL For issues in the RTL (e.g. for files in the rtl directory) label Sep 15, 2023
@silabs-oysteink silabs-oysteink changed the title Fixes after running SEC vs cv32e40s with SEUCRE=0. Fixes after running SEC vs cv32e40s with SECURE=0. Sep 15, 2023
@Silabs-ArjanB Silabs-ArjanB merged commit b54d605 into openhwgroup:master Sep 18, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants