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
|
6 years ago |
equation314
|
1aa8436d71
|
aarch64/doc: add interruption & timer drivers
|
6 years ago |
WangRunji
|
5d7e97d9e9
|
fix interrupt in process crate
|
6 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
|
6 years ago |
WangRunji
|
c65b7357a4
|
use riscv crate from github
|
6 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
|
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 |
equation314
|
aa5bd3041b
|
Merge branch 'master' into arch-aarch64
|
6 years ago |
Ben Pig Chu
|
d737b1e7ba
|
maually remove warning, pt6
|
6 years ago |
Ben Pig Chu
|
6eb49a0106
|
maually remove warning, pt5
|
6 years ago |
Ben Pig Chu
|
07b8a063ec
|
maually remove warning, pt2
|
6 years ago |
Ben Pig Chu
|
1ca2bde069
|
maually remove warning, pt1
|
6 years ago |
dzy
|
61a3beb8ba
|
Start porting for rv64
|
6 years ago |
equation314
|
b5cc79d1b2
|
modify mmio() & set_mmio() in PageEntry
|
6 years ago |
equation314
|
5987c2068b
|
aarch64/fb: remap framebuffer base address
|
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 |
equation314
|
d7511d8120
|
aarch64/fb: add mailbox property interfaces
|
6 years ago |
WangRunji
|
557f021c08
|
fix DelayHandler & MemoryAttr
|
6 years ago |
equation314
|
4257b76183
|
aarch64/fb: add bcm2837 mailbox
|
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 |
WangRunji
|
da399dca96
|
remove Process struct
|
6 years ago |
WangRunji
|
205f90a264
|
Merge branch 'dev' into g4-merge
# Conflicts:
# crate/memory/src/cow.rs
# crate/memory/src/memory_set.rs
# crate/memory/src/paging/mod.rs
# crate/memory/src/swap/mod.rs
# crate/process/src/lib.rs
# crate/process/src/process_manager.rs
# crate/process/src/processor.rs
# crate/process/src/thread.rs
# crate/riscv
# kernel/Cargo.lock
# kernel/src/arch/riscv32/compiler_rt.rs
# kernel/src/arch/riscv32/consts.rs
# kernel/src/arch/riscv32/context.rs
# kernel/src/arch/riscv32/interrupt.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/mod.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/arch/x86_64/driver/ide.rs
# kernel/src/arch/x86_64/interrupt/handler.rs
# kernel/src/arch/x86_64/mod.rs
# kernel/src/console.rs
# kernel/src/consts.rs
# kernel/src/fs.rs
# kernel/src/lib.rs
# kernel/src/memory.rs
# kernel/src/process/context.rs
# kernel/src/process/mod.rs
# kernel/src/syscall.rs
# kernel/src/trap.rs
|
6 years ago |
WangRunji
|
5ce7d0a9c0
|
use user shell by default. fix kernel shell removing user thread.
|
6 years ago |
equation314
|
576ae1d911
|
add setup_page_table
|
6 years ago |
koumingyang
|
ef213d60bb
|
mmu
|
6 years ago |
lcy1996
|
eb00b2bfd3
|
merge conflict
|
6 years ago |
lcy1996
|
a8da42d521
|
Add expr4 report and some trace for synctest
|
6 years ago |
chenqiuhao
|
4d8d48cf4d
|
repair some bugs and move child control to processmanager
|
6 years ago |
lcy1996
|
c5499a62c5
|
Fix bug in swap in/out. Address ailign to 4K.
|
6 years ago |
chenqiuhao
|
6652f8daf6
|
repair some bugs
|
6 years ago |
chenqiuhao
|
8d6d3b7c37
|
debug for sleepkill
|
6 years ago |
lcy1996
|
5ee44588e0
|
Enlarge the physical and kernel heap memory. Fix the bug in map the kernel.
|
6 years ago |
lcy1996
|
990ce51007
|
Code Transplanting: unwrap -> expect
|
6 years ago |
lcy1996
|
9adcea44d5
|
Code transplanting: Fix bugs. Pass test 'spin'
|
6 years ago |
koumingyang
|
a13f39149b
|
add basic alloc
|
6 years ago |
WangRunji
|
16fb733497
|
Blocking getchar
|
6 years ago |
lcy1996
|
fcdee71f9d
|
Merge confilt
|
6 years ago |
lcy1996
|
c8ea2cb0cf
|
Fix bug and enable swap in/out and frame delayed allocating.
|
6 years ago |
equation314
|
7b6173a7bd
|
aarch64: move function delay() into mod timer in crate bcm2837
|
6 years ago |
equation314
|
3e1d8c5827
|
aarch64: implement ARM generic timer, can work in qemu
|
6 years ago |
chenqiuhao
|
2002ddd5fa
|
move processor from wrj
|
6 years ago |
lcy1996
|
b1425a53f9
|
finish frame delayed allocating
|
6 years ago |
WangRunji
|
e5a196c00f
|
Fix processor. Disable interrupt on switching.
|
6 years ago |
WangRunji
|
5852881611
|
unwrap -> expect
|
6 years ago |
WangRunji
|
b7d6b2989d
|
Fix bugs. Pass test 'spin'
- Fix ACK IRQ on x86.
- Add process exit handler.
|
6 years ago |
WangRunji
|
74facd8e87
|
Use Vec to replace array in ProcessManager.
|
6 years ago |
equation314
|
07aa9a0686
|
aarch64: implement IRQ & system timer, but don't work in qemu
|
6 years ago |
equation314
|
430bf508e2
|
aarch64: add some comments to crate bcm2837
|
6 years ago |
lcy1996
|
504401355f
|
Add expr3 report(not finiished.
|
6 years ago |
WangRunji
|
7229b49eb8
|
Use rust-lld for RV32. Remove riscv git submodule.
|
6 years ago |
lcy1996
|
edde416052
|
Finish swap for multi-user process
|
6 years ago |
equation314
|
632baedabd
|
aarch64: can run on the real raspi3
|
6 years ago |
equation314
|
517a78d114
|
aarch64: implement mini UART for bcm2837
|
6 years ago |
WangRunji
|
72dc3f62ad
|
Remove kernel stack from MemorySet.
|
6 years ago |
equation314
|
faa5f01f31
|
aarch64: fix a bug of bcm2837::asm::dealy()
|
6 years ago |
equation314
|
addf49ffdb
|
aarch64: add crate bcm2837, implement GPIO
|
6 years ago |