d0iasm / rvemu

RISC-V emulator for CLI and Web written in Rust with WebAssembly. It supports xv6 and Linux (ongoing).
https://rvemu.app/
MIT License
744 stars 56 forks source link

Ease of Providing Additional OS Support? #1

Closed githubquestions closed 4 years ago

githubquestions commented 4 years ago

This is a super cool project. I am curious how difficult it would be to support other operating systems (specifically curious about TockOS, which increasingly runs on RISC-V boards, but also interested in general portability).

d0iasm commented 4 years ago

To support other operating systems, you need to add peripheral devices in src/devices/* and map them to specific addresses in src/bus.rs. I believe it should work well if other parts don't have mistakes.

However, for now, this project is really specific for xv6 so there might be missing implementation in CPU or CSRs.

I'm trying to support Linux as a next step, so this project will be more mature and make it easier to support other operating systems.