Compare commits
No commits in common. "0b430687e837ed2a50603254001dbc8fe74406cf" and "9d0123f43ef3595278649fdc68114293fa1a52fe" have entirely different histories.
0b430687e8
...
9d0123f43e
2 changed files with 49 additions and 84 deletions
49
README
Normal file
49
README
Normal file
|
@ -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".
|
84
README.md
84
README.md
|
@ -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)
|
|
||||||
|
|
||||||
<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