mit-pdos / xv6-riscv

Xv6 for RISC-V
Other
6.63k stars 2.4k forks source link

Add support for running under OpenSBI #87

Open knightsc opened 2 years ago

knightsc commented 2 years ago

OpenSBI is the default bios used for RISC-V running under qemu. This change adds support for enabling the default bios and modifying the start up code of xv6 to support it. I created this change as a way to test out the functionality of OpenSBI but I think it might be a worthwhile change for others as well. OpenSBI is quickly becoming the default on real RISC-V hardware. Having support here opens the possibility of running xv6 on low cost RISC-V hardware in the future.

One note, there are currently four usertests that seem to hang the system

I believe that all of these are actually broken in the main branch as well and show up in this change due to the change in the timer code. If I tweak the timer in the main branch from 1/10 of a second to something else I can get these same tests to hang. Before I spend time digging into the root issue with these tests though I wanted to submit this pull request and see if there was sufficient interest in having these OpenSBI changes merged into the original project.