equation314
|
de6354ddd3
|
aarch64/mmu: use ASID to avoid flush TLB frequently in context switch
|
2018-11-23 23:25:15 +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
|
99c5b3c3f8
|
Merge branch 'arch-aarch64' into mmu
|
2018-11-20 18:36:23 +08:00 |
|
equation314
|
13be52133d
|
aarch64: move kernel stack top to 0x100000
|
2018-11-20 18:32:26 +08:00 |
|
equation314
|
f398945ad3
|
aarch64: hard link user program
|
2018-11-20 18:29:51 +08:00 |
|
equation314
|
9e8124abbb
|
aarch64/mmu: mmu enabled
|
2018-11-20 16:46:16 +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 |
|
equation314
|
5610d0bdb0
|
aarch64: context switch is runnable!
|
2018-11-07 22:07:59 +08:00 |
|
equation314
|
67b920cc16
|
aarch64: format paging.rs
|
2018-11-07 13:09:50 +08:00 |
|
koumingyang
|
a0b948fb53
|
add basic alloc
|
2018-11-07 12:00:57 +08:00 |
|
koumingyang
|
a13f39149b
|
add basic alloc
|
2018-11-07 10:44:24 +08:00 |
|
equation314
|
9fc13c8ebb
|
aarch64: implement syscall
|
2018-11-07 01:05:55 +08:00 |
|
equation314
|
a91534e34d
|
aarch64: implement context switch, but not tested
|
2018-11-06 21:44:12 +08:00 |
|
equation314
|
3e1d8c5827
|
aarch64: implement ARM generic timer, can work in qemu
|
2018-11-04 18:15:26 +08:00 |
|
equation314
|
07aa9a0686
|
aarch64: implement IRQ & system timer, but don't work in qemu
|
2018-10-31 16:10:22 +08:00 |
|
equation314
|
8c19499112
|
aarch64: implement exception interface & synchronous exception handler
|
2018-10-30 20:44:54 +08:00 |
|
equation314
|
3386a793a5
|
aarch64: disable NEON
|
2018-10-29 23:05:16 +08:00 |
|
equation314
|
001254fd64
|
riscv32: change linker to rust-lld
|
2018-10-29 21:37:57 +08:00 |
|
equation314
|
ae5260db5c
|
aarch64: change linker to rust-lld
|
2018-10-29 21:34:29 +08:00 |
|
equation314
|
7746485861
|
aarch64: add target 'install' to Makefile
|
2018-10-29 19:14:54 +08:00 |
|
equation314
|
632baedabd
|
aarch64: can run on the real raspi3
|
2018-10-29 18:53:14 +08:00 |
|
equation314
|
2e094d08bc
|
common: add a logo
|
2018-10-29 13:41:25 +08:00 |
|
equation314
|
abf3418d24
|
aarch64: implement I/O by serial port
|
2018-10-29 13:38:27 +08:00 |
|
equation314
|
addf49ffdb
|
aarch64: add crate bcm2837, implement GPIO
|
2018-10-27 02:45:47 +08:00 |
|
equation314
|
cc936ded35
|
aarch64: bootable in qemu
|
2018-10-26 22:02:24 +08:00 |
|
equation314
|
174e0da3b6
|
aarch64: basic framework
|
2018-10-26 11:22:22 +08:00 |
|
equation314
|
1140d32aaa
|
add arch=aarch64 & board=raspi3 to Makefile
|
2018-10-26 11:22:26 +08:00 |
|
WangRunji
|
cd1bd55729
|
Update README, travis, riscv crate.
|
2018-09-19 20:58:00 +08:00 |
|
WangRunji
|
924c061d64
|
Merge branch 'x86-boot'
# Conflicts:
# crate/riscv
# kernel/Makefile
|
2018-09-19 20:18:14 +08:00 |
|
WangRunji
|
224905f12c
|
Update Makefile
|
2018-09-18 18:05:37 +08:00 |
|
WangRunji
|
7a9b746c68
|
x86_64 back to normal.
* Fix kernel stack P4E
* User programs: disk0 -> disk1
* IDE IRQ appears ??
|
2018-09-18 17:49:12 +08:00 |
|
WangRunji
|
7f00001fd1
|
Move to higher half
|
2018-09-18 17:04:55 +08:00 |
|
dzy
|
5a0ce1e464
|
Refactored RISC-V page table identity mapping into a function.
|
2018-09-14 21:44:25 +08:00 |
|
dzy
|
11223957d1
|
Add mkdir build in makefile.
It this is missing, building with a clean repository will fail
because build/ does not exist.
|
2018-09-14 20:05:59 +08:00 |
|
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.
|
2018-09-09 02:35:32 +08:00 |
|
WangRunji
|
0437e5cb17
|
Make it compile for bootimage toolchain
* Revert to nightly-2018-08-27 due to its bug on macOS
* Not build C code
|
2018-09-07 12:44:40 +08:00 |
|
WangRunji
|
caeff9ad97
|
Update packages and fit for new Rust nightly
|
2018-09-04 13:19:23 +08:00 |
|
WangRunji
|
cbe7affc5d
|
Merge riscv for QEMU & FPGA
|
2018-08-07 16:11:48 +08:00 |
|
WangRunji
|
ff8930a36c
|
Make frame allocator smaller. Fix serial stupid bug.
|
2018-08-07 15:09:11 +08:00 |
|
WangRunji
|
3cf118ba67
|
Mul & div inst emulation
|
2018-08-07 14:53:35 +08:00 |
|
WangRunji
|
b99dc3d1cf
|
Merge branch 'new-rv-toolchain' into board
|
2018-08-06 19:07:56 +08:00 |
|
WangRunji
|
640872d154
|
Use alloc API to fix stack overflow in release mode.
|
2018-08-06 19:04:18 +08:00 |
|
WangRunji
|
384f6a9c9c
|
Change kernel heap to identity map
|
2018-08-06 18:07:42 +08:00 |
|
WangRunji
|
dc97b4b433
|
Fix atomic_compare_exchange
|
2018-08-06 18:03:21 +08:00 |
|
WangRunji
|
3d0d6e3d02
|
Merge branch 'new-rv-toolchain' into board
# Conflicts:
# kernel/Makefile
# kernel/src/arch/riscv32/boot/entry.asm
|
2018-08-05 18:52:13 +08:00 |
|
WangRunji
|
3d6fcb8d8c
|
Fix x86_64. Not elegant.
|
2018-08-05 17:50:56 +08:00 |
|
WangRunji
|
10e3cea340
|
Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken.
|
2018-08-05 00:24:36 +08:00 |
|