Name Date Size #Lines LOC


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

.gdbinit.tmplH A D15-Jan-2018682 2824

.gitignoreH A D15-Jan-2018118 1716

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 D24-Aug-20202.2 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 D28-Sep-201915.4 KiB671433

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 D24-Aug-20201.4 KiB6550

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 D28-Sep-20197.2 KiB445367

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


1NOTE: we have stopped maintaining the x86 version of xv6, and switched
2our efforts to the RISC-V version
5xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix
6Version 6 (v6).  xv6 loosely follows the structure and style of v6,
7but is implemented for a modern x86-based multiprocessor using ANSI C.
11xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
12to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
132000)). See also, which
14provides pointers to on-line resources for v6.
16xv6 borrows code from the following sources:
17    JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c, and others)
18    Plan 9 (entryother.S, mp.h, mp.c, lapic.c)
19    FreeBSD (ioapic.c)
20    NetBSD (console.c)
22The following people have made contributions: Russ Cox (context switching,
23locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin
26We are also grateful for the bug reports and patches contributed by Silas
27Boyd-Wickizer, Anton Burtsev, Cody Cutler, Mike CAT, Tej Chajed, eyalz800,
28Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, Peter
29Froehlich, Yakir Goaron,Shivam Handa, Bryan Henry, Jim Huang, Alexander
30Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Eddie Kohler, Austin
31Liew, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi
32Merimovich, Mark Morrissey, mtasm, Joel Nider, Greg Price, Ayan Shafqat,
33Eldar Sehayek, Yongming Shen, Cam Tenny, tyfkda, Rafael Ubal, Warren
34Toomey, Stephen Tu, Pablo Ventura, Xi Wang, Keiichi Watanabe, Nicolas
35Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, and Zou Chang Wei.
37The code in the files that constitute xv6 is
38Copyright 2006-2018 Frans Kaashoek, Robert Morris, and Russ Cox.
42We don't process error reports (see note on top of this file).
46To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run
47"make". On non-x86 or non-ELF machines (like OS X, even on x86), you
48will need to install a cross-compiler gcc suite capable of producing
49x86 ELF binaries (see
50Then run "make TOOLPREFIX=i386-jos-elf-". Now install the QEMU PC
51simulator and run "make qemu".