xv6-riscv README

The project's README from github.com/mit-pdos/xv6-riscv. As one markdown file: README.md.

xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.

ACKNOWLEDGMENTS

xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, 2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides pointers to on-line resources for v6.

The following people have made contributions: Russ Cox (context switching, locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin Clements.

We are also grateful for the bug reports and patches contributed by Abhinavpatel00, Takahiro Aoyagi, Marcelo Arroyo, Hirbod Behnam, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian Chen, clivezeng, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi,Wenyang Duan, echtwerner, eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin Liew, Bruce Lowekamp, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi Merimovich, mes900903, Mark Morrissey, mtasm, Joel Nider, Hayato Ohhashi, OptimisticSide, papparapa, phosphagos, Harry Porter, Greg Price, Zheng qhuo, Quancheng, RayAndrew, Jude Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya Shigemitsu, snoire, Taojie, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Alissa Tung, Rafael Ubal, unicornx, Amane Uehara, Pablo Ventura, Luc Videau, Xi Wang, WaheedHafez, Keiichi Watanabe, Lucas Wolf, Nicolas Wolovick, wxdao, Grant Wu, x653, Andy Zhang, Jindong Zhang, Icenowy Zheng, ZhUyU1997, and Zou Chang Wei.

ERROR REPORTS

Please send errors and suggestions to Frans Kaashoek and Robert Morris (kaashoek,[email protected]). The main purpose of xv6 is as a teaching operating system for MIT's 6.1810, so we are more interested in simplifications and clarifications than new features.

BUILDING AND RUNNING XV6

You will need a RISC-V "newlib" tool chain from https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for riscv64-softmmu. Once they are installed, and in your shell search path, you can run "make qemu".

xv6-riscv (mit-pdos/xv6-riscv)

Searching Database…

10.7K ·GitHub
What is this?xv6-riscv is a re-implementation of the original Unix Version 6 (v6) operating system, rewritten in ANSI C and ported to run on modern RISC-V multiprocessors. It is used as the teaching operating system for MIT's 6.1810 operating systems course.
Is this a production OS or a teaching tool?It's a small teaching OS kernel, not something meant for production use. Its main purpose is pedagogical: to show how a real Unix-like kernel works in simplified, readable code.
How do I build and run it?After installing the required toolchain and emulator, you run a single make command to build and boot it.
What tools do I need before building it?You need a RISC-V 'newlib' GCC toolchain and a QEMU build configured for the riscv64-softmmu target.
Is this kernel meant to add new features to, or just study?The maintainers explicitly prioritize simplifying and clarifying existing code over adding new features, so it's better suited to study and course assignments than as a base for new OS features.
Does it run on real RISC-V hardware or just an emulator?The README only describes running it via QEMU (riscv64-softmmu), so the documented workflow is emulator-based rather than bare-metal hardware.
Why RISC-V instead of x86 like the original xv6?This repository is the RISC-V port of xv6, following the structure and style of Unix v6 but targeting a modern RISC-V multiprocessor architecture instead of the original PDP-11/x86.
Where did the design of xv6 come from?It's inspired by John Lions's Commentary on UNIX 6th Edition and was built by MIT researchers including Russ Cox, with many community contributors over the years.
Which topics is it in?operating-system, c, education, open-source
Creator
mit-pdos
Size
17.7 MB
Stars
10.7K
Updated
CommitOct 15
Age
7y
Commits · 90 Days