Yifan Wu
|
334d868a5c
|
We should disable sie before trapping back to user.
|
2022-03-10 16:27:05 -08:00 |
|
Yifan Wu
|
fbe8e39b38
|
Still a lot of bugs :(
|
2022-03-04 09:02:32 -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
|
6ef566faac
|
IRQ-based VirtIOBlk Access. Plz wait for the virtio-drivers crate to be updated.
|
2022-02-07 14:13:30 -08:00 |
|
Yifan Wu
|
89b9d7c161
|
Merge recent updates from ch8
|
2022-01-26 01:53:39 -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
|
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
|
2ac621972c
|
Merge recent updates from ch7.
|
2022-01-18 04:40:07 -08:00 |
|
Yifan Wu
|
cba8d9e6d8
|
Now PageTable::unmap calls PageTable::find_pte instead of PageTable::find_pte_create.
|
2022-01-13 17:27:09 -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 |
|
Yu Chen
|
713e78ea91
|
add condvar in kernel and app
|
2021-12-13 15:30:27 +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
|
3d2909e990
|
Merge branch 'ch8' into main
|
2021-11-20 15:01:58 +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
|
5753a09366
|
Implement mpsc using semaphores.
|
2021-10-10 17:20:53 -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
|
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
|
26bbec6320
|
Working on ch8
|
2021-09-28 01:21:59 +08:00 |
|
Yifan Wu
|
638eb8666a
|
Update rustc && rustsbi-k210
|
2021-08-26 21:03:50 +08:00 |
|
Yifan Wu
|
bf69560f9b
|
Update rustsbi; huge_write writes 1MiB
|
2021-08-26 19:04:40 +08:00 |
|
Felix Yan
|
03151ac124
|
Correct typos in drivers/block/sdcard.rs
|
2021-08-08 17:46:41 +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
|
f7ed29756c
|
Link small sections in linker
|
2021-04-05 16:29:31 +08:00 |
|
Yifan Wu
|
a09429b32c
|
Link small sections in linker
|
2021-03-07 19:59:12 +08:00 |
|
Spxg
|
a1cda4aa59
|
panic_handler: update msg format and add column location
|
2021-03-07 11:58:14 +08:00 |
|
Yifan Wu
|
818363f2ca
|
Fix qemu mmio range
|
2021-03-05 02:07:04 +08:00 |
|
Yifan Wu
|
195816ce2c
|
Fix qemu mmio range
|
2021-03-05 02:06:40 +08:00 |
|
Yifan Wu
|
dd2be93ef0
|
Fix k210 alignment issue when push cmdargs when sys_exec
|
2021-02-28 08:51:08 +08:00 |
|
Yifan Wu
|
e643af7937
|
Fix k210 alignment issue when push cmdargs when sys_exec
|
2021-02-28 08:50:45 +08:00 |
|
Yifan Wu
|
67372ac84d
|
Merge updates from ch7
|
2021-02-28 06:38:13 +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
|
90d351bfe8
|
Support cmdline_args when sys_exec.
|
2021-02-26 12:06:55 +08:00 |
|
Yifan Wu
|
35cc3d6e2f
|
Fix overflow bug when ceiling va
|
2021-02-24 03:50:59 +08:00 |
|
Yifan Wu
|
b8f1db4aa3
|
Fix overflow bug when ceiling va
|
2021-02-24 03:50:33 +08:00 |
|
Yifan Wu
|
04114ad949
|
Remove Any Trait of File
|
2021-02-19 00:38:21 +08:00 |
|
Yifan Wu
|
9b65abcfa8
|
Fix lock uses in ch5
|
2021-02-16 20:50:24 +08:00 |
|
Yifan Wu
|
fd75ac027a
|
Mutex -> RefCell in Processor.
|
2021-02-15 16:43:35 +08:00 |
|
Yifan Wu
|
e04394af56
|
Replace TCB.inner.block with TCB::acquire_inner_lock
|
2021-02-11 10:27:19 +08:00 |
|
Yifan Wu
|
33373aa20d
|
Bump rustsbi to 0.1.1 && make config of qemu/k210 different
|
2021-02-07 18:39:52 +08:00 |
|
Yifan Wu
|
9d7882a73d
|
Do not clone KERNEL_SPACE in mm::init
|
2021-01-27 07:30:27 +08:00 |
|
Yifan Wu
|
dbe56c1362
|
Move some variable name to task_cx to task_cx_ptr2(ch5 ver).
|
2021-01-04 16:20:09 +08:00 |
|
Yifan Wu
|
fd638d5388
|
Remove meaningless sstatus::set_sie() when initializing.
|
2021-01-03 17:38:37 +08:00 |
|
Yifan Wu
|
7c0d66c58f
|
Remove some warnings.
|
2020-12-20 23:49:35 +08:00 |
|
Yifan Wu
|
606abbe6a1
|
Simple filetest passed on qemu/k210.
|
2020-12-20 13:52:38 +08:00 |
|
Yifan Wu
|
1bafe9615f
|
Fix virtio_phys_to_virt. Now we can load app from disk on qemu/k210!
|
2020-12-20 08:46:27 +08:00 |
|
Yifan Wu
|
ae9eecf97b
|
Load app from sdcard on K210, but panicked on qemu.
|
2020-12-20 00:52:14 +08:00 |
|
Yifan Wu
|
84900e8b94
|
Remove block device test.
|
2020-12-16 17:44:09 +08:00 |
|
Yifan Wu
|
914f042617
|
Add sdcard driver based on k210-rust crates && adjust clock freq.
|
2020-12-16 15:19:29 +08:00 |
|
Yifan Wu
|
f754326d0a
|
virtio-blk worked.
|
2020-12-16 10:18:38 +08:00 |
|
Yifan Wu
|
8e178c0080
|
Pipe OK.
|
2020-12-14 16:18:33 +08:00 |
|
Yifan Wu
|
2e6734027d
|
Rewrite Stdin/Stdout
|
2020-12-13 15:07:19 +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
|
eddbc8954c
|
Implement sys_read && allocate pid and kernel stack dynamically.
|
2020-12-08 17:17:28 +08:00 |
|
Yifan Wu
|
1bc53c0b5f
|
Split TaskManager and Processor.
|
2020-12-08 15:37:10 +08:00 |
|
Yifan Wu
|
0c12d43b61
|
Get app data by name.
|
2020-12-08 10:43:24 +08:00 |
|
Yifan Wu
|
949f2095bb
|
ch4 ok on qemu/k210 && Remove some comments.
|
2020-12-08 01:35:08 +08:00 |
|
Yifan Wu
|
8ee3671269
|
Split kernel/user trap handler && Fix user tests.
|
2020-12-07 18:57:23 +08:00 |
|
Yifan Wu
|
f54573ae15
|
Fetch buffer in user space as a Vec.
|
2020-12-07 18:07:19 +08:00 |
|
Yifan Wu
|
064f1cb5cb
|
Fetching buffer arguments from user space.
|
2020-12-06 13:56:13 +08:00 |
|
Yifan Wu
|
3625b7578d
|
Analyse ELF.
|
2020-12-04 17:53:14 +08:00 |
|
Yifan Wu
|
0011fe9477
|
Kernel remapped.
|
2020-12-04 17:23:35 +08:00 |
|
Yifan Wu
|
1256085d36
|
Frame Allocator OK.
|
2020-12-03 10:40:30 +08:00 |
|
Yifan Wu
|
2fd70b0ff4
|
Heap test passed on k210/qemu, heap size = 3M.
|
2020-12-02 10:32:26 +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
|
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
|
c701cd00ce
|
Chapter1: Update panic_handler.
|
2020-11-13 12:06:39 +08:00 |
|
Yifan Wu
|
49050aca3f
|
Update linker & Hello k210/qemu(release mode).
|
2020-11-12 17:13:57 +08:00 |
|
Yifan Wu
|
406acaae2c
|
Small update.
|
2020-11-11 23:40:00 +08:00 |
|
Yifan Wu
|
5370f725be
|
Load kernel on qemu/k210.
|
2020-11-11 16:50:00 +08:00 |
|
Yifan Wu
|
29f4683ad8
|
Compiled on target platform.
|
2020-11-10 23:02:38 +08:00 |
|