Yu Chen
713e78ea91
add condvar in kernel and app
3 years ago
Yu Chen
1c0bbf4404
add user app: sync_sem.rs
3 years ago
Yu Chen
3dc6d9c97c
add user app: race_adder with arg
3 years ago
Yifan Wu
5753a09366
Implement mpsc using semaphores.
3 years ago
Yifan Wu
aedd7f5612
Add a solution of Philosopher dining problem using Mutex with an illustration.
3 years ago
Yifan Wu
b851f8d743
Create threads with a argument. See bin/threads_arg.rs
3 years ago
Yifan Wu
8adfc90db9
Implement sleep using blocking & BinaryHeap.
3 years ago
Yifan Wu
7225254d8a
Add MutexBlocking.
3 years ago
Yifan Wu
b0fad5aca3
Add MutexSpin and several syscalls.
3 years ago
Yifan Wu
43c6b7cf01
Add race_adder_{atomic,loop}.
3 years ago
Yifan Wu
136e26ae6c
User base from 0x0->0x10000; user image size limit from 128MB->16MB; trigger race condition on k210
4 years ago
Yifan Wu
24b3c82b8a
Stage2: multiple user threads based on uniprocessor, see new added test race_adder and threads.
4 years ago
Yifan Wu
1493ec9459
Stage1 clear! All applications work but now they are based on threads.
4 years ago
Yifan Wu
c599a31dd0
Debugging sys_exec :(
4 years ago
Yifan Wu
bf69560f9b
Update rustsbi; huge_write writes 1MiB
4 years ago
Yifan Wu
315e61da1a
Rm spin::Mutex except for easy-fs & add new test huge_write & flush cache to disk after a write transaction
4 years ago
Yifan Wu
a09429b32c
Link small sections in linker
4 years ago
Yifan Wu
3e1c12b6a1
Add sys_dup && support input/output redirection in user_shell
4 years ago
Yifan Wu
a7346c96b4
DiskInode sz->128bytes && user heap -> 32KiB
4 years ago
Yifan Wu
8a1c96d963
Add tool: cat
4 years ago
Yifan Wu
90d351bfe8
Support cmdline_args when sys_exec.
4 years ago
Yifan Wu
920d077a66
Refactor easy-fs.
4 years ago
Yifan Wu
69933e2985
Close all pipes in pipetest.
4 years ago
Yifan Wu
b6626d534b
Fix other usertests: xstate -> exit_code
4 years ago
Yifan Wu
b8240fac5a
Fix user_shell
4 years ago
Yifan Wu
a6c7b52283
Fix exit_code in user
4 years ago
Yifan Wu
606abbe6a1
Simple filetest passed on qemu/k210.
4 years ago
Yifan Wu
63bccc4e8f
Now sleep test sleeps 5secs.
4 years ago
Yifan Wu
8e178c0080
Pipe OK.
4 years ago
Yifan Wu
f5c029d3db
k210 only can use 6M before configuring sdcard.
4 years ago
Yifan Wu
84b10893d4
forktree worked with depth=3 on k210 platform.
4 years ago
Yifan Wu
244c0ee84d
Handle backspace for k210/qemu platform && Add lots of user tests.
4 years ago
Yifan Wu
7a1bc49eb3
Update rustsbi-k210 to enable lagacy console_putchar. Adjust alignment of links apps. Run matrix on K210!
4 years ago
Yifan Wu
3a2f89fc67
Avoid panicking when inputting error app name; List all apps when initializing.
4 years ago
Yifan Wu
3642f9c56d
Implement many process syscalls.
4 years ago
Yifan Wu
81bef97f09
Add user program initproc/user_shell, allow user programs allocate data on heap.
4 years ago
Yifan Wu
8ee3671269
Split kernel/user trap handler && Fix user tests.
4 years ago
Yifan Wu
064f1cb5cb
Fetching buffer arguments from user space.
4 years ago
Yifan Wu
1256085d36
Frame Allocator OK.
4 years ago
Yifan Wu
4b01ff7cc4
Build application at 0x0 in release mode.
4 years ago
Yifan Wu
63aaa9d0a1
Chapter3: power2/3/5 & sleep test worked on k210/qemu based on timer.
4 years ago
Yifan Wu
4590f233b5
sys_yield tests worked on qemu.
4 years ago
Yifan Wu
91043b08cd
Switch ok with debug mode apps, implement sys_exit correctly later.
4 years ago
Yifan Wu
e552f3cfca
Add sys_yield tests and compile them to different location.
4 years ago
Yifan Wu
f53f5e4b98
Chapter2: Clear .bss inside application.
4 years ago
Yifan Wu
5e5ed05399
Update rustsbi-qemu && batch worked on qemu/k210.
4 years ago
Yifan Wu
3b920ac8f5
Run hello_world/power one by one in batch mode.
4 years ago
Yifan Wu
e9949e5bd4
Try batch but kernel panicked.
4 years ago
Yifan Wu
0d0c7255b6
Auto link multiple applications in kernel.
4 years ago
Yifan Wu
f613fa122c
Working on app data auto linking.
4 years ago