[module] update instructions and add dkms.conf

Fixes #148
This commit is contained in:
Geoffrey McRae 2019-05-23 18:46:27 +10:00
parent 1492196bbf
commit ee5d6c7c3e
4 changed files with 28 additions and 15 deletions

View File

@ -1 +1 @@
a12-222-g9378f69653+1 a12-223-g1492196bbf+1

View File

@ -12,4 +12,3 @@ test: all
grep -q '^kvmfr' /proc/modules && sudo rmmod kvmfr || true grep -q '^kvmfr' /proc/modules && sudo rmmod kvmfr || true
sudo insmod ./kvmfr.ko sudo insmod ./kvmfr.ko
sudo chown $(USER) /dev/uio0 sudo chown $(USER) /dev/uio0
../client/bin/looking-glass-client -f /dev/uio0 -L 128

View File

@ -1,7 +1,7 @@
This kernel module implements a basic interface to the IVSHMEM device for This kernel module implements a basic interface to the IVSHMEM device for
LookingGlass when using LookingGlass in VM->VM mode. LookingGlass when using LookingGlass in VM->VM mode.
## Compiling ## Compiling (Manual)
Make sure you have your kernel headers installed first, on Debian/Ubuntu use Make sure you have your kernel headers installed first, on Debian/Ubuntu use
the following command. the following command.
@ -10,7 +10,7 @@ the following command.
Then simply run `make` and you're done. Then simply run `make` and you're done.
## Usage ### Loading
This module requires the `uio` module to be loaded first, loading it is as This module requires the `uio` module to be loaded first, loading it is as
simple as: simple as:
@ -18,6 +18,21 @@ simple as:
modprobe uio modprobe uio
insmod kvmfr.ko insmod kvmfr.ko
## Compiling & Installing (DKMS)
You can install this module into DKMS so that it persists across kernel
upgrades. Simply run:
dkms install .
### Loading
Simply modprobe the module:
modprobe kvmfr
## Usage
This will create the `/dev/uio0` node that represents the KVMFR interface. 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 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 udev rule to ensure your user can read and write to it, or simply change it's
@ -25,17 +40,8 @@ ownership manually, ie:
sudo chown user:user /dev/uid0 sudo chown user:user /dev/uid0
Usage with looking glass is simple, but you do need to speecify both the path Usage with looking glass is simple, you only need to specify the path to the
and the size as LookingGlass can not determine the size by itself at this time. device node, for example:
./looking-glass-client -f /dev/uio0 -L 16 ./looking-glass-client -f /dev/uio0 -L 16
## Note
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
possible it is not recommended as access to the shared memory is much slower.

8
module/dkms.conf Normal file
View File

@ -0,0 +1,8 @@
PACKAGE_NAME=kvmfr
PACKAGE_VERSION=0.1
BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
MAKE[0]="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build"
CLEAN="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
DEST_MODULE_LOCATION[0]=/extra
REMAKE_INITRD=yes
AUTOINSTALL=yes