Commit Graph

152 Commits

Author SHA1 Message Date
Yifan Wu
fdeaca9bb0 Fix #69. 2022-05-13 01:02:12 -07:00
Yifan Wu
e8871ec957
Merge pull request #71 from Gallium70/ch8 2022-05-12 22:56:23 -07:00
youyuyang
2e6da60a27 FIX: Avoid double-borrow when thread early exits 2022-05-13 10:40:37 +08:00
Yu Chen
15dec102fa add comments in user/src/bin/stackless_coroutine.rs 2022-04-30 08:30:16 +08:00
Yu Chen
3cb46a7333 add user/src/bin/stackless_coutine.rs 2022-04-30 08:21:51 +08:00
Yu Chen
253f5a4982 add comments about inline asm in usr/src/bin/stackful_coroutine.rs 2022-04-29 12:02:06 +08:00
Yu Chen
f0a11d1444 fix typo 2022-04-29 11:48:44 +08:00
Yu Chen
e8cabee7d7 add more comments 2022-04-29 11:35:03 +08:00
Yu Chen
119eb9d634 rename green_threads to stackful_coroutine, add #[inline(never)] in t_yield fun, then run correctly 2022-04-29 11:10:29 +08:00
Yu Chen
81d3ffce64 update usr_app: green_threads, but still wrong. rustc add two more instrs in switch function asm codes 2022-04-24 14:10:21 +08:00
Yu Chen
02a3880e34 Merge branch 'ch8' of github.com:rcore-os/rCore-Tutorial-v3 into ch8 2022-04-24 13:00:00 +08:00
Yu Chen
7f5fa3355f add usr app: green_threads 2022-04-24 12:59:14 +08:00
Yifan Wu
cc1e55c958 Bump Rust to nightly-2022-04-11 && support debugging in release mode 2022-04-16 15:56:41 -07:00
Yifan Wu
f69f17b40e Merge branch 'ch8' of https://github.com/rcore-os/rCore-Tutorial-v3 into ch8 2022-04-16 15:53:48 -07:00
Yifan Wu
c40fb55764 Add test early_exit 2022-04-01 02:22:59 -07:00
Yu Chen
9ad3bb4312 update README 2022-03-20 23:52:09 +08:00
Yu Chen
dc6cd26f58 add CI for build-doc 2022-03-20 21:39:37 +08:00
Yifan Wu
61152471b7 Add boards/ && clippy 2022-01-24 23:23:03 -08:00
Yifan Wu
6f09af2c0f Support signal mechanism for ch8(only works on signal-thread apps) 2022-01-23 13:14:56 -08:00
Yifan Wu
29d6d26644 Fix cat && add count_lines 2022-01-22 12:54:00 -08:00
Yifan Wu
1c55663478 Small Fix && cargo fmt 2022-01-22 12:40:54 -08:00
Yifan Wu
740730e7f7 Merge recent update from ch7 && cargo clippy 2022-01-22 12:32:36 -08:00
Yifan Wu
514c110a28 Bump Rust to nightly-2022-01-19 2022-01-20 16:20:03 -08:00
Yifan Wu
40f37501af Maximum concurrent processes from 40/35->30. 2022-01-19 16:40:21 -08:00
Yifan Wu
24e530935f Update .gitignore 2022-01-19 05:08:21 -08:00
Yifan Wu
2ac621972c Merge recent updates from ch7. 2022-01-18 04:40:07 -08:00
Yifan Wu
72d6b38fca Now PageTable::unmap calls PageTable::find_pte instead of PageTable::find_pte_create. 2022-01-13 17:24:19 -08:00
Yifan Wu
cf6d905ac4 Kernel cannot dump now. 2022-01-03 19:40:30 -08:00
Yifan Wu
abd9d361e4 Bump to rust nightly-2022-01-01, feature global_asm,asm->stable 2022-01-01 03:07:09 -08:00
Yifan Wu
06243fac76 Bump to Rust nightly 2021-12-15 2021-12-22 03:53:24 -08:00
Yu Chen
713e78ea91 add condvar in kernel and app 2021-12-13 15:30:27 +08:00
Yu Chen
1c0bbf4404 add user app: sync_sem.rs 2021-12-11 21:40:04 +08:00
Yu Chen
90796450fe fix typo of sys_semaphore_create 2021-12-11 21:11:10 +08:00
Yifan Wu
4ad64e83f6 MutexBlocking works correctly. 2021-12-09 08:46:08 -08:00
Yu Chen
3dc6d9c97c add user app: race_adder with arg 2021-12-05 16:49:37 +08:00
Yifan Wu
b77b108a28 Update os/Makefile, rm ... -f -> rm -f ... 2021-11-27 01:57:11 -08:00
Yu Chen
1baf177f9e update .gitignore README.md dev-env-info.md 2021-11-20 15:31:39 +08:00
Yifan Wu
2041a7c0d4 Now construction of PA/VA only uses 56/39 bits. 2021-11-13 03:06:44 -08:00
Yifan Wu
cd6754a7df rust->nightly-2021-10-15,cargo-binutils->0.3.3 2021-10-20 13:49:12 -07:00
Yifan Wu
5753a09366 Implement mpsc using semaphores. 2021-10-10 17:20:53 -07:00
Yifan Wu
aedd7f5612 Add a solution of Philosopher dining problem using Mutex with an illustration. 2021-10-08 14:54:49 -07:00
Yifan Wu
b851f8d743 Create threads with a argument. See bin/threads_arg.rs 2021-10-08 13:50:36 -07:00
Yifan Wu
8adfc90db9 Implement sleep using blocking & BinaryHeap. 2021-10-08 12:55:39 -07:00
Yifan Wu
7225254d8a Add MutexBlocking. 2021-10-07 14:33:44 -07:00
Yifan Wu
b0fad5aca3 Add MutexSpin and several syscalls. 2021-10-07 12:40:47 -07:00
Yifan Wu
43c6b7cf01 Add race_adder_{atomic,loop}. 2021-10-07 09:26:34 -07:00
Yifan Wu
136e26ae6c User base from 0x0->0x10000; user image size limit from 128MB->16MB; trigger race condition on k210 2021-10-03 07:36:41 -07:00
Yifan Wu
24b3c82b8a Stage2: multiple user threads based on uniprocessor, see new added test race_adder and threads. 2021-10-02 16:18:05 -07:00
Yifan Wu
1493ec9459 Stage1 clear! All applications work but now they are based on threads. 2021-09-30 14:36:33 -07:00
Yifan Wu
c599a31dd0 Debugging sys_exec :( 2021-09-30 10:09:21 -07:00