[lowrisc-dev] [GSoC] Porting the xv6 teaching operating system to
the lowRISC platform
jeffreyrogers at college.harvard.edu
Wed Apr 27 03:02:57 BST 2016
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