Skip to content
STIMSMITH

RISC-V Proxy Kernel

Tool

The RISC-V Proxy Kernel (pk) is a lightweight execution environment for RISC-V binaries that is loaded by the Swimmer-RISCV instruction set simulator via its `--use-pk` option. It allows user-mode RISC-V ELF binaries to be simulated transparently and is also used as the Berkeley Boot Loader (bbl) for booting Freedom-U-SDK Linux images.

First seen 7/10/2026
Last seen 7/11/2026
Evidence 3 chunks
Wiki v1

WIKI

RISC-V Proxy Kernel

The RISC-V Proxy Kernel (pk) is a minimal, user-mode execution environment used to run RISC-V binaries on simulators and emulators. In the Swimmer-RISCV toolchain it serves two roles:

  1. Application loader — When running an ELF binary compiled with riscv64-unknown-elf-gcc, the proxy kernel is passed to Swimmer-RISCV through the --use-pk option. The simulator loads the binary and the proxy kernel together so that the program can execute as if it were running natively under a Unix-like environment.
READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
Swimmer-RISCV ← uses 90% 1e
Swimmer-RISCV supports a --use-pk option to specify the location of the RISC-V Proxy Kernel.
RISC-V Processor Verification implements → 85% 1e
RISC-V Proxy Kernel provides a software stack for loading binaries and facilitating IO for RISC-V verification

CITATIONS

3 sources
3 citations — click to collapse
[1] Swimmer-RISCV provides a --use-pk option that takes the location of the RISC-V Proxy Kernel, enabling user-mode ELF binaries compiled with riscv64-unknown-elf-gcc to be simulated transparently. msyksphinz-self/swimmer_riscv
[2] Swimmer-RISCV can boot RISC-V Linux built with Freedom-U-SDK by passing the Berkeley Boot Loader produced from riscv-pk (freedom-u-sdk/work/riscv-pk/bbl) via the --binfile option. msyksphinz-self/swimmer_riscv
[3] The --stop-host option causes the simulator to stop when the proxy kernel's tohost/fromhost memory address is accessed. msyksphinz-self/swimmer_riscv