[lowrisc-dev] [GSoC] Porting the xv6 teaching operating system to the lowRISC platform

Jeffrey Rogers jeffreyrogers at college.harvard.edu
Wed Apr 27 03:02:57 BST 2016

Hi everyone,

I wanted to introduce myself. My name is Jeff Rogers, I’m a senior at 
Harvard studying computer science and math. I’m working on a lowRISC 
related project this summer with Google Summer of Code. My project is to 
port the xv6 teaching operating system to RISC-V. Xv6 is a small 
teaching operating system based on 6th edition UNIX. It is written for 
x86, but ports to the Raspberry Pi and other platforms exist. You can 
find more about xv6 here: https://pdos.csail.mit.edu/6.828/2014/xv6.html.

Because xv6 is small and simple it is an ideal place to begin learning 
about operating systems and how they interact with hardware. By porting 
it to RISC-V we can get more people interested in the lowRISC platform 
and provide them with a fun way to get started with it. As a side 
benefit, my project will help make xv6 more portable. There are existing 
ports to other platforms as I mentioned earlier, but they all just rip 
out the x86 specific code and replace it with platform specific code. 
I’m currently separating the machine dependent code and machine 
independent code so that the x86 version and the RISC-V version can live 
alongside one another. Additionally, these projects didn’t provide much 
documentation on what changes they made or why, so I plan on writing 
this as I work on the implementation. This should be especially useful 
for things like the virtual memory implementation since RISC-V requires 
a lot more of this to be done in software than x86 does.

I got the RISC-V tools working on my computer a few days ago and have 
begun playing around with the compiler toolchain, assembler, etc. I 
think I have a pretty good grasp of what needs to be done and how to go 
about doing this, but if anyone has anything they think I should take a 
look at or be aware of, I’m happy to hear about it!

Very excited to be working on this!


More information about the lowrisc-dev mailing list