xv6 is a modern re-implementation of Sixth Edition Unix in ANSI C for multiprocessor x86/x86_64 systems.
Find a file
2006-08-29 17:50:19 +00:00
.cvsignore Changes to allow use of native x86 ELF compilers, which on my 2006-07-11 01:07:40 +00:00
asm.h oops 2006-06-22 15:28:09 +00:00
bio.c zero out all of dirent.name when creating 2006-08-12 22:44:26 +00:00
bootasm.S checkpoint. booting second processor. stack is messed up, but thanks to cliff 2006-06-22 01:28:57 +00:00
bootmain.c uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
bootother.S stick mpstack in cpu structure 2006-06-26 16:40:43 +00:00
buf.h LRU disk cache replacement 2006-08-12 22:34:13 +00:00
cat.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
console.c clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
defs.h i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
dev.h init creates console, opens 0/1/2, runs sh 2006-08-11 13:55:18 +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 uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
fcntl.h low-level keyboard input (not hooked up to /dev yet) 2006-08-10 02:07:10 +00:00
fd.c compiling, but untested dup 2006-08-20 03:33:01 +00:00
fd.h fix race in holding() check in acquire() 2006-08-08 19:58:06 +00:00
fs.c consistently ignore more than 14 chars in path component 2006-08-26 16:31:05 +00:00
fs.h inode addrs[NDIRECT] -> NADDRS 2006-08-25 01:11:30 +00:00
fstests.c consistently ignore more than 14 chars in path component 2006-08-26 16:31:05 +00:00
fsvar.h inode addrs[NDIRECT] -> NADDRS 2006-08-25 01:11:30 +00:00
ide.c link() 2006-08-13 02:12:44 +00:00
init.c some text in readme 2006-08-28 18:31:33 +00:00
ioapic.c fix iget() bug that allocated in-use inode[] entries 2006-08-13 15:51:58 +00:00
ioapic.h better interrupt plan---this one appears to work 2006-08-04 18:12:31 +00:00
kalloc.c interrupts could be recursive since lapic_eoi() called before rti 2006-08-10 22:08:14 +00:00
lapic.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
lgrind.sty better printout 2006-08-29 17:50:19 +00:00
ls.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
main.c clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
Makefile better printout 2006-08-29 17:50:19 +00:00
mkdir.c user-level programs: mkdir and rm 2006-08-14 21:22:13 +00:00
mkfs.c fix writing the indirect block 2006-08-25 01:25:22 +00:00
mmu.h interrupts could be recursive since lapic_eoi() called before rti 2006-08-10 22:08:14 +00:00
mp.c fix race in holding() check in acquire() 2006-08-08 19:58:06 +00:00
mp.h uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
Notes clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
param.h clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
picirq.c wdir now uses readi/writei 2006-08-13 20:06:42 +00:00
pipe.c interrupts could be recursive since lapic_eoi() called before rti 2006-08-10 22:08:14 +00:00
printf.c user-level programs: mkdir and rm 2006-08-14 21:22:13 +00:00
proc.c i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
proc.h proc[0] can sleep(), at least after it gets to main00() 2006-08-16 01:56:00 +00:00
README some text in readme 2006-08-28 18:31:33 +00:00
rm.c user-level programs: mkdir and rm 2006-08-14 21:22:13 +00:00
setjmp.S rename swtch.S to setjmp.S 2006-07-16 15:40:51 +00:00
sh.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
sign.pl import 2006-06-12 15:22:12 +00:00
spinlock.c clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
spinlock.h clean up stale error checks and panics 2006-08-29 14:45:45 +00:00
stat.h fstat 2006-08-12 04:33:50 +00:00
string.c uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
syscall.c i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
syscall.h i/o redirection in sh 2006-08-23 01:09:24 +00:00
trap.c i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
trapasm.S Attempt to clean up newproc somewhat. 2006-07-16 01:47:40 +00:00
traps.h timer interrupts 2006-06-28 16:35:03 +00:00
types.h uint32_t -> uint &c 2006-07-20 09:07:53 +00:00
ulib.c i/o redirection in sh 2006-08-23 01:09:24 +00:00
umalloc.c kill user process when it generates an unhandled trap (e.g., 13) 2006-08-25 00:43:17 +00:00
user.h bug in sbrk 2006-08-24 19:24:36 +00:00
user1.c nitpicks 2006-07-17 01:25:22 +00:00
userfs.c fix bugs in indirect-file code 2006-08-24 17:28:01 +00:00
usertests.c i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
usys.S i/o redirection in sh 2006-08-23 01:09:24 +00:00
vectors.pl add minimal comments to generator vector table 2006-07-16 15:38:56 +00:00
x86.h clean up stale error checks and panics 2006-08-29 14:45:45 +00:00

xv6 is a re-implementation of Unix Version 6 (v6), which was developed
by Dennis Ritchie and Ken Thompson. xv6 follows the structure and
style of v6, but is implemented for a modern x86-based multiprocessor
using ANSI C.

xv6 is inspired by the following work by Lions about Unix version 6:

- Lions' Commentary on UNIX' 6th Edition, John Lions, 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.