equation314
|
5a83d6a20f
|
aarch64: add user program SFS image
|
2018-12-01 20:12:54 +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
|
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
|
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 |
|
WangRunji
|
924c061d64
|
Merge branch 'x86-boot'
# Conflicts:
# crate/riscv
# kernel/Makefile
|
2018-09-19 20:18:14 +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 |
|
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
|
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
|
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
|
60c2a77ac1
|
Unify IO in arch
|
2018-07-16 09:48:58 +08:00 |
|
WangRunji
|
f1407dff7b
|
Note the reason of double fault in x86_64 release mode.
|
2018-07-15 20:51:14 +08:00 |
|
WangRunji
|
1cb50c00ba
|
Fit for SFS
|
2018-07-15 16:44:21 +08:00 |
|