Commit Graph

199 Commits

Author SHA1 Message Date
Yu Chen
aee2000f15 make build BOARD=k210 sucessfully 2022-06-23 22:23:49 +08:00
Yu Chen
a72e2e4c41 update Makefile for CI autotest 2022-06-23 00:11:44 +08:00
Yu Chen
d5ccc3d700 add const VIRTGPU_XRES, VIRTGPU_YRES in boards/qemu.rs for X*Y resolution in virtio_gpu 2022-06-22 23:55:15 +08:00
Yu Chen
136d475bc5 change virtio-gpu resolution from 1024x768(qemu-5.2 default res) to 1280x800(qemu-7.0 default res) 2022-06-22 23:39:25 +08:00
Yu Chen
a30ec73d55 make gui ; make gui TEST=1 (for autotest) can work correctly. But the os kernel has a little bug on drawing screen for gui app 2022-06-22 00:40:32 +08:00
Yu Chen
bc2aec9764 add VIRT_TEST MMIO range (0x0010_0000, 0x00_2000) 2022-06-22 00:23:33 +08:00
Yu Chen
6c0e13bb70 sbi spec uses a6, a7 as sbicall id, so we need to set a6 to 0 2022-06-22 00:17:50 +08:00
Yu Chen
6d10d3e3a3 in gui app, can recv keyboard and mouse info 2022-06-20 23:57:11 +08:00
Yu Chen
39ba7253b0 get the device tree in qemu 2022-06-20 23:32:50 +08:00
Yu Chen
58096b08d6 cargo fmt 2022-06-20 23:32:27 +08:00
Yu Chen
f4a7714fe0 set correct virtio-blk irq num --> 8, now exec syscall can read file correctly, and shell can work again 2022-06-20 23:32:16 +08:00
Yu Chen
85d4d72a4d create_desktop in kernel can run correctly 2022-06-20 22:41:20 +08:00
Yu Chen
e7e7d572ba can run virtio gpu/block 2022-06-18 17:50:50 +08:00
Yu Chen
efc35aee3b add gui in os 2022-06-18 15:23:16 +08:00
Yu Chen
5a362ba7cd add cargo fmt in Makefile, and exec make fmt 2022-05-20 08:40:09 +08:00
Yu Chen
ca997784ab add comments for qemu-exit 2022-05-15 17:37:23 +08:00
Yu Chen
a85cb98743 add VIRT_TEST support for qemu exit with exit_code, for CI autotest 2022-05-15 17:34:24 +08:00
Yu Chen
c234d1417b fix bug in sbi_shutdown 2022-05-15 12:18:39 +08:00
Yu Chen
cf00c3ae5d update github CI for autotest 2022-05-15 12:03:05 +08:00
Yu Chen
8e73480c99 cargo fmt 2022-05-14 22:54:20 +08:00
DeathWish5
1afa429e93 feat: CI run tests 2022-05-14 22:50:17 +08:00
Yifan Wu
964445e59c Fix #71. 2022-05-12 23:14:42 -07:00
RunOS
9d2690f8d9 virtaddr -> usize high 256GB addrspace bug fix 2022-04-30 21:07:37 +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
21d57c1396 use exclusive_session to eliminate some explicit drops. 2022-03-10 16:41:06 -08:00
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
Yifan Wu
b77b108a28 Update os/Makefile, rm ... -f -> rm -f ... 2021-11-27 01:57:11 -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
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
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
e7f120bab3 Downgrade cargo-binutils to 0.2.0 2021-04-05 16:29:31 +08:00
Yifan Wu
f7ed29756c Link small sections in linker 2021-04-05 16:29:31 +08:00
Yifan Wu
ff69985d79 Downgrade cargo-binutils to 0.2.0 2021-04-05 16:28:36 +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
3554e20dc6 Do not fetch tools when running on qemu. 2021-03-06 03:33:28 +08:00
Yifan Wu
d57a160b32 Do not fetch tools when running on qemu. 2021-03-06 03:32:24 +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
e8a0682cf8 Refactor easy-fs 2021-02-24 03:42:45 +08:00
Yifan Wu
920d077a66 Refactor easy-fs. 2021-02-24 03:34:59 +08:00
Yifan Wu
87743bac4d Merge branch 'ch7' into dev 2021-02-19 00:38:39 +08:00
Yifan Wu
04114ad949 Remove Any Trait of File 2021-02-19 00:38:21 +08:00
Yifan Wu
1b6f2c4c1e Fix lock uses in ch5 2021-02-16 20:50:47 +08:00
Yifan Wu
9b65abcfa8 Fix lock uses in ch5 2021-02-16 20:50:24 +08:00
Yifan Wu
caac1beb0a Mutex -> RefCell in Processor. 2021-02-15 16:44:00 +08:00
Yifan Wu
fd75ac027a Mutex -> RefCell in Processor. 2021-02-15 16:43:35 +08:00
Yifan Wu
d97b0a20ab Replace TCB.inner.block with TCB::acquire_inner_lock 2021-02-11 10:27:41 +08:00
Yifan Wu
e04394af56 Replace TCB.inner.block with TCB::acquire_inner_lock 2021-02-11 10:27:19 +08:00
Yifan Wu
1cc75ded25 Move kflash.py out of proj. 2021-02-08 11:22:25 +08:00
Yifan Wu
dddd04b683 Move kflash.py out of proj. 2021-02-08 11:20:47 +08:00
Yifan Wu
eb5ef8e956 Bump rustsbi to 0.1.1 && make config of qemu/k210 different 2021-02-07 18:40:58 +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
18da8a3879 Update os/Makefile && Update rust to 2021-01-30 2021-02-02 18:03:38 +08:00
Yifan Wu
4f7db8b92e Update os/Makefile && Update rust to 2021-01-30 2021-02-02 18:00:55 +08:00
Yifan Wu
6267c5d922 Do not clone KERNEL_SPACE in mm::init 2021-01-27 07:30:47 +08:00
Yifan Wu
9d7882a73d Do not clone KERNEL_SPACE in mm::init 2021-01-27 07:30:27 +08:00
Yifan Wu
9772373743 Fix os/Makefile: Support macOS 2021-01-21 00:26:56 +08:00
Yifan Wu
e588d40d70 Fix os/Makefile: Support macOS 2021-01-21 00:26:08 +08:00