2018-05-15 10:50:52 +00:00
|
|
|
This kernel module implements a basic interface to the IVSHMEM device for
|
|
|
|
LookingGlass when using LookingGlass in VM->VM mode.
|
|
|
|
|
2018-05-28 07:50:20 +00:00
|
|
|
## Compiling
|
2018-05-15 10:50:52 +00:00
|
|
|
|
|
|
|
Make sure you have your kernel headers installed first, on Debian/Ubuntu use
|
|
|
|
the following command.
|
|
|
|
|
|
|
|
apt-get install linux-headers-$(uname -r)
|
|
|
|
|
|
|
|
Then simply run `make` and you're done.
|
|
|
|
|
2018-05-28 07:50:20 +00:00
|
|
|
## Usage
|
2018-05-15 10:50:52 +00:00
|
|
|
|
|
|
|
This module requires the `uio` module to be loaded first, loading it is as
|
|
|
|
simple as:
|
|
|
|
|
|
|
|
modprobe uio
|
|
|
|
insmod kvmfr.ko
|
|
|
|
|
|
|
|
This will create the `/dev/uio0` node that represents the KVMFR interface.
|
|
|
|
To use the interface you need permission to access it by either creating a
|
|
|
|
udev rule to ensure your user can read and write to it, or simply change it's
|
|
|
|
ownership manually, ie:
|
|
|
|
|
|
|
|
sudo chown user:user /dev/uid0
|
|
|
|
|
|
|
|
Usage with looking glass is simple, but you do need to speecify both the path
|
|
|
|
and the size as LookingGlass can not determine the size by itself at this time.
|
|
|
|
|
|
|
|
./looking-glass-client -f /dev/uio0 -L 16
|
|
|
|
|
2018-05-28 07:50:20 +00:00
|
|
|
## Note
|
2018-05-15 10:50:52 +00:00
|
|
|
|
|
|
|
This module is not strictly required, it is possible to access the device
|
|
|
|
via the /sys interface directly, for example:
|
|
|
|
|
|
|
|
./looking-glass-client -f /sys/devices/pci0000:00/0000:00:03.0/resource2_wc
|
|
|
|
|
|
|
|
Obviously adjusting the PCI device IDs as required. However while this is
|
2018-05-28 07:50:20 +00:00
|
|
|
possible it is not recommended as access to the shared memory is much slower.
|