Travis Geiselbrecht 7c9906a5ff [arch][riscv] Initial implementation of MMU for RISC-V
Implements both SV39 and SV48. No 32bit support yet.

Currently implements basic setup of paging in start.S by mapping a large
chunk of memory into both an identity map and to the bottom of the
kernel address space. Run the kernel out of this physical mapping.

Added basic arch mmu support for querying existing paging structures and
mapping 4K pages. No unmap support as of yet.

System boots with mmu on when running supervisor test on qemu. Untested
on real hardware as of yet.
2020-05-10 17:09:48 -07:00
2019-02-17 20:29:50 -08:00
2015-01-29 20:38:19 -08:00
2016-05-01 23:36:17 -07:00

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

Build Status

To build and test for ARM on linux

  1. install or build qemu. v2.4 and above is recommended.
  2. install gcc for embedded arm (see note 1)
  3. run scripts/do-qemuarm (from the lk directory)
  4. 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

Description
No description provided
Readme MIT 39 MiB
Languages
C 80.6%
C++ 10.8%
Assembly 3.6%
Makefile 3.4%
Python 1%
Other 0.6%