Compare commits
2 commits
9d0123f43e
...
0b430687e8
Author | SHA1 | Date | |
---|---|---|---|
|
0b430687e8 | ||
|
7bdb25a790 |
2 changed files with 84 additions and 49 deletions
49
README
49
README
|
@ -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".
|
|
84
README.md
Normal file
84
README.md
Normal file
|
@ -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)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Fedora</summary>
|
||||||
|
```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"`
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## 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".
|
Loading…
Reference in a new issue