Skip to content
This repository has been archived by the owner on Dec 29, 2023. It is now read-only.

tyfkda/xv6

 
 

Repository files navigation

Open in Gitpod

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 rev7 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 I 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 32bit version of xv6. Define the X64 environment variable to build the 64bit version.

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

Packages

 
 
 

Languages

  • C 90.5%
  • Assembly 4.7%
  • Makefile 2.7%
  • Perl 0.6%
  • OpenEdge ABL 0.5%
  • C++ 0.3%
  • Other 0.7%