RISC-V Proxy Kernel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Andrew Waterman 6667bc4c42 Placate gcc7 about buffer sizes 9 years ago
bbl avoid non-standard predefined macros 9 years ago
dummy_payload Refactor pk, bbl, machine into separate libraries 10 years ago
machine Placate gcc7 about buffer sizes 9 years ago
pk avoid non-standard predefined macros 9 years ago
scripts temporary undoing of renaming 15 years ago
softfloat Begin refactoring emulation code 10 years ago
util speed up memcpy for aligned bases but misaligned length 10 years ago
.gitignore fixed build after repo split 15 years ago
LICENSE add missing LICENSE file 13 years ago
Makefile.in Support 32bit build (#27) 10 years ago
README.md Update the readme with 32-bit info. (#29) 10 years ago
aclocal.m4 Remove vestigial configure search for riscv-isa-run/spike 10 years ago
config.h.in Refactor pk, bbl, machine into separate libraries 10 years ago
configure Support 32bit build (#27) 10 years ago
configure.ac Support 32bit build (#27) 10 years ago

README.md

RISC-V Proxy Kernel and Boot Loader

About

The RISC-V Proxy Kernel, pk, is a lightweight application execution environment that can host statically-linked RISC-V ELF binaries. It is designed to support tethered RISC-V implementations with limited I/O capability and and thus handles I/O-related system calls by proxying them to a host computer.

This package also contains the Berkeley Boot Loader, bbl, which is a supervisor execution environment for tethered RISC-V systems. It is designed to host the RISC-V Linux port.

Build Steps

We assume that the RISCV environment variable is set to the RISC-V tools install path, and that the riscv-gnu-toolchain package is installed.

$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV --host=riscv64-unknown-elf
$ make
$ make install

Alternatively, the GNU/Linux toolchain may be used to build this package, by setting --host=riscv64-unknown-linux-gnu.

By default, 64-bit (RV64) versions of pk and bbl are built. To built 32-bit (RV32) versions, supply a --enable-32bit flag to the configure command.

The install step installs 64-bit build products into $RISCV/riscv64-unknown-elf, and 32-bit versions into $RISCV/riscv32-unknown-elf.