Commit Graph

122 Commits

Author SHA1 Message Date
DeathWish5
1afa429e93 feat: CI run tests 2022-05-14 22:50:17 +08:00
cuishuang
a70a983497 fix some typos
Signed-off-by: cuishuang <imcusg@gmail.com>
2022-04-22 21:01:53 +08:00
Yifan Wu
ca1d7a07b8 Bump Rust to nightly-2022-04-11 && support debugging in release mode 2022-04-16 15:59:10 -07:00
Yu Chen
c009012d85 Merge branch 'ch9' into main 2022-03-20 20:36:12 +08:00
Yifan Wu
53034d7c33 Add ns16550a 2022-02-18 13:09:03 -08:00
Yifan Wu
d3bd19867c Use latest virtio-drivers && add huge_write_mt but it cannot work now 2022-02-08 10:53:21 -08:00
Yifan Wu
89b9d7c161 Merge recent updates from ch8 2022-01-26 01:53:39 -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
e8686526bb Ref asm&global_asm from core::arch. 2022-01-21 10:11:07 -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
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
abd9d361e4 Bump to rust nightly-2022-01-01, feature global_asm,asm->stable 2022-01-01 03:07:09 -08:00
DeathWish5
045c47e4ef user: add critical test for software-synchronous tests 2021-12-23 15:25:06 +08:00
DeathWish5
22db3123d8 user: add peterson algorithm and Eisenberg & McGuire algorithm 2021-12-22 23:35:34 +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
3dc6d9c97c add user app: race_adder with arg 2021-12-05 16:49:37 +08: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
Yifan Wu
bf69560f9b Update rustsbi; huge_write writes 1MiB 2021-08-26 19:04:40 +08:00
Yifan Wu
315e61da1a Rm spin::Mutex except for easy-fs & add new test huge_write & flush cache to disk after a write transaction 2021-07-21 19:10:04 +08:00
Yifan Wu
a09429b32c Link small sections in linker 2021-03-07 19:59:12 +08:00
Yifan Wu
3e1c12b6a1 Add sys_dup && support input/output redirection in user_shell 2021-02-27 22:27:08 +08:00
Yifan Wu
a7346c96b4 DiskInode sz->128bytes && user heap -> 32KiB 2021-02-27 07:43:28 +08:00
Yifan Wu
8a1c96d963 Add tool: cat 2021-02-27 07:15:15 +08:00
Yifan Wu
90d351bfe8 Support cmdline_args when sys_exec. 2021-02-26 12:06:55 +08:00
Yifan Wu
920d077a66 Refactor easy-fs. 2021-02-24 03:34:59 +08:00
Yifan Wu
69933e2985 Close all pipes in pipetest. 2021-02-21 09:28:27 +08:00
Yifan Wu
b6626d534b Fix other usertests: xstate -> exit_code 2021-02-08 18:09:00 +08:00
Yifan Wu
b8240fac5a Fix user_shell 2021-02-08 16:45:57 +08:00
Yifan Wu
a6c7b52283 Fix exit_code in user 2021-02-07 02:13:33 +08:00
Yifan Wu
606abbe6a1 Simple filetest passed on qemu/k210. 2020-12-20 13:52:38 +08:00
Yifan Wu
63bccc4e8f Now sleep test sleeps 5secs. 2020-12-16 15:39:32 +08:00
Yifan Wu
8e178c0080 Pipe OK. 2020-12-14 16:18:33 +08:00
Yifan Wu
f5c029d3db k210 only can use 6M before configuring sdcard. 2020-12-11 18:04:57 +08:00
Yifan Wu
84b10893d4 forktree worked with depth=3 on k210 platform. 2020-12-11 16:14:14 +08:00
Yifan Wu
244c0ee84d Handle backspace for k210/qemu platform && Add lots of user tests. 2020-12-11 01:44:07 +08:00
Yifan Wu
7a1bc49eb3 Update rustsbi-k210 to enable lagacy console_putchar. Adjust alignment of links apps. Run matrix on K210! 2020-12-10 17:20:13 +08:00
Yifan Wu
3a2f89fc67 Avoid panicking when inputting error app name; List all apps when initializing. 2020-12-10 14:51:50 +08:00
Yifan Wu
3642f9c56d Implement many process syscalls. 2020-12-10 11:57:26 +08:00
Yifan Wu
81bef97f09 Add user program initproc/user_shell, allow user programs allocate data on heap. 2020-12-09 09:56:06 +08:00
Yifan Wu
8ee3671269 Split kernel/user trap handler && Fix user tests. 2020-12-07 18:57:23 +08:00
Yifan Wu
064f1cb5cb Fetching buffer arguments from user space. 2020-12-06 13:56:13 +08:00
Yifan Wu
1256085d36 Frame Allocator OK. 2020-12-03 10:40:30 +08:00
Yifan Wu
4b01ff7cc4 Build application at 0x0 in release mode. 2020-12-02 09:40:00 +08:00
Yifan Wu
63aaa9d0a1 Chapter3: power2/3/5 & sleep test worked on k210/qemu based on timer. 2020-11-29 10:31:15 +08:00
Yifan Wu
4590f233b5 sys_yield tests worked on qemu. 2020-11-29 04:01:38 +08:00
Yifan Wu
91043b08cd Switch ok with debug mode apps, implement sys_exit correctly later. 2020-11-29 01:31:36 +08:00
Yifan Wu
e552f3cfca Add sys_yield tests and compile them to different location. 2020-11-28 16:22:29 +08:00
Yifan Wu
f53f5e4b98 Chapter2: Clear .bss inside application. 2020-11-22 13:05:16 +08:00
Yifan Wu
5e5ed05399 Update rustsbi-qemu && batch worked on qemu/k210. 2020-11-20 11:10:38 +08:00
Yifan Wu
3b920ac8f5 Run hello_world/power one by one in batch mode. 2020-11-20 01:18:25 +08:00
Yifan Wu
e9949e5bd4 Try batch but kernel panicked. 2020-11-19 18:01:16 +08:00
Yifan Wu
0d0c7255b6 Auto link multiple applications in kernel. 2020-11-19 04:33:06 +08:00
Yifan Wu
f613fa122c Working on app data auto linking. 2020-11-18 18:29:53 +08:00
Yifan Wu
d1fcf2fc9f Removed unused cache. 2020-11-18 14:53:47 +08:00
Yifan Wu
db8fbdc512 Update user/.gitignore. 2020-11-18 14:49:38 +08:00
Yifan Wu
db0c174f52 Add first user program hello_world.rs 2020-11-18 14:48:13 +08:00