jserv / xv6-x86_64

re-implementation of UNIX v6 in ANSI C for x86_64 SMP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is a port of xv6 to the x86-64 platform (from i386), attempting to
be as minimally intrusive as possible (beyond some initial reorganization
of the source code layout and build system).

  "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."

The original upstream branch (mirror) was pulled from the git repository
https://github.com/mit-pdos/xv6-public
(previously git://pdos.csail.mit.edu/xv6/xv6.git)

The original project homepage is here:
https://pdos.csail.mit.edu/6.828/2014/xv6.html
(previously http://pdos.csail.mit.edu/6.828/2012/xv6.html)

The PDF books about the rev8 version of xv6 are checked into the books branch
of this repository for easy access.  They come from the xv6 project's home site.

The original README remains as README.orig -- renamed to avoid misrepresenting
this working branch and any local changes as the original project and to 
hopefully avoid people pestering the original authors about bugs x86_64 port may
introduce while poking at their code.

. . .

The code has been organized into kernel/, include/, user/, ulib/, and tools/
subdirectories, and arranged so that the build puts intermediate object files
into .kobj/ and .uobj/ directories, other intermediates into out/, and the
filesystem contents into fs/.

The Makefile defaults to building the 64bit version of xv6.  Reset the X64
environment variable to build the 32bit version.

README.64bit contains notes about the 64bit port.

About

re-implementation of UNIX v6 in ANSI C for x86_64 SMP

License:Other


Languages

Language:C 90.8%Language:Assembly 4.7%Language:Makefile 2.9%Language:Perl 0.7%Language:OpenEdge ABL 0.7%Language:Shell 0.2%Language:Emacs Lisp 0.0%