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
|
75b039c924
|
aarch64/mmu: move crate aarch64 to remote
|
2018-12-01 22:26:55 +08:00 |
|
equation314
|
a59a7fbe9a
|
aarch64/mmu: simply handle page fault
|
2018-12-01 20:00:35 +08:00 |
|
equation314
|
d6a54496f0
|
arch64/mmu: invalidate all icaches in InactivePageTable::with()
|
2018-12-01 19:43:58 +08:00 |
|
equation314
|
0eb33b661f
|
aarch64/mmu: fix some bugs
|
2018-12-01 19:31:46 +08:00 |
|
WangRunji
|
fcf5074500
|
impl M-mode kernel for riscv32
|
2018-12-01 17:37:37 +08:00 |
|
WangRunji
|
18640b7537
|
impl NoMMU
|
2018-11-27 01:23:07 +08:00 |
|
WangRunji
|
52fe93188d
|
disable delay allocating frame, remove memory_set_record
|
2018-11-27 01:18:30 +08:00 |
|
WangRunji
|
2db453556d
|
try to fix interrupt & deadlock on RV32
|
2018-11-26 16:58:45 +08:00 |
|
equation314
|
d30c7e59ca
|
aarch64: minor modify
|
2018-11-25 20:01:13 +08:00 |
|
equation314
|
264600f145
|
aarch64/mmu: add io remap
|
2018-11-25 18:27:31 +08:00 |
|
equation314
|
a8b334123a
|
aarch64/mmu: add memory region attribute config
|
2018-11-25 17:58:17 +08:00 |
|
equation314
|
f9e47b2fd8
|
aarch64/mmu: refactor PageTableFlags
|
2018-11-25 00:29:39 +08:00 |
|
equation314
|
de6354ddd3
|
aarch64/mmu: use ASID to avoid flush TLB frequently in context switch
|
2018-11-23 23:25:15 +08:00 |
|
equation314
|
33d4b6975b
|
aarch64/mmu: use DSB instead of TLB flush after modifying PTE
|
2018-11-23 15:23:48 +08:00 |
|
equation314
|
55087fc5a2
|
aarch64/mmu: use both TTBR0_EL1 & TTBR1_EL1
|
2018-11-23 00:43:18 +08:00 |
|
equation314
|
bb1c1abaa4
|
aarch64/mmu: can run on the real raspi3
|
2018-11-21 20:02:34 +08:00 |
|
equation314
|
a9de99d3a9
|
aarch64/mmu: remap kernel memory ranges at the end of memory::init()
|
2018-11-21 01:50:34 +08:00 |
|
equation314
|
9e8124abbb
|
aarch64/mmu: mmu enabled
|
2018-11-20 16:46:16 +08:00 |
|
WangRunji
|
b1bdac7d0f
|
fix merge for aarch64. now it works!
|
2018-11-20 01:08:39 +08:00 |
|
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
|
2018-11-20 00:15:19 +08:00 |
|
WangRunji
|
4495622317
|
update process crate to 2018 edition
|
2018-11-19 15:46:40 +08:00 |
|
WangRunji
|
12457f10cb
|
update memory crate to 2018 edition
|
2018-11-19 15:43:28 +08:00 |
|
lcy1996
|
76d2c6ec7b
|
Fix the bug of active_table_swap() wrongly force unlock in pg fault handler
|
2018-11-17 23:17:42 +08:00 |
|
lcy1996
|
b2fec2b16b
|
Fix a bug in context for smp
|
2018-11-17 21:34:21 +08:00 |
|
lcy1996
|
9d803e87d9
|
replace some unwrap() and comment the cow pgfault handler
|
2018-11-17 16:25:24 +08:00 |
|
WangRunji
|
df485d506e
|
simplify ProcessManager
- given that a proc can only be waited by its parent, wait_queue is no longer needed.
|
2018-11-17 12:58:40 +08:00 |
|
WangRunji
|
ef75c8a072
|
fix unwrap panic. now user shell is working.
|
2018-11-17 12:40:51 +08:00 |
|
WangRunji
|
da399dca96
|
remove Process struct
|
2018-11-16 22:27:03 +08:00 |
|
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
|
2018-11-16 18:58:29 +08:00 |
|
WangRunji
|
5ce7d0a9c0
|
use user shell by default. fix kernel shell removing user thread.
|
2018-11-16 01:22:59 +08:00 |
|
equation314
|
576ae1d911
|
add setup_page_table
|
2018-11-15 19:12:02 +08:00 |
|
koumingyang
|
ef213d60bb
|
mmu
|
2018-11-15 14:22:57 +08:00 |
|
lcy1996
|
eb00b2bfd3
|
merge conflict
|
2018-11-14 21:54:26 +08:00 |
|
lcy1996
|
a8da42d521
|
Add expr4 report and some trace for synctest
|
2018-11-14 21:45:56 +08:00 |
|
chenqiuhao
|
4d8d48cf4d
|
repair some bugs and move child control to processmanager
|
2018-11-14 18:36:47 +08:00 |
|
lcy1996
|
c5499a62c5
|
Fix bug in swap in/out. Address ailign to 4K.
|
2018-11-14 00:32:59 +08:00 |
|
chenqiuhao
|
6652f8daf6
|
repair some bugs
|
2018-11-13 22:52:11 +08:00 |
|
chenqiuhao
|
8d6d3b7c37
|
debug for sleepkill
|
2018-11-13 19:56:17 +08:00 |
|
lcy1996
|
5ee44588e0
|
Enlarge the physical and kernel heap memory. Fix the bug in map the kernel.
|
2018-11-09 11:08:45 +08:00 |
|
lcy1996
|
990ce51007
|
Code Transplanting: unwrap -> expect
|
2018-11-08 19:58:30 +08:00 |
|
lcy1996
|
9adcea44d5
|
Code transplanting: Fix bugs. Pass test 'spin'
|
2018-11-08 19:21:13 +08:00 |
|
koumingyang
|
a13f39149b
|
add basic alloc
|
2018-11-07 10:44:24 +08:00 |
|
WangRunji
|
16fb733497
|
Blocking getchar
|
2018-11-05 22:55:59 +08:00 |
|
lcy1996
|
fcdee71f9d
|
Merge confilt
|
2018-11-05 21:31:04 +08:00 |
|
lcy1996
|
c8ea2cb0cf
|
Fix bug and enable swap in/out and frame delayed allocating.
|
2018-11-05 20:37:05 +08:00 |
|
equation314
|
7b6173a7bd
|
aarch64: move function delay() into mod timer in crate bcm2837
|
2018-11-04 18:27:28 +08:00 |
|
equation314
|
3e1d8c5827
|
aarch64: implement ARM generic timer, can work in qemu
|
2018-11-04 18:15:26 +08:00 |
|
chenqiuhao
|
2002ddd5fa
|
move processor from wrj
|
2018-11-03 21:45:03 +08:00 |
|
lcy1996
|
b1425a53f9
|
finish frame delayed allocating
|
2018-11-03 14:33:36 +08:00 |
|