diff --git a/README b/README new file mode 100644 index 0000000..ed8bba5 --- /dev/null +++ b/README @@ -0,0 +1,49 @@ +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 deleted file mode 100644 index a9566f2..0000000 --- a/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# 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".