diff --git a/README b/README deleted file mode 100644 index ed8bba5..0000000 --- a/README +++ /dev/null @@ -1,49 +0,0 @@ -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 RISC-V multiprocessor using ANSI C. - -ACKNOWLEDGMENTS - -xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer -to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, -2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides -pointers to on-line resources for v6. - -The following people have made contributions: Russ Cox (context switching, -locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin -Clements. - -We are also grateful for the bug reports and patches contributed by -Takahiro Aoyagi, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian -Chen, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi, -eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel -Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt -Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John -Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, -Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin -Liew, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan -Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel -Nider, Hayato Ohhashi, OptimisticSide, Harry Porter, Greg Price, Jude -Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya -Shigemitsu, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Rafael Ubal, -Amane Uehara, Pablo Ventura, Xi Wang, WaheedHafez, Keiichi Watanabe, -Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, -ZhUyU1997, and Zou Chang Wei. - - -The code in the files that constitute xv6 is -Copyright 2006-2022 Frans Kaashoek, Robert Morris, and Russ Cox. - -ERROR REPORTS - -Please send errors and suggestions to Frans Kaashoek and Robert Morris -(kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching -operating system for MIT's 6.1810, so we are more interested in -simplifications and clarifications than new features. - -BUILDING AND RUNNING XV6 - -You will need a RISC-V "newlib" tool chain from -https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for -riscv64-softmmu. Once they are installed, and in your shell -search path, you can run "make qemu". diff --git a/README.md b/README.md new file mode 100644 index 0000000..a9566f2 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# xv6 + +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 RISC-V multiprocessor using ANSI C. + +## Testing + +The makefile exposes several targets inspired by FreeBSD: kernel, world and fs.img + +```bash +make -j$(nproc) kernel +make -j$(nproc) world +make -j$(nproc) fs.img +``` + +To do everything in one sweep: +```bash +make -j$(nproc) qemu +``` + +## Dependencies + + - Qemu (RV) + - Make (GNU variant) + - GCC (RV) + - clang-format (optional) + +
+Fedora + ```bash + sudo dnf install make qemu-system-riscv gcc-riscv64-linux-gnu clang-format + ``` + Alternatively, if you want all "batteries included": + `sudo dnf group install "C Development Tools and Libraries" "Development Tools"` +
+ +## From upstream readme: + +> ACKNOWLEDGMENTS +> +> xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer +> to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, +> 2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides +> pointers to on-line resources for v6. +> +> The following people have made contributions: Russ Cox (context switching, +> locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin +> Clements. +> +> We are also grateful for the bug reports and patches contributed by +> Takahiro Aoyagi, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian +> Chen, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi, +> eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel +> Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt +> Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John +> Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, +> Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin +> Liew, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan +> Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel +> Nider, Hayato Ohhashi, OptimisticSide, Harry Porter, Greg Price, Jude +> Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya +> Shigemitsu, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Rafael Ubal, +> Amane Uehara, Pablo Ventura, Xi Wang, WaheedHafez, Keiichi Watanabe, +> Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, +> ZhUyU1997, and Zou Chang Wei. +> +> +> The code in the files that constitute xv6 is +> Copyright 2006-2022 Frans Kaashoek, Robert Morris, and Russ Cox. +> +> ERROR REPORTS +> +> Please send errors and suggestions to Frans Kaashoek and Robert Morris +> (kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching +> operating system for MIT's 6.1810, so we are more interested in +> simplifications and clarifications than new features. +> +> BUILDING AND RUNNING XV6 +> +> You will need a RISC-V "newlib" tool chain from +> https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for +> riscv64-softmmu. Once they are installed, and in your shell +> search path, you can run "make qemu".