You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 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 --with-arch=rv32i_zicsr_zifencei flag to the
configure command.
To process RVC binaries, supply a --with-arch=rv32ic_zicsr_zifencei flag, because the
emulation code (floating point and miss-aligned load and store) is different in
the RVC case.
The install step installs 64-bit build products into a directory
matching your host (e.g. $RISCV/riscv64-unknown-elf). 32-bit versions
are installed into a directory matching a 32-bit version of your host (e.g.
$RISCV/riscv32-unknown-elf).
OpenBSD Build Steps
Install the riscv-gnu-toolchain, and follow generic build steps.