Name Date Size #Lines LOC

..24-Jun-2019-

.dir-locals.elH A D15-Jan-201886 54

.gdbinit.tmplH A D15-Jan-2018682 2824

BUGSH A D15-Jan-2018128 85

LICENSEH A D21-Nov-20181.1 KiB2519

MakefileH A D21-Nov-20188.2 KiB287210

NotesH A D15-Jan-20183.9 KiB12490

READMEH A D21-Nov-20182.3 KiB5140

TRICKSH A D15-Jan-20184.1 KiB141109

asm.hH A D21-Nov-2018754 1910

bio.cH A D15-Jan-20183.3 KiB14589

bootasm.SH A D15-Jan-20182.9 KiB8973

bootmain.cH A D15-Jan-20182.2 KiB9757

buf.hH A D15-Jan-2018326 1513

cat.cH A D15-Jan-2018589 4437

console.cH A D15-Jan-20185.3 KiB300248

cuthH A D15-Jan-2018934 4939

date.hH A D15-Jan-2018102 98

defs.hH A D15-Jan-20185.4 KiB191139

dot-bochsrcH A D15-Jan-201832.7 KiB739693

echo.cH A D15-Jan-2018198 1411

elf.hH A D15-Jan-2018755 4332

entry.SH A D15-Jan-20181.8 KiB6960

entryother.SH A D15-Jan-20182.7 KiB9480

exec.cH A D15-Jan-20182.5 KiB11594

fcntl.hH A D15-Jan-201896 54

file.cH A D15-Jan-20182.8 KiB158124

file.hH A D15-Jan-2018802 3828

forktest.cH A D21-Nov-2018764 5743

fs.cH A D15-Jan-201815.4 KiB672434

fs.hH A D15-Jan-20181.7 KiB5831

gdbutilH A D15-Jan-20185.6 KiB292270

grep.cH A D15-Jan-20181.9 KiB10888

ide.cH A D15-Jan-20183.5 KiB169118

init.cH A D15-Jan-2018649 3831

initcode.SH A D15-Jan-2018455 3325

ioapic.cH A D15-Jan-20182 KiB7649

kalloc.cH A D15-Jan-20182.1 KiB9765

kbd.cH A D15-Jan-2018925 5143

kbd.hH A D15-Jan-20183.5 KiB11396

kernel.ldH A D15-Jan-20181.5 KiB6954

kill.cH A D15-Jan-2018232 1815

lapic.cH A D21-Nov-20186 KiB230161

ln.cH A D15-Jan-2018264 1614

log.cH A D15-Jan-20185.5 KiB235164

ls.cH A D15-Jan-20181.5 KiB8673

main.cH A D21-Nov-20183.2 KiB11776

memide.cH A D15-Jan-20181.2 KiB6144

memlayout.hH A D21-Nov-2018667 169

mkdir.cH A D15-Jan-2018327 2419

mkfs.cH A D15-Jan-20186 KiB298239

mmu.hH A D21-Nov-20186.4 KiB182124

mp.cH A D15-Jan-20183.1 KiB140110

mp.hH A D15-Jan-20182.1 KiB5746

param.hH A D15-Jan-2018760 1513

picirq.cH A D15-Jan-2018426 2011

pipe.cH A D15-Jan-20182.4 KiB122109

pr.plH A D15-Jan-2018581 3731

printf.cH A D21-Nov-20181.4 KiB8676

printpcsH A D15-Jan-2018367 157

proc.cH A D15-Jan-201811.4 KiB535358

proc.hH A D15-Jan-20182.2 KiB5935

rm.cH A D15-Jan-2018322 2419

runoffH A D21-Nov-20184.9 KiB247202

runoff.listH A D21-Nov-2018628 8169

runoff.specH A D15-Jan-20182.5 KiB10324

runoff1H A D15-Jan-20182.3 KiB10988

sh.cH A D15-Jan-20188 KiB494418

show1H A D15-Jan-2018135 41

sign.plH A D15-Jan-2018363 2012

sleep1.pH A D15-Jan-20181.9 KiB135110

sleeplock.cH A D21-Nov-2018812 5746

sleeplock.hH A D15-Jan-2018265 116

spinlock.cH A D21-Nov-20182.7 KiB12782

spinlock.hH A D15-Jan-2018315 126

spinpH A D15-Jan-2018240 1712

stat.hH A D15-Jan-2018294 1210

stressfs.cH A D15-Jan-20181 KiB5030

string.cH A D15-Jan-20181.4 KiB10687

swtch.SH A D21-Nov-2018542 3025

syscall.cH A D15-Jan-20183.4 KiB146115

syscall.hH A D15-Jan-2018485 2321

sysfile.cH A D15-Jan-20187.2 KiB446368

sysproc.cH A D15-Jan-20181.1 KiB9277

toc.ftrH A D15-Jan-2018512 149

toc.hdrH A D15-Jan-2018290 74

trap.cH A D15-Jan-20182.6 KiB11389

trapasm.SH A D15-Jan-2018486 3328

traps.hH A D15-Jan-20181.5 KiB3927

types.hH A D15-Jan-2018110 54

uart.cH A D15-Jan-20181.3 KiB7857

ulib.cH A D21-Nov-20181.2 KiB10791

umalloc.cH A D15-Jan-20181.6 KiB9177

user.hH A D21-Nov-2018922 4035

usertests.cH A D15-Jan-201833.9 KiB1,8041,560

usys.SH A D15-Jan-2018461 3229

vectors.plH A D15-Jan-2018989 4819

vm.cH A D21-Nov-20189.7 KiB395283

wc.cH A D15-Jan-2018820 5548

x86.hH A D15-Jan-20183.2 KiB184145

zombie.cH A D15-Jan-2018214 1510

README

1xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix
2Version 6 (v6).  xv6 loosely follows the structure and style of v6,
3but is implemented for a modern x86-based multiprocessor using ANSI C.
4
5ACKNOWLEDGMENTS
6
7xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
8to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
92000)). See also https://pdos.csail.mit.edu/6.828/, which
10provides pointers to on-line resources for v6.
11
12xv6 borrows code from the following sources:
13    JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c, and others)
14    Plan 9 (entryother.S, mp.h, mp.c, lapic.c)
15    FreeBSD (ioapic.c)
16    NetBSD (console.c)
17
18The following people have made contributions: Russ Cox (context switching,
19locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin
20Clements.
21
22We are also grateful for the bug reports and patches contributed by Silas
23Boyd-Wickizer, Anton Burtsev, Cody Cutler, Mike CAT, Tej Chajed, eyalz800,
24Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, Peter
25Froehlich, Yakir Goaron,Shivam Handa, Bryan Henry, Jim Huang, Alexander
26Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Eddie Kohler, Austin
27Liew, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi
28Merimovich, Mark Morrissey, mtasm, Joel Nider, Greg Price, Ayan Shafqat,
29Eldar Sehayek, Yongming Shen, Cam Tenny, tyfkda, Rafael Ubal, Warren
30Toomey, Stephen Tu, Pablo Ventura, Xi Wang, Keiichi Watanabe, Nicolas
31Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, and Zou Chang Wei.
32
33The code in the files that constitute xv6 is
34Copyright 2006-2018 Frans Kaashoek, Robert Morris, and Russ Cox.
35
36ERROR REPORTS
37
38Please send errors and suggestions to Frans Kaashoek and Robert Morris
39(kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching
40operating system for MIT's 6.828, so we are more interested in
41simplifications and clarifications than new features.
42
43BUILDING AND RUNNING XV6
44
45To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run
46"make". On non-x86 or non-ELF machines (like OS X, even on x86), you
47will need to install a cross-compiler gcc suite capable of producing
48x86 ELF binaries (see https://pdos.csail.mit.edu/6.828/).
49Then run "make TOOLPREFIX=i386-jos-elf-". Now install the QEMU PC
50simulator and run "make qemu".
51