11# rCore-Tutorial-v3
2- rCore-Tutorial version 3.5 . See the [ Documentation in Chinese] ( https://rcore-os.github.io/rCore-Tutorial-Book-v3/ ) .
2+ rCore-Tutorial version 3.6 . See the [ Documentation in Chinese] ( https://rcore-os.github.io/rCore-Tutorial-Book-v3/ ) .
33
44rCore-Tutorial API Docs. See the [ API Docs of Ten OSes ] ( #OS-API-DOCS )
55
@@ -8,7 +8,7 @@ If you don't know Rust Language and try to learn it, please visit [Rust Learnin
88Official QQ group number: 735045051
99
1010## news
11- - 25/01 /2022: Version 3.6.0 is on the way! Now we directly update the code on chX branches, please periodically check if there are any updates.
11+ - 23/06 /2022: Version 3.6.0 is on the way! Now we directly update the code on chX branches, please periodically check if there are any updates.
1212
1313## Overview
1414
@@ -44,18 +44,18 @@ $ rustup component add rust-src
4444
4545### Install Qemu
4646
47- Here we manually compile and install Qemu 5 .0.0. For example, on Ubuntu 18.04:
47+ Here we manually compile and install Qemu 7 .0.0. For example, on Ubuntu 18.04:
4848
4949``` sh
5050# install dependency packages
5151$ sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
5252 gawk build-essential bison flex texinfo gperf libtool patchutils bc \
5353 zlib1g-dev libexpat-dev pkg-config libglib2.0-dev libpixman-1-dev git tmux python3 python3-pip
5454# download Qemu source code
55- $ wget https://download.qemu.org/qemu-5 .0.0.tar.xz
56- # extract to qemu-5 .0.0/
57- $ tar xvJf qemu-5 .0.0.tar.xz
58- $ cd qemu-5 .0.0
55+ $ wget https://download.qemu.org/qemu-7 .0.0.tar.xz
56+ # extract to qemu-7 .0.0/
57+ $ tar xvJf qemu-7 .0.0.tar.xz
58+ $ cd qemu-7 .0.0
5959# build
6060$ ./configure --target-list=riscv64-softmmu,riscv64-linux-user
6161$ make -j$( nproc)
@@ -64,9 +64,9 @@ $ make -j$(nproc)
6464Then, add following contents to ` ~/.bashrc ` (please adjust these paths according to your environment):
6565
6666```
67- export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-5 .0.0
68- export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-5 .0.0/riscv64-softmmu
69- export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-5 .0.0/riscv64-linux-user
67+ export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7 .0.0
68+ export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7 .0.0/riscv64-softmmu
69+ export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7 .0.0/riscv64-linux-user
7070```
7171
7272Finally, update the current shell:
@@ -79,7 +79,7 @@ Now we can check the version of Qemu:
7979
8080``` sh
8181$ qemu-system-riscv64 --version
82- QEMU emulator version 5 .0.0
82+ QEMU emulator version 7 .0.0
8383Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
8484```
8585
@@ -251,13 +251,9 @@ The API Docs for Ten OS
251251
252252## Working in progress
253253
254- Our first release 3.5 .0 (chapter 1-7 ) has been published.
254+ Our first release 3.6 .0 (chapter 1-9 ) has been published, and we are still working on it .
255255
256- There will be 9 chapters in our next release 3.6.0, where 2 new chapters will be added:
257- * chapter 8: synchronization on a uniprocessor
258- * chapter 9: I/O devices
259-
260- Current version is 3.6.0-alpha.1 and we are still working on it.
256+ * chapter 9: need more descripts about different I/O devices
261257
262258Here are the updates since 3.5.0:
263259
@@ -279,18 +275,16 @@ Here are the updates since 3.5.0:
279275* [x] switch the code of chapter 6 and chapter 7
280276* [x] support signal mechanism in chapter 7/8(only works for apps with a single thread)
281277* [x] Add boards/ directory and support rustdoc, for example you can use `cargo doc --no-deps --open` to view the documentation of a crate
282-
278+ * [x] code of chapter 9: device drivers based on interrupts, including UART, block, keyboard, mouse, gpu devices
279+ * [x] add CI autotest and doc in github
283280### Todo(High priority)
284281
285- * [ ] review documentation, current progress: 5/9
286- * [ ] support user-level sync primitives in chapter 8
287- * [ ] code of chapter 9: device drivers based on interrupts, including UART and block devices
282+ * [ ] review documentation, current progress: 8/9
288283* [ ] use old fs image optionally, do not always rebuild the image
289- * [ ] add new system calls: getdents64/fstat
290284* [ ] shell functionality improvement(to be continued...)
291285* [ ] give every non-zero process exit code an unique and clear error type
292286* [ ] effective error handling of mm module
293-
287+ * [ ] add more os functions for understanding os conecpts and principles
294288### Todo(Low priority)
295289
296290* [ ] rewrite practice doc and remove some inproper questions
0 commit comments