how to use genode on riscv

Sebastian Sumpf Sebastian.Sumpf at ...1...
Wed Mar 14 09:43:45 CET 2018


Hello Dong Du,

On 12.03.2018 12:45, Dd Nirvana wrote:
> Hi guys,
>       
>        I am so glad to know that genode has supported RISCV from v16.02.
> I have already read the
> article(http://genode.org/documentation/articles/riscv) which introduce
> how genode port the RISCV.
>        However, I am still a little confused about how to build a
> runnable genode image and how to  run it on riscv platform like spike.
> Could you give me any advices to do it?

Genode's support for RISC-V is currently very limited. For example,
there is no libc or any peripheral devices. Currently, RISC-V can be
tested on Genode using the spike emulator and our custom kernel, which
implements support for the RISCV 1.9 privileged ISA. So, in order to
test RISC-V make sure to have spike installed. You can find the version
we are using here:

https://github.com/ssumpf/riscv-isa-sim
https://github.com/ssumpf/riscv-fesvr

Please check out the 17.05 branches of both repositories. The fesvr
(front-end server) is required by the instruction emulator and has to be
build first. Please check the README.md files for build instructions.

With spike installed you want to create a Genode directory next:

> <genode-src>/tool/create_builddir riscv_spike
> cd <genode-src>/build/risc_spike

Next you may execute the log run script:

> make KERNEL=hw run/log

(make sure to have the Genode tool chain installed -
http://genode.org/download/tool-chain)

This will build the log scenario and execute it within spike. The actual
boot image can be found under the <genode-src>/build/riscv-spike/bbl/bbl
(Berkeley Boot Loader). BBL implements the machine mode and also piggy
backs the Genode image.

Regards,

Sebastian


 --
Sebastian Sumpf
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth







More information about the users mailing list