equation314
|
a55f3b61e6
|
add Makefile option `graphic` & cargo feature `nographic`
|
6 years ago |
equation314
|
81af2c82fd
|
aarch64: reduce some warnings, config system/generic timer in Makefile
|
6 years ago |
equation314
|
d5a6eb2020
|
user: fix build error
|
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 |
WangRunji
|
fcf5074500
|
impl M-mode kernel for riscv32
|
6 years ago |
WangRunji
|
18640b7537
|
impl NoMMU
|
6 years ago |
equation314
|
d30c7e59ca
|
aarch64: minor modify
|
6 years ago |
WangRunji
|
46f0e85230
|
add `ucore-i386-pic.img` user programs. reorganize imgs.
|
6 years ago |
equation314
|
9e8124abbb
|
aarch64/mmu: mmu enabled
|
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 |
WangRunji
|
c4935a1477
|
use `pc-keyboard` crate and enable keyboard again for x86
|
6 years ago |
WangRunji
|
e06f6b8bc5
|
update Cargo.toml & Cargo.lock
|
6 years ago |
koumingyang
|
ef213d60bb
|
mmu
|
6 years ago |
equation314
|
67b920cc16
|
aarch64: format paging.rs
|
6 years ago |
koumingyang
|
a0b948fb53
|
add basic alloc
|
6 years ago |
koumingyang
|
a13f39149b
|
add basic alloc
|
6 years ago |
WangRunji
|
91bd411a8f
|
fit for multi-thread sfs
- use global root inode
- remove global IDE on x86
|
6 years ago |
equation314
|
3e1d8c5827
|
aarch64: implement ARM generic timer, can work in qemu
|
6 years ago |
WangRunji
|
7229b49eb8
|
Use rust-lld for RV32. Remove riscv git submodule.
|
6 years ago |
equation314
|
addf49ffdb
|
aarch64: add crate bcm2837, implement GPIO
|
6 years ago |
WangRunji
|
438e290b6d
|
Fix PageTable::get_entry -> Option.
|
6 years ago |
equation314
|
1140d32aaa
|
add arch=aarch64 & board=raspi3 to Makefile
|
6 years ago |
WangRunji
|
f1771f8ef2
|
Finish x86 SMP startup. Support timer & IPI.
- Remove smp, apic mod.
Instead, use new bootloader & apic crate.
- Disable PIC & PIT.
Instead, use IOAPIC & APIC Timer.
|
6 years ago |
WangRunji
|
7a9b746c68
|
x86_64 back to normal.
* Fix kernel stack P4E
* User programs: disk0 -> disk1
* IDE IRQ appears ??
|
6 years ago |
WangRunji
|
0a9c294814
|
Fix x86_64 startup. TODO: higher half.
* Remove legacy boot, MP, ACPI.
* Disable SMP.
* Modify startup: boot -> arch::init -> kmain.
* Fix FrameAllocator on x86_64.
* Remove kernel remap.
* Alloc kernel heap at bss.
|
6 years ago |
WangRunji
|
0437e5cb17
|
Make it compile for bootimage toolchain
* Revert to nightly-2018-08-27 due to its bug on macOS
* Not build C code
|
6 years ago |
WangRunji
|
caeff9ad97
|
Update packages and fit for new Rust nightly
|
6 years ago |
WangRunji
|
cbe7affc5d
|
Merge riscv for QEMU & FPGA
|
6 years ago |
WangRunji
|
3d6fcb8d8c
|
Fix x86_64. Not elegant.
|
6 years ago |
WangRunji
|
10e3cea340
|
Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken.
|
6 years ago |
WangRunji
|
b88648ff44
|
Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
|
6 years ago |
WangRunji
|
c8a9eaf3e6
|
Split process mod to extern crate
|
6 years ago |
WangRunji
|
c768ec3e1e
|
Recover fs for RV32. Add user-riscv.img
Now load user programs from SFS data linked at kernel.
|
6 years ago |
WangRunji
|
4faa8a65ae
|
Move kernel to a new directory
|
6 years ago |