Commit Graph

60 Commits

Author SHA1 Message Date
Yu Chen
a6e7e2510b sbi spec uses a6, a7 as sbicall id, so we need to set a6 to 0 2022-06-22 00:45:17 +08:00
Yu Chen
7c785f8bbf add cargo fmt in Makefile, and exec make fmt 2022-05-20 08:55:07 +08:00
Yifan Wu
326b97a9fa Fix #69. 2022-05-13 00:58:11 -07:00
Yifan Wu
4ec99243da Rollback rustsbi && debugging in release mode 2022-04-16 15:39:10 -07:00
Yifan Wu
6f7ae066c1 Bump to Rust nightly-2022-04-11 rustsbi-qemu=5992db7 rustsbi-k210=1937341 default-mode=debug 2022-04-15 03:45:32 -07:00
Yu Chen
fd0efaa03d add #![deny(missing_docs)] AND #![deny(warnings)] in main.rs, and add more comments 2022-03-26 23:00:04 +08:00
Yu Chen
f1eae45419 update ch4 with more comments 2022-03-26 21:34:42 +08:00
Yu Chen
d99d4f754f update ch4:add some exception support in trap_handler function, add two *_fault.rs apps 2022-03-11 19:11:40 +08:00
Yifan Wu
badc110584 Add boards/ && cargo clippy 2022-01-24 16:12:56 -08:00
Yifan Wu
fadc203e4a cargo clippy & fmt 2022-01-21 14:23:53 -08:00
Yifan Wu
3c0576999f Now PageTable::unmap calls PageTable::find_pte instead of PageTable::find_pte_create. 2022-01-13 17:04:23 -08:00
Yifan Wu
7a18b42e6f Kernel cannot dump now. 2022-01-03 19:37:32 -08:00
Yifan Wu
ba4ff28420 Bump to rust nightly-2022-01-01, feature global_asm,asm->stable 2022-01-01 01:48:25 -08:00
Yifan Wu
1ec1b0fd51 Update os/Makefile, rm ... -f -> rm -f ... 2021-11-27 01:54:31 -08:00
Yifan Wu
4d95f0c075 Now construction of PA/VA only uses 56/39 bits. 2021-11-13 02:55:14 -08:00
Yifan Wu
6d0eb28dc0 rust->nightly-2021-10-15,cargo-binutils->0.3.3 2021-10-20 13:28:55 -07:00
Yifan Wu
928a6f0d8c Remove spin::Mutex in frame_allocator and memory_set. 2021-09-08 00:26:22 +08:00
Yifan Wu
6983848afd Exclusive UPSafeCell: A RefCell wrapper 2021-07-20 00:07:56 +08:00
Yifan Wu
07fc98b7c9 Replace llvm_asm! with asm 2021-07-18 19:21:16 +08:00
Yifan Wu
312b355440 RefCell->UPSafeCell && TaskCx->TCB 2021-07-12 22:09:34 +08:00
Yifan Wu
f1de8355d3 Downgrade cargo-binutils to 0.2.0 2021-04-05 16:27:32 +08:00
Yifan Wu
78aea96604 Fix end_va bug in translated_byte_buffer 2021-03-23 19:18:12 +08:00
Yifan Wu
187b0be482 Link small sections in linker 2021-03-07 19:56:36 +08:00
Yifan Wu
29e9aa690f Do not fetch tools when running on qemu. 2021-03-06 03:21:55 +08:00
Yifan Wu
747af4f069 Fix overflow bug when ceiling va 2021-02-24 03:48:55 +08:00
Yifan Wu
665307e67f Fix alignment in os/build.rs 2021-02-14 01:01:20 +08:00
Yifan Wu
e12a932853 Move kflash.py out of proj. 2021-02-08 11:26:57 +08:00
Yifan Wu
23ef1eb177 Bump rustsbi to 0.1.1 && make config of qemu/k210 different 2021-02-07 18:17:00 +08:00
Yifan Wu
8cb5722b87 Update os/Makefile && Update rust to 2021-01-30 2021-02-02 17:44:45 +08:00
Yifan Wu
1e15b3561d Do not clone KERNEL_SPACE in mm::init 2021-01-27 07:29:16 +08:00
Yifan Wu
e5dd61c2c2 Fix k210 CLOCK_FREQ 2021-01-26 15:32:51 +08:00
Yifan Wu
49b20e7456 Fix os/Makefile: Support macOS 2021-01-21 00:16:33 +08:00
Yifan Wu
ff2c39e40b Update from previous chapters. 2021-01-06 00:19:10 +08:00
Yifan Wu
7d22eb889a Move some variable name to task_cx to task_cx_ptr2 2021-01-04 16:05:15 +08:00
Yifan Wu
30321993c2 Flush icache before returning to user. 2021-01-03 17:02:34 +08:00
Yifan Wu
75c639d5d6 Remove meaningless sstatus::set_sie() when initializing. 2021-01-03 16:05:04 +08:00
Yifan Wu
44ea4ac5a1 Update env. 2021-01-02 10:03: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