openhwgroup / cva6

The CORE-V CVA6 is an Application class 6-stage RISC-V CPU capable of booting Linux
https://docs.openhwgroup.org/projects/cva6-user-manual/
Other
2.26k stars 685 forks source link

Simplest way to run a U-mode binary with virtual memory #2423

Closed tunefish777 closed 1 month ago

tunefish777 commented 2 months ago

Hi, I have recently returned to working with the CVA6 core and quite a lot has changed since I last tinkered around with it. Previously running simple U-mode binaries was very trivial with Verilator and the RISC-V PK, but the latter is now deprecated, everything points towards OpenSBI and the current version of the README only explains baremetal applications and regression/smoke-tests. So my question is pretty simple: What is the best path to achieve what was previously possible again? Booting a Linux image is not an option but I need some OS that sets up basic virtual memory and starts a U-mode application

Cheers, Moritz

JeanRochCoulon commented 2 months ago

Riscv-pk is no more supported by cva6.

Moschn commented 2 months ago

Currently, there is no supported way to do what you want or what was once possible. As far as I remember, maintaining riscv-pk and the many problems that users had to get it running led to it being no longer officially supported by CVA6.

I believe there should not be any technical limitation that renders it impossible to run binaries using riscv-pk on CVA6, but you will have to get your hands dirty. In case you get it to work again, we might be interested to look into officially supporting it again.

github-actions[bot] commented 1 month ago

👋 Hi there!

This issue seems inactive. Need more help? Feel free to update us. If there are no updates within the next few days, we'll go ahead and close this issue. 😊