Jiajie Chen
7d6856ceab
Implement backtrace support for RISCV64
7 years ago
Jiajie Chen
d8edd1a7db
Implement backtrace support for AArch64
7 years ago
dzy
61eda6b19e
Add 0.1.4 compiler_builtins. Git ignore llc.
7 years ago
WangRunji
0965d24083
fix map_kernel on riscv32
7 years ago
WangRunji
2d5178d0b7
rename ucore to rcore
7 years ago
WangRunji
f0ea48126d
fix sys_wait arg type: isize -> i32
7 years ago
WangRunji
61dfcb5558
Merge remote-tracking branch 'equation314/arch-aarch64' into merging
...
# Conflicts:
# kernel/Makefile
# kernel/src/arch/aarch64/board/raspi3/irq.rs
# kernel/src/arch/aarch64/memory.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/arch/x86_64/paging.rs
7 years ago
equation314
dfb2d49cd6
aarch64/doc: add console driver
7 years ago
equation314
1aa8436d71
aarch64/doc: add interruption & timer drivers
7 years ago
equation314
7fda4e360f
aarch64/doc: add GPIO, mini UART, mailbox drivers
7 years ago
WangRunji
e46b6c7b0c
move target json. add kflash.py
7 years ago
WangRunji
190711fbc2
yet another riscv atomic fix
7 years ago
equation314
e1d0d2a020
aarch64/doc: add overview of AArch64
7 years ago
WangRunji
5d7e97d9e9
fix interrupt in process crate
7 years ago
WangRunji
681a90657a
let Makefile support riscv64
7 years ago
WangRunji
259e7c842e
update Cargo.toml & Makefile
7 years ago
WangRunji
33eaded142
Merge remote-tracking branch 'bpc/user-lib-bin' into merge-1228
...
# Conflicts:
# kernel/src/arch/riscv32/compiler_rt.c
# kernel/src/arch/riscv32/consts.rs
# kernel/src/arch/riscv32/context.rs
# kernel/src/arch/riscv32/io.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/paging.rs
# user/ucore-ulib/src/syscall.rs
7 years ago
WangRunji
c65b7357a4
use riscv crate from github
7 years ago
WangRunji
a852c96136
Merge branch 'master' into rust-rv64
...
# Conflicts:
# crate/memory/src/memory_set.rs
# kernel/src/arch/riscv32/compiler_rt.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/memory.rs
# kernel/src/process/mod.rs
7 years ago
WangRunji
92ae57b251
fix user program memory layout on NoMMU
7 years ago
WangRunji
daee1e9f94
fix bugs on K210
7 years ago
WangRunji
b3a8e95d78
merge interrupt & context switch for rv32 & rv64
7 years ago
WangRunji
de24f6673c
remove '\r'
7 years ago
WangRunji
0d957ff1a6
fix getchar on K210
7 years ago
dzy
4b17055f30
running user program.
7 years ago
dzy
e74f749ff3
fix context change bug. user sh is running!!!
7 years ago
dzy
6f2d059ba5
implement map_kernel, now enters the kernel well
7 years ago
dzy
bf3a67a7e4
remap_kernel runs fine
7 years ago
dzy
21adebb203
run until ms.token()
7 years ago
dzy
ccee527272
runs without pagefault but does not reach end of remap_kernel
7 years ago
dzy
a4348428a6
can run until update
7 years ago
dzy
d67a224494
add wrj's 704af94
patch
7 years ago
dzy
ed3fb6d423
another temporary
7 years ago
dzy
0dbffbc0fa
temporary
7 years ago
WangRunji
af6d533cb5
fix trap return on M-Mode
7 years ago
WangRunji
3de76885fa
llc build for rv64imc
7 years ago
WangRunji
020e3505ee
enable timer interrupt for K210
7 years ago
dzy
b7e124930d
fix compilation errors
7 years ago
dzy
3910f71521
preliminary support for riscv64, not tested.
...
riscv32 runs fine.
7 years ago
WangRunji
3a4b8f5dac
fix trap for rv64
7 years ago
WangRunji
8529d9fe4e
fix const, linker, build for K210
7 years ago
WangRunji
9ab4fd40ea
fix atomic for K210. enable print mutex again
7 years ago
WangRunji
70b6db4282
make clear_bss faster
7 years ago
dzy
1d1d4109c3
Make script easily support both rv32 and rv64.
7 years ago
dzy
98c94a0d83
Fix register size (4->XLEN) in trap handling.
7 years ago
WangRunji
45b91fbcad
update rv64 build script. print hello on QEMU!
7 years ago
WangRunji
d3ef0252ac
move setup_page_table to BBL
7 years ago
WangRunji
3ea104da97
Merge remote-tracking branch 'dzy/rust-rv64' into rust-rv64
...
# Conflicts:
# kernel/Cargo.toml
7 years ago
WangRunji
0af9776dbd
add .stack section. clear bss
7 years ago
WangRunji
7240198a54
fix newline: '\r\n'
7 years ago
Ben Pig Chu
5135fb0c0e
the shell that is able to fork-exec-wait
7 years ago
WangRunji
62b931d576
print hello on K210
7 years ago
equation314
aa5bd3041b
Merge branch 'master' into arch-aarch64
7 years ago
Ben Pig Chu
364497e379
use the error code specified in ucore_os_lab instead of ucore_plus
7 years ago
equation314
a55f3b61e6
add Makefile option `graphic` & cargo feature `nographic`
7 years ago
dzy
a75e52691d
port to newer riscv crate supporting rv64
7 years ago
Ben Pig Chu
6e8c80d328
panicless default fs implement
7 years ago
equation314
09c2b6e7b7
aarch64/fb: add ANSI escape sequences parser
7 years ago
Ben Pig Chu
113a33e575
translate FsError to SysError
7 years ago
Ben Pig Chu
f8533442f2
return error code from syscall, not always -1
7 years ago
Ben Pig Chu
fa03f7b112
use the simple-filesystem crate with FsError
7 years ago
WangRunji
d4b6cc1082
compile rv64 pass on macOS
7 years ago
WangRunji
02bd2b2317
remove arch/riscv64 directory
7 years ago
equation314
6c717905d7
aarch64/fb: add foreground & background color
7 years ago
equation314
9dda78d2e3
aarch64/fb: improve the performance of ConsoleBuffer::new_line()
7 years ago
Ben Pig Chu
d737b1e7ba
maually remove warning, pt6
7 years ago
equation314
7b8359eeef
aarch64/fb: add 8x16 font
7 years ago
Ben Pig Chu
6eb49a0106
maually remove warning, pt5
7 years ago
Ben Pig Chu
7eb9f7abcf
maually remove warning, pt4
7 years ago
Ben Pig Chu
935c595083
maually remove warning, pt3
7 years ago
Ben Pig Chu
07b8a063ec
maually remove warning, pt2
7 years ago
equation314
b47c4758bf
aarch64/fb: add basic console driver
7 years ago
Ben Pig Chu
1ca2bde069
maually remove warning, pt1
7 years ago
dzy
f954c2fd6a
Completely get rid of cargo-generated target/
7 years ago
dzy
61a3beb8ba
Start porting for rv64
7 years ago
equation314
b5cc79d1b2
modify mmio() & set_mmio() in PageEntry
7 years ago
equation314
48cf25716f
aarch64/fb: flush data cache around mailbox accesses
...
can run on real raspi3
7 years ago
equation314
5987c2068b
aarch64/fb: remap framebuffer base address
7 years ago
equation314
6ba9e34f77
aarch64/fb: add framebuffer initialization
7 years ago
WangRunji
9b0b0064d0
Merge remote-tracking branch 'equation314/arch-aarch64' into dev
...
# Conflicts:
# kernel/src/arch/aarch64/memory.rs
# kernel/src/arch/aarch64/paging.rs
# kernel/src/process/context.rs
7 years ago
WangRunji
d20d22b85b
add hint for user shell. detect cores through 'SMP' env.
7 years ago
WangRunji
fbf59396b2
use 'ucore_*.img' by default
7 years ago
equation314
d7511d8120
aarch64/fb: add mailbox property interfaces
7 years ago
WangRunji
6952f008e0
rename ContextImpl to Process
7 years ago
WangRunji
557f021c08
fix DelayHandler & MemoryAttr
7 years ago
WangRunji
704af94211
fix rv32 entry editing
7 years ago
equation314
f76a604b78
aarch64: add driver interfaces
7 years ago
equation314
81af2c82fd
aarch64: reduce some warnings, config system/generic timer in Makefile
7 years ago
equation314
5a165178cc
aarch64: implement IRQ register & serial IRQ
7 years ago
WangRunji
ff806d4465
move common codes to InactivePageTable trait
7 years ago
WangRunji
102866bcf9
introduce MemoryHandler and refactor MemorySet. temporary disable swap.
...
This is a manual rebase of LCY's code
7 years ago
WangRunji
96a76290b6
fix rv32 __mulsi3 add overflow
7 years ago
dzy
7b0ac1b84e
Script to allow rustc-only builds without cargo.
7 years ago
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.
7 years ago
equation314
28d872064d
Merge branch 'master' of https://github.com/wangrunji0408/RustOS into arch-aarch64
7 years ago
equation314
aa5e7a4e6f
remove #![feature(extern_crate_item_prelude)]
7 years ago
equation314
6879c66e58
aarch64: set TTBR1 = TTBR0 in InactivePageTable::edit(), swap is OK
...
TODO: flush icache in the right place
7 years ago
equation314
d5a6eb2020
user: fix build error
7 years ago
Wang Runji
3f2beab52d
Merge branch 'master' into user-img
7 years ago
WangRunji
e7039945c1
move user img, remove useless files
7 years ago