Port of Xv6 for 25∞2
Go to file
2006-09-07 16:54:00 +00:00
.cvsignore New formatting scripts. 2006-09-05 15:50:55 +00:00
8253pit.c fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
asm.h wrap long lines 2006-09-06 19:08:14 +00:00
bio.c fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
bootasm.S wrap long lines 2006-09-06 19:08:14 +00:00
bootmain.c wrap long lines 2006-09-06 19:08:14 +00:00
bootother.S wrap long lines 2006-09-06 19:08:14 +00:00
buf.h LRU disk cache replacement 2006-08-12 22:34:13 +00:00
cat.c standardize various * conventions 2006-09-06 17:27:19 +00:00
console.c debugging rearrangements 2006-09-07 16:52:13 +00:00
defs.h debugging prints 2006-09-07 15:45:38 +00:00
dev.h remove _ prefixes 2006-09-07 13:08:23 +00:00
dot-bochsrc update 2006-07-26 10:17:39 +00:00
echo.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
elf.h more comments 2006-09-07 14:12:30 +00:00
fcntl.h low-level keyboard input (not hooked up to /dev yet) 2006-08-10 02:07:10 +00:00
file.c comments 2006-09-07 14:28:12 +00:00
file.h fd.* -> file.* 2006-09-06 18:40:28 +00:00
fs.c allow long names again 2006-09-07 15:34:28 +00:00
fs.h more comments 2006-09-07 14:12:30 +00:00
fsvar.h comments 2006-09-07 15:31:33 +00:00
ide.c fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
init.c for vs while 2006-09-06 18:47:51 +00:00
ioapic.c run without lapic and ioapic, if they are not present 2006-09-07 01:37:58 +00:00
ioapic.h wrap long lines 2006-09-06 19:08:14 +00:00
kalloc.c more comments 2006-09-07 14:12:30 +00:00
lapic.c run without lapic and ioapic, if they are not present 2006-09-07 01:37:58 +00:00
ls.c remove _ prefixes 2006-09-07 13:08:23 +00:00
main.c fix build 2006-09-07 14:10:52 +00:00
Makefile remove fstest 2006-09-07 14:17:30 +00:00
mkdir.c more comments 2006-09-07 14:12:30 +00:00
mkfs.c avoid system binary clashes 2006-09-07 13:07:39 +00:00
mmu.h wrap long lines 2006-09-06 19:08:14 +00:00
mp.c comment fixes 2006-09-07 13:07:52 +00:00
mp.h wrap long lines 2006-09-06 19:08:14 +00:00
Notes nit in console interrupts 2006-09-07 00:00:33 +00:00
param.h struct fd -> struct file 2006-09-06 18:38:56 +00:00
picirq.c fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
pipe.c fd_* => file_* 2006-09-06 18:43:45 +00:00
printf.c no /* */ comments 2006-09-06 17:50:20 +00:00
proc.c check preconditions in sched 2006-09-07 16:54:00 +00:00
proc.h more comments 2006-09-07 14:12:30 +00:00
README nits 2006-09-04 11:52:36 +00:00
rm.c standardize various * conventions 2006-09-06 17:27:19 +00:00
runoff better page breaks 2006-09-07 13:07:29 +00:00
runoff.list run without lapic and ioapic, if they are not present 2006-09-07 01:37:58 +00:00
setjmp.S more comments 2006-09-07 14:12:30 +00:00
sh.c more simplifying 2006-09-07 03:16:15 +00:00
sign.pl spacing fixes: no tabs, 2-space indents (for rtm) 2006-09-06 17:04:06 +00:00
spinlock.c comment memory barriers 2006-09-07 16:53:49 +00:00
spinlock.h more comments 2006-09-07 14:12:30 +00:00
stat.h more comments 2006-09-07 14:12:30 +00:00
string.c standardize various * conventions 2006-09-06 17:27:19 +00:00
syscall.c refactor syscall code 2006-09-07 14:13:26 +00:00
syscall.h refactor syscall code 2006-09-07 14:13:26 +00:00
sysfile.c fix ide, pit interfaces 2006-09-07 15:29:54 +00:00
sysproc.c refactor syscall code 2006-09-07 14:13:26 +00:00
trap.c no recursive interrupts 2006-09-07 16:53:16 +00:00
trapasm.S standardize various * conventions 2006-09-06 17:27:19 +00:00
traps.h more comments 2006-09-07 14:12:30 +00:00
types.h uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
ulib.c break single-line if statements 2006-09-06 17:57:47 +00:00
umalloc.c standardize various * conventions 2006-09-06 17:27:19 +00:00
user.h standardize various * conventions 2006-09-06 17:27:19 +00:00
usertests.c remove bogus test 2006-09-07 15:31:40 +00:00
usys.S standardize various * conventions 2006-09-06 17:27:19 +00:00
vectors.pl no /* */ comments 2006-09-06 17:50:20 +00:00
x86.h more comments 2006-09-07 14:12:30 +00: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.

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

xv6 borrows code from the following sources:
    JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c, and others)
    Plan 9 (bootother.S, mp.h, mp.c, ioapic.h, lapic.c)
    FreeBSD (ioapic.c)
    NetBSD (console.c)

The following people made contributions:
    Russ Cox (context switching, locking)
    Cliff Frey (MP)
    Xiao Yu (MP)

If you spot errors or have suggestions for improvement, please send
email to Frans Kaashoek and Robert Morris
({kaashoek,rtm}@csail.mit.edu).  This version is the very first one,
so don't be surprised if there are errors or the code is unclear.