2006-09-04 13:52:36 +02:00
|
|
|
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 x86-based multiprocessor using ANSI C.
|
2006-08-28 20:31:33 +02:00
|
|
|
|
2007-08-29 20:18:57 +02:00
|
|
|
ACKNOWLEDGMENTS
|
2006-09-07 22:28:53 +02:00
|
|
|
|
2007-08-28 21:30:23 +02:00
|
|
|
xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
|
2006-09-04 13:52:36 +02:00
|
|
|
to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
|
2016-08-18 20:00:48 +02:00
|
|
|
2000)). See also http://pdos.csail.mit.edu/6.828/2016/xv6.html, which
|
2006-09-04 13:52:36 +02:00
|
|
|
provides pointers to on-line resources for v6.
|
2006-08-28 20:31:33 +02:00
|
|
|
|
2006-09-04 13:52:36 +02:00
|
|
|
xv6 borrows code from the following sources:
|
|
|
|
JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c, and others)
|
2011-09-02 20:00:33 +02:00
|
|
|
Plan 9 (entryother.S, mp.h, mp.c, lapic.c)
|
2006-09-03 17:10:33 +02:00
|
|
|
FreeBSD (ioapic.c)
|
2006-09-04 13:52:36 +02:00
|
|
|
NetBSD (console.c)
|
2006-09-03 17:10:33 +02:00
|
|
|
|
2012-08-28 20:11:23 +02:00
|
|
|
The following people have made contributions:
|
2006-09-03 17:10:33 +02:00
|
|
|
Russ Cox (context switching, locking)
|
|
|
|
Cliff Frey (MP)
|
|
|
|
Xiao Yu (MP)
|
2010-09-02 09:25:33 +02:00
|
|
|
Nickolai Zeldovich
|
|
|
|
Austin Clements
|
2006-09-03 17:10:33 +02:00
|
|
|
|
2014-08-29 15:03:29 +02:00
|
|
|
In addition, we are grateful for the bug reports and patches contributed by
|
2016-08-25 15:14:52 +02:00
|
|
|
Silas Boyd-Wickizer, Mike CAT, Nelson Elhage, Nathaniel Filardo, Peter
|
|
|
|
Froehlich, Yakir Goaran, Shivam Handa, Bryan Henry, Jim Huang, Anders Kaseorg,
|
|
|
|
kehao95, Eddie Kohler, Imbar Marinescu, Yandong Mao, Hitoshi Mitake, Carmi
|
|
|
|
Merimovich, Joel Nider, Greg Price, Ayan Shafqat, Eldar Sehayek, Yongming Shen,
|
2016-09-02 14:43:33 +02:00
|
|
|
Cam Tenny, Rafael Ubal, Warren Toomey, Stephen Tu, Pablo Ventura, Xi Wang,
|
|
|
|
Keiichi Watanabe, Nicolas Wolovick, Jindong Zhang, and Zou Chang Wei.
|
2010-08-31 22:13:20 +02:00
|
|
|
|
2007-08-24 22:28:21 +02:00
|
|
|
The code in the files that constitute xv6 is
|
2016-08-18 20:00:48 +02:00
|
|
|
Copyright 2006-2016 Frans Kaashoek, Robert Morris, and Russ Cox.
|
2006-09-07 22:28:53 +02:00
|
|
|
|
|
|
|
ERROR REPORTS
|
|
|
|
|
2006-09-03 17:10:33 +02:00
|
|
|
If you spot errors or have suggestions for improvement, please send
|
2016-08-25 13:12:33 +02:00
|
|
|
email to Frans Kaashoek and Robert Morris (kaashoek,rtm@csail.mit.edu).
|
2006-09-07 21:37:16 +02:00
|
|
|
|
2007-08-29 20:18:57 +02:00
|
|
|
BUILDING AND RUNNING XV6
|
2006-09-07 22:06:20 +02:00
|
|
|
|
|
|
|
To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run "make".
|
|
|
|
On non-x86 or non-ELF machines (like OS X, even on x86), you will
|
|
|
|
need to install a cross-compiler gcc suite capable of producing x86 ELF
|
2014-08-28 23:28:40 +02:00
|
|
|
binaries. See http://pdos.csail.mit.edu/6.828/2014/tools.html.
|
2006-09-07 22:06:20 +02:00
|
|
|
Then run "make TOOLPREFIX=i386-jos-elf-".
|
|
|
|
|
2014-08-28 23:28:40 +02:00
|
|
|
To run xv6, install the QEMU PC simulators. To run in QEMU, run "make qemu".
|
2006-09-07 22:06:20 +02:00
|
|
|
|
2010-09-02 09:25:33 +02:00
|
|
|
To create a typeset version of the code, run "make xv6.pdf". This
|
|
|
|
requires the "mpage" utility. See http://www.mesa.nl/pub/mpage/.
|