e50d7db6121bc858673a072cceba3ca159d8afcd
Add support for running LK in supervisor mode or machine mode. - Macro-ify CSR access to use correct CSR # or use SBI call as req'd - Add support to make SBI calls - Split CLINT and lk timer abstraction so that RISC-V timer can use SBI as required. - Add support for booting other harts as primary since hart0 on U540 does not support S-mode. A map is used to get LK cpu number from hartid.
LK
The LK embedded kernel. An SMP-aware kernel designed for small systems.
See https://github.com/littlekernel/lk for the latest version.
See https://github.com/littlekernel/lk/wiki for documentation.
Builds
To build and test for ARM on linux
- install or build qemu. v2.4 and above is recommended.
- install gcc for embedded arm (see note 1)
- run scripts/do-qemuarm (from the lk directory)
- you should see 'welcome to lk/MP'
This will get you a interactive prompt into LK which is running in qemu arm machine 'virt' emulation. type 'help' for commands.
note 1: for ubuntu: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from http://newos.org/toolchains/arm-eabi-5.3.0-Linux-x86_64.tar.xz
Languages
C
80.6%
C++
10.8%
Assembly
3.6%
Makefile
3.4%
Python
1%
Other
0.6%