An open API service indexing awesome lists of open source software.

https://github.com/jserv/kvm-user-x86

A simple userspace program to interact with Linux KVM
https://github.com/jserv/kvm-user-x86

Last synced: about 1 year ago
JSON representation

A simple userspace program to interact with Linux KVM

Awesome Lists containing this project

README

          

A simple userspace program to interact with Linux KVM on x86 hardware containing virtualization extensions (Intel VT or AMD-V).

The work was derived from [this article](http://soulxu.github.io/blog/2014/08/11/use-kvm-api-write-emulator/).

## Prerequisites
* Intel processor with VT (virtualization technology) extensions or AMD processor with SVM extensions (also called AMD-V)
- Enable VT or AMD in advance.
* Install Linux kernel headers
```
sudo apt-get install linux-headers-generic
```

## Build
Simply execute GNU `make`:
```
make
```
There are two files generated:
* `kvm-user`
* `vm.bin`

## Run
* Enable [KVM](http://www.linux-kvm.org/):
```
sudo modprobe kvm
```
* Execute `kvm-user`
```
./kvm-user
```

Sample output:
```
KVM start run
KVM_EXIT_IO
out port: 0x10, data 0
KVM start run
KVM_EXIT_IO
out port: 0x10, data 1
KVM start run
KVM_EXIT_IO
out port: 0x10, data 2
KVM start run
KVM_EXIT_IO
out port: 0x10, data 3
```