WangRunji
cab19688d5
rename File to FileHandle. impl create for sys_open.
6 years ago
WangRunji
a224e85c8d
split scheduler mod, make Scheduler Sync
...
biscuit: fix argc, argv
6 years ago
WangRunji
e678186b3d
support idle for rcore-thread, remove idle thread in kernel
6 years ago
WangRunji
08c8d89974
update SFS to new rcore-fs
6 years ago
WangRunji
2cf7e7bd87
fix File in Process
6 years ago
WangRunji
7927c7c168
Merge branch 'thread' into biscuit
...
# Conflicts:
# kernel/src/process/mod.rs
# kernel/src/process/structs.rs
# kernel/src/syscall.rs
6 years ago
WangRunji
e1dacb28ef
auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ...
6 years ago
WangRunji
67e8bef0f5
modify syscall ids to match Linux 64. fix fork file bug.
6 years ago
WangRunji
32e7f0ed52
fix process startup stack for musl libc
6 years ago
WangRunji
0ec5ad8056
split Process and Thread
6 years ago
WangRunji
5bffce787b
rename 'process' crate to 'thread'
6 years ago
WangRunji
2d5178d0b7
rename ucore to rcore
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
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
92ae57b251
fix user program memory layout on NoMMU
6 years ago
dzy
4b17055f30
running user program.
6 years ago
Ben Pig Chu
1ca2bde069
maually remove warning, pt1
6 years ago
WangRunji
d20d22b85b
add hint for user shell. detect cores through 'SMP' env.
6 years ago
WangRunji
6952f008e0
rename ContextImpl to Process
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
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
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
4f592336ff
aarch64: remove test functions
6 years ago
WangRunji
6921e9018d
fix NoMMU entry point
6 years ago
WangRunji
18640b7537
impl NoMMU
6 years ago
WangRunji
52fe93188d
disable delay allocating frame, remove `memory_set_record`
6 years ago
equation314
55087fc5a2
aarch64/mmu: use both TTBR0_EL1 & TTBR1_EL1
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
56fcad245a
update kernel to 2018 edition
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
d27ac65df3
fix load program slice error
6 years ago
WangRunji
9b3294a5f2
fix clear bss when load user program. 'sh' works!
6 years ago
WangRunji
44bf3fb07a
impl sys_exec
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
lcy1996
5ee44588e0
Enlarge the physical and kernel heap memory. Fix the bug in map the kernel.
6 years ago
lcy1996
9adcea44d5
Code transplanting: Fix bugs. Pass test 'spin'
6 years ago
WangRunji
124a5e0d5d
impl sys_dup
...
- Fix exit_code: i32
- Convert Box<File> to Arc<Mutex<File>> in Context
6 years ago
WangRunji
128257c395
impl argc & argv for user process
6 years ago
equation314
5610d0bdb0
aarch64: context switch is runnable!
6 years ago
WangRunji
e27aea47e1
impl file syscalls, without test
6 years ago
equation314
a91534e34d
aarch64: implement context switch, but not tested
6 years ago
lcy1996
a145909998
Fix compile error after merge for the new processor.
6 years ago