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

Update VexRiscv to b6118e6cc2a3, sbt to 1.9.7, SpinalHDL to 1.9.4; make PMP plugin selection configurable #20

Merged
merged 3 commits into from
Nov 20, 2023

Conversation

lschuermann
Copy link

This updates the pinned VexRiscv commit to b6118e6cc2a3, which (amongst other things) integrates the changes

These changes fix a bug in the "PmpPluginOld" (which supports all PMP addressing modes of NA4, NAPOT, and TOR) relating to address calculation for NAPOT regions. Futhermore, they "undeprecate" the PmpPluginOld by renaming it to PmpPlugin, indicating its full-featuredness compared to the now-called PmpPluginNapot.

Shipping both of these plugins, upstream VexRiscv allows this repository to select the appropriate one depending on the particular user preferences. To this end, I introduce a pmpAddressMatchingModes switch, where users can indicate which modes shall be supported in their CPU. For the VexRiscv_Secure target, it now defaults to the full-featured PMP plugin, effectively reverting to the state of #9. Changing this to the PmpPluginNapot as done in #12 unexpectedly broke downstream consumers such as TockOS, which thus needed to build and ship their own CPU variant (tock/tock#2860). Thus, this change should allow OSes such as Tock, which require a spec-compliant PMP implementation, to revert back to the pre-built VexRiscv_Secure CPU target.

I can add a VexRiscv_SecureNapot target, to also retain the more optimized, but feature-limited and non-spec compliant version, if desired.

Furthermore, this PR updates the sbt version to 1.9.7, to work around an issue with using it with recent JREs ([error] [launcher] error during sbt launcher: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release), and updates the SpinalHDL versions to match those of the upstream VexRiscv repo.

@Dolu1990
Copy link
Collaborator

Thanks :)

@Dolu1990 Dolu1990 merged commit 03d8c47 into litex-hub:master Nov 20, 2023
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