1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-24 08:56:17 +04:00
rCore/riscv-pk
2018-07-12 22:44:34 +08:00
..
bbl Move kernel base to 0x80020000 2018-07-12 22:44:34 +08:00
dummy_payload Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
machine Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
scripts Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
util Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
.gitignore Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
aclocal.m4 Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
config.h.in Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
configure Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
configure.ac Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
LICENSE Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
Makefile.in Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00
README.md Add riscv-pk from ucore_os_lab 2018-07-04 16:22:20 +08:00

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.