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.
 
 
 
 
 
 
Palmer Dabbelt 6b501de8e8 Merge pull request #59 from riscv/print-device-tree 9 years ago
bbl Add the '--enable-print-device-tree' argument 9 years ago
dummy_payload WIP on SBI 9 years ago
machine Add the '--enable-print-device-tree' argument 9 years ago
pk Add a platform interface 9 years ago
platform Add the '--with-platform' argument and the sifive-vc707-devkit platform 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 Ignore some generated files 9 years ago
LICENSE add missing LICENSE file 13 years ago
Makefile.in Don't block for acks on console writes 9 years ago
README.md README.md: Explicitly list the requirement of a separate build directory. 9 years ago
aclocal.m4 Remove vestigial configure search for riscv-isa-run/spike 10 years ago
config.h.in Add the '--enable-print-device-tree' argument 9 years ago
configure Add the '--enable-print-device-tree' argument 9 years ago
configure.ac Add the '--enable-print-device-tree' argument 9 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. Please note that building the binaries directly inside the source directory is not supported; you need to use a separate build directory.

$ 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.