polkakernel 0.1.0

Linux syscall abstraction layer for PolkaVM/CoreVM
Documentation
  • Coverage
  • 22.86%
    48 out of 210 items documented0 out of 5 items with examples
  • Size
  • Source code size: 44.89 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.83 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • paritytech/polkaports
    17 3 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • igankevich

PolkaKernel

⚠️ This crate is work-in-progress. Expect API changes. ⚠️

This is Linux syscall abstraction layer for PolkaVM/CoreVM that translates Linux system calls to PolkaVM/CoreVM host-calls. The host-calls are abstracted away with traits and can easily be replaced by any meaningful implementation. For example, you can read/write files from/to memory instead of on-disk file system.

The main use case is to support running arbitrary programs written for Linux on PolkaVM/CoreVM without code rewrite. To accomplish that one needs to build the program using PolkaPorts toolchain and then run it via provided "player" tool (work-in-progress). Up-to-date instructions are in the PolkaPorts repository.

╭────────────────╮   Host-calls   ╭─────────────╮   Linux system calls   ╭───────────────╮
│ PolkaVM/CoreVM │ ←────────────→ │ PolkaKernel │ ←────────────────────→ │ Guest program │
╰────────────────╯                ╰─────────────╯                        ╰───────────────╯