A playground for the Kernel Virtual Machine (KVM) in rust to

A playground for the rust ffi and x86_64

kvm-rs

A playground for the Kernel Virtual Machine (KVM) in rust to learn about KVM, rust ffi and x86_64.

The sources are structured as follows:

  • src/ provides a small library as abstraction over the raw KVM API.
  • examples/ contains example VMs using the library above.
  • guest/ contains the guest source code.
  • sysdeps/ helper to generate some KVM constants from the system header (executed by build.rs).

Documentation

Rustdoc for this crate is avalable at johannst.github.io/mini-kvm-rs.

Real Mode (16bit) example

Runs the real mode VM with the guest program.

# Once: Build the guest binary image.
make -C guest

# Run the Real Mode example.
cargo run --example real_mode

Long Mode (64bit) example

Runs the long mode VM with the guest program.

# Once: Build the guest binary image.
make -C guest

# Run the Long Mode example.
cargo run --example long_mode

License

This project is licensed under the MIT license.

Information - Updated May 13, 2022

Stars: 0
Forks: 3
Issues: 0

pancurses is a curses library for Rust that supports both Linux and Windows

by abstracting away the backend that it uses

pancurses is a curses library for Rust that supports both Linux and Windows

Native Rust library for managing Linux Control Groups (cgroups)

This crate, curently, only supports the original, V1 hierarchy

Native Rust library for managing Linux Control Groups (cgroups)

The Rust i2cdev crate seeks to provide full access to the Linux i2cdev

in the embedded-hal traits rather than

The Rust i2cdev crate seeks to provide full access to the Linux i2cdev

The Rust spidev seeks to provide full access to the Linux spidev

The following is not an exhaustive demonstration of the Spidev

The Rust spidev seeks to provide full access to the Linux spidev

a minimal Linux kernel module written in rust

A recent build of Rust (latest nightly)

a minimal Linux kernel module written in rust

Rust Linux Worker

The Service executes arbitrary Linux commands on behalf of clients

Rust Linux Worker

Direct, unsafe Rust bindings for Linux's perf_event_open system call

This crate exports unsafe Rust wrappers for Linux system calls for accessing

Direct, unsafe Rust bindings for Linux's perf_event_open system call

A safe, sane Rust interface to libseccomp on Linux

Note: This is not a high-level interface; most functions/methods in this library directly correspond to a libseccomp function

A safe, sane Rust interface to libseccomp on Linux

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Transparent TCP proxy with iptables -j REDIRECT or nft redirect to

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Linux-Device-Driver-Rust

This is a twain Repo of Linux-Device-Driver is a long time work in which I rewrite all examples in

Linux-Device-Driver-Rust
Facebook Instagram Twitter GitHub Dribbble
Privacy