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
|
6 years ago |
WangRunji
|
b3a8e95d78
|
merge interrupt & context switch for rv32 & rv64
|
6 years ago |
dzy
|
6f2d059ba5
|
implement map_kernel, now enters the kernel well
|
6 years ago |
dzy
|
21adebb203
|
run until ms.token()
|
6 years ago |
dzy
|
a4348428a6
|
can run until update
|
6 years ago |
dzy
|
d67a224494
|
add wrj's 704af94 patch
|
6 years ago |
dzy
|
ed3fb6d423
|
another temporary
|
6 years ago |
dzy
|
0dbffbc0fa
|
temporary
|
6 years ago |
dzy
|
b7e124930d
|
fix compilation errors
|
6 years ago |
dzy
|
3910f71521
|
preliminary support for riscv64, not tested.
riscv32 runs fine.
|
6 years ago |
dzy
|
61a3beb8ba
|
Start porting for rv64
|
6 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
|
6 years ago |
WangRunji
|
557f021c08
|
fix DelayHandler & MemoryAttr
|
6 years ago |
equation314
|
81af2c82fd
|
aarch64: reduce some warnings, config system/generic timer in Makefile
|
6 years ago |
equation314
|
5a165178cc
|
aarch64: implement IRQ register & serial IRQ
|
6 years ago |
WangRunji
|
ff806d4465
|
move common codes to InactivePageTable trait
|
6 years ago |
WangRunji
|
102866bcf9
|
introduce MemoryHandler and refactor MemorySet. temporary disable swap.
This is a manual rebase of LCY's code
|
6 years ago |
equation314
|
28d872064d
|
Merge branch 'master' of https://github.com/wangrunji0408/RustOS into arch-aarch64
|
6 years ago |
equation314
|
aa5e7a4e6f
|
remove #![feature(extern_crate_item_prelude)]
|
6 years ago |
Wang Runji
|
3f2beab52d
|
Merge branch 'master' into user-img
|
6 years ago |
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
|
6 years ago |
equation314
|
75b039c924
|
aarch64/mmu: move crate aarch64 to remote
|
6 years ago |
equation314
|
a59a7fbe9a
|
aarch64/mmu: simply handle page fault
|
6 years ago |
equation314
|
d6a54496f0
|
arch64/mmu: invalidate all icaches in InactivePageTable::with()
|
6 years ago |
equation314
|
0eb33b661f
|
aarch64/mmu: fix some bugs
|
6 years ago |
WangRunji
|
fcf5074500
|
impl M-mode kernel for riscv32
|
6 years ago |
equation314
|
f882a085d6
|
user: link created SFS image in kernel
|
6 years ago |
equation314
|
94bc8353f7
|
user: create SFS image in Makefile
|
6 years ago |
WangRunji
|
18640b7537
|
impl NoMMU
|
6 years ago |
WangRunji
|
52fe93188d
|
disable delay allocating frame, remove `memory_set_record`
|
6 years ago |
WangRunji
|
2db453556d
|
try to fix interrupt & deadlock on RV32
|
6 years ago |
equation314
|
d30c7e59ca
|
aarch64: minor modify
|
6 years ago |
equation314
|
264600f145
|
aarch64/mmu: add io remap
|
6 years ago |
equation314
|
a8b334123a
|
aarch64/mmu: add memory region attribute config
|
6 years ago |
equation314
|
f9e47b2fd8
|
aarch64/mmu: refactor PageTableFlags
|
6 years ago |
equation314
|
de6354ddd3
|
aarch64/mmu: use ASID to avoid flush TLB frequently in context switch
|
6 years ago |
equation314
|
33d4b6975b
|
aarch64/mmu: use DSB instead of TLB flush after modifying PTE
|
6 years ago |
equation314
|
55087fc5a2
|
aarch64/mmu: use both TTBR0_EL1 & TTBR1_EL1
|
6 years ago |
equation314
|
bb1c1abaa4
|
aarch64/mmu: can run on the real raspi3
|
6 years ago |
equation314
|
a9de99d3a9
|
aarch64/mmu: remap kernel memory ranges at the end of memory::init()
|
6 years ago |
equation314
|
9e8124abbb
|
aarch64/mmu: mmu enabled
|
6 years ago |
WangRunji
|
b1bdac7d0f
|
fix merge for aarch64. now it works!
|
6 years ago |
WangRunji
|
2daf8c188d
|
Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
# .gitignore
# kernel/Cargo.lock
# kernel/Cargo.toml
# kernel/Makefile
# kernel/riscv32-blog_os.json
# kernel/src/consts.rs
# kernel/src/fs.rs
# kernel/src/lib.rs
# kernel/src/process/context.rs
# kernel/src/process/mod.rs
|
6 years ago |
WangRunji
|
4495622317
|
update `process` crate to 2018 edition
|
6 years ago |
WangRunji
|
12457f10cb
|
update `memory` crate to 2018 edition
|
6 years ago |
lcy1996
|
76d2c6ec7b
|
Fix the bug of active_table_swap() wrongly force unlock in pg fault handler
|
6 years ago |
lcy1996
|
b2fec2b16b
|
Fix a bug in context for smp
|
6 years ago |
lcy1996
|
9d803e87d9
|
replace some unwrap() and comment the cow pgfault handler
|
6 years ago |
WangRunji
|
df485d506e
|
simplify ProcessManager
- given that a proc can only be waited by its parent, wait_queue is no longer needed.
|
6 years ago |
WangRunji
|
ef75c8a072
|
fix unwrap panic. now user shell is working.
|
6 years ago |