1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 08:26:17 +04:00
Commit Graph

244 Commits

Author SHA1 Message Date
WangRunji
92ae57b251 fix user program memory layout on NoMMU 2018-12-27 22:44:01 +08:00
WangRunji
daee1e9f94 fix bugs on K210 2018-12-27 22:43:48 +08:00
WangRunji
b3a8e95d78 merge interrupt & context switch for rv32 & rv64 2018-12-27 19:48:08 +08:00
WangRunji
de24f6673c remove '\r' 2018-12-27 15:56:20 +08:00
WangRunji
0d957ff1a6 fix getchar on K210 2018-12-26 23:53:14 +08:00
dzy
4b17055f30 running user program. 2018-12-26 21:07:36 +08:00
dzy
e74f749ff3 fix context change bug. user sh is running!!! 2018-12-26 16:10:00 +08:00
dzy
6f2d059ba5 implement map_kernel, now enters the kernel well 2018-12-26 15:42:08 +08:00
dzy
bf3a67a7e4 remap_kernel runs fine 2018-12-26 15:03:35 +08:00
dzy
21adebb203 run until ms.token() 2018-12-26 14:56:13 +08:00
dzy
ccee527272 runs without pagefault but does not reach end of remap_kernel 2018-12-26 14:04:11 +08:00
dzy
a4348428a6 can run until update 2018-12-26 13:58:08 +08:00
dzy
d67a224494 add wrj's 704af94 patch 2018-12-26 11:55:27 +08:00
dzy
ed3fb6d423 another temporary 2018-12-26 09:54:14 +08:00
dzy
0dbffbc0fa temporary 2018-12-26 00:12:10 +08:00
WangRunji
af6d533cb5 fix trap return on M-Mode 2018-12-25 00:56:25 +08:00
WangRunji
3de76885fa llc build for rv64imc 2018-12-25 00:33:29 +08:00
WangRunji
020e3505ee enable timer interrupt for K210 2018-12-25 00:30:21 +08:00
dzy
b7e124930d fix compilation errors 2018-12-24 21:36:33 +08:00
dzy
3910f71521 preliminary support for riscv64, not tested.
riscv32 runs fine.
2018-12-24 20:52:54 +08:00
WangRunji
3a4b8f5dac fix trap for rv64 2018-12-24 20:28:42 +08:00
WangRunji
8529d9fe4e fix const, linker, build for K210 2018-12-23 03:33:05 +08:00
WangRunji
9ab4fd40ea fix atomic for K210. enable print mutex again 2018-12-23 03:30:01 +08:00
WangRunji
70b6db4282 make clear_bss faster 2018-12-23 03:10:59 +08:00
dzy
1d1d4109c3 Make script easily support both rv32 and rv64. 2018-12-22 17:58:17 +08:00
dzy
98c94a0d83 Fix register size (4->XLEN) in trap handling. 2018-12-22 17:41:47 +08:00
WangRunji
45b91fbcad update rv64 build script. print hello on QEMU! 2018-12-22 15:54:03 +08:00
WangRunji
d3ef0252ac move setup_page_table to BBL 2018-12-22 15:40:47 +08:00
WangRunji
3ea104da97 Merge remote-tracking branch 'dzy/rust-rv64' into rust-rv64
# Conflicts:
#	kernel/Cargo.toml
2018-12-21 19:22:56 +08:00
WangRunji
0af9776dbd add .stack section. clear bss 2018-12-21 19:19:55 +08:00
WangRunji
7240198a54 fix newline: '\r\n' 2018-12-21 19:02:50 +08:00
WangRunji
62b931d576 print hello on K210 2018-12-21 01:50:52 +08:00
dzy
a75e52691d port to newer riscv crate supporting rv64 2018-12-20 18:21:58 +08:00
WangRunji
d4b6cc1082 compile rv64 pass on macOS 2018-12-20 01:13:42 +08:00
WangRunji
02bd2b2317 remove arch/riscv64 directory 2018-12-20 01:08:40 +08:00
dzy
f954c2fd6a Completely get rid of cargo-generated target/ 2018-12-17 16:48:46 +08:00
dzy
61a3beb8ba Start porting for rv64 2018-12-17 14:58:16 +08:00
dzy
7b0ac1b84e Script to allow rustc-only builds without cargo. 2018-12-07 20:50:39 +08:00
dzy
25ccdf6731 Update and cleanup makefile.
* Change few places from riscv64 to riscv32. Previously it was rv64
  because the code author does not have a 32bit toolchain and used a
  64bit one instead.

* Add new board type 'none', for running on qemu.
2018-12-07 20:48:44 +08:00
equation314
d5a6eb2020 user: fix build error 2018-12-03 12:30:03 +08:00
Wang Runji
3f2beab52d
Merge branch 'master' into user-img 2018-12-02 22:39:59 +08:00
WangRunji
e7039945c1 move user img, remove useless files 2018-12-02 21:18:37 +08:00
WangRunji
acafe19e26 fix runtime error on aarch64
- InactivePageTable::activate should be separated for user & kernel (TTBR1/0)
- disable swappable for aarch64 (bug?)
- use polling getchar as serial interrupt is not implemented
2018-12-02 21:17:53 +08:00
equation314
66ac30d401 user: update make clean in kernel/ 2018-12-02 19:56:29 +08:00
equation314
710b6d1a28 user: update Makefiles 2018-12-02 19:51:52 +08:00
equation314
e86229cb71 user: user rust programs are runnable 2018-12-02 19:44:05 +08:00
WangRunji
b5ced136f7 fix merge compile error 2018-12-02 00:58:15 +08:00
WangRunji
2afe8c731e Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
#	crate/memory/src/memory_set.rs
#	kernel/Cargo.lock
#	kernel/src/arch/aarch64/interrupt/handler.rs
#	kernel/src/arch/aarch64/interrupt/mod.rs
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/aarch64/mod.rs
#	kernel/src/arch/aarch64/paging.rs
#	kernel/src/consts.rs
#	kernel/src/fs.rs
#	kernel/src/lib.rs
#	kernel/src/memory.rs
#	kernel/src/process/context.rs
#	tools/riscv-pk/.gitignore
#	tools/riscv-pk/LICENSE
#	tools/riscv-pk/Makefile.in
#	tools/riscv-pk/README.md
#	tools/riscv-pk/aclocal.m4
#	tools/riscv-pk/bbl/bbl.ac
#	tools/riscv-pk/bbl/bbl.c
#	tools/riscv-pk/bbl/bbl.h
#	tools/riscv-pk/bbl/bbl.lds
#	tools/riscv-pk/bbl/bbl.mk.in
#	tools/riscv-pk/bbl/logo.c
#	tools/riscv-pk/bbl/payload.S
#	tools/riscv-pk/bbl/raw_logo.S
#	tools/riscv-pk/bbl/riscv_logo.txt
#	tools/riscv-pk/config.h.in
#	tools/riscv-pk/configure
#	tools/riscv-pk/configure.ac
#	tools/riscv-pk/dummy_payload/dummy_entry.S
#	tools/riscv-pk/dummy_payload/dummy_payload.lds
#	tools/riscv-pk/dummy_payload/dummy_payload.mk.in
#	tools/riscv-pk/machine/atomic.h
#	tools/riscv-pk/machine/bits.h
#	tools/riscv-pk/machine/disabled_hart_mask.h
#	tools/riscv-pk/machine/emulation.c
#	tools/riscv-pk/machine/emulation.h
#	tools/riscv-pk/machine/encoding.h
#	tools/riscv-pk/machine/fdt.c
#	tools/riscv-pk/machine/fdt.h
#	tools/riscv-pk/machine/finisher.c
#	tools/riscv-pk/machine/finisher.h
#	tools/riscv-pk/machine/flush_icache.c
#	tools/riscv-pk/machine/htif.c
#	tools/riscv-pk/machine/htif.h
#	tools/riscv-pk/machine/machine.ac
#	tools/riscv-pk/machine/machine.mk.in
#	tools/riscv-pk/machine/mcall.h
#	tools/riscv-pk/machine/mentry.S
#	tools/riscv-pk/machine/minit.c
#	tools/riscv-pk/machine/misaligned_ldst.c
#	tools/riscv-pk/machine/mtrap.c
#	tools/riscv-pk/machine/mtrap.h
#	tools/riscv-pk/machine/muldiv_emulation.c
#	tools/riscv-pk/machine/uart.c
#	tools/riscv-pk/machine/uart.h
#	tools/riscv-pk/machine/uart16550.c
#	tools/riscv-pk/machine/uart16550.h
#	tools/riscv-pk/machine/unprivileged_memory.h
#	tools/riscv-pk/machine/vm.h
#	tools/riscv-pk/scripts/config.guess
#	tools/riscv-pk/scripts/config.sub
#	tools/riscv-pk/scripts/install.sh
#	tools/riscv-pk/scripts/mk-install-dirs.sh
#	tools/riscv-pk/scripts/vcs-version.sh
#	tools/riscv-pk/util/snprintf.c
#	tools/riscv-pk/util/string.c
#	tools/riscv-pk/util/util.mk.in
2018-12-02 00:27:10 +08:00
equation314
7855b70bc0 aarch64: add origin raspberrypi config.txt 2018-12-01 23:30:53 +08:00
equation314
4f592336ff aarch64: remove test functions 2018-12-01 22:39:21 +08:00