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 |
|
WangRunji
|
296b6196f4
|
rv64 toolchain configure for riscv-pk
|
2018-08-04 23:02:50 +08:00 |
|
WangRunji
|
b88648ff44
|
Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
|
2018-08-04 16:20:25 +08:00 |
|
WangRunji
|
7e5726845f
|
Simple bootloader. Remove riscv-pk.
|
2018-08-03 19:27:38 +08:00 |
|
WangRunji
|
a2111a928f
|
Move thread mod to ucore-process crate
|
2018-07-17 19:06:30 +08:00 |
|
WangRunji
|
fed7b38845
|
Try to fix travis for x86_64
|
2018-07-17 12:52:39 +08:00 |
|
WangRunji
|
776dc976c9
|
Fix for user
|
2018-07-17 12:07:21 +08:00 |
|
WangRunji
|
6022ec8efc
|
Fix load user program out of range
|
2018-07-17 11:45:55 +08:00 |
|
WangRunji
|
52d3443e05
|
Recover idle process. Make shell wait for the user it spawned.
|
2018-07-17 10:47:05 +08:00 |
|
WangRunji
|
c8a9eaf3e6
|
Split process mod to extern crate
|
2018-07-17 01:56:28 +08:00 |
|
WangRunji
|
37a6df252f
|
Refactor process mod
|
2018-07-17 00:23:02 +08:00 |
|
WangRunji
|
97b838981f
|
Fix console
|
2018-07-16 22:02:03 +08:00 |
|
WangRunji
|
cf1a2d3450
|
Simple kernel shell
|
2018-07-16 17:31:29 +08:00 |
|
WangRunji
|
542a06d50e
|
Set default log level to WARN
|
2018-07-16 17:28:15 +08:00 |
|
WangRunji
|
5647fb1273
|
Fix build guide
|
2018-07-16 13:37:26 +08:00 |
|
WangRunji
|
60c2a77ac1
|
Unify IO in arch
|
2018-07-16 09:48:58 +08:00 |
|