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

Various Fixes #25

Merged
merged 3 commits into from
Jul 2, 2024
Merged

Various Fixes #25

merged 3 commits into from
Jul 2, 2024

Conversation

GregAC
Copy link

@GregAC GregAC commented Jul 1, 2024

These accompany fixes in the Ibex repository: lowRISC/ibex#2183

Cosim needs to make direct use of this to check if certain memory
accesses would be allowable under PMP.
This check does not make sense for our cosimulation environment (the
spike debug module is not in use) and leads to false failures when
randomly generated programs want to access the spike debug memory
address range.
When Ibex is executing an instruction it is possible for MIP to change
whilst that instruction is stalled in the ID/EX stage. This results in
the MIP observed by a CSR instruction differing from the MIP that
decides whether or not that instruction may be interrupted which leads
to model mis-matches.

This adds a new MIP 'pre_val' which is the MIP value used to determine
whether or not an interrupt is taken. The existing value is the one
observed by CSR instructions. Employing this mechanism avoids the
mis-matches described above.
@GregAC GregAC changed the title Cosim fixes2 Various Fixes Jul 1, 2024
@GregAC GregAC merged commit 39612f9 into lowRISC:ibex_cosim Jul 2, 2024
@GregAC GregAC deleted the cosim_fixes2 branch July 2, 2024 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants