39 lines
927 B
Nix
39 lines
927 B
Nix
#
|
|
# Configuration for using SR-IOV with i915.
|
|
#
|
|
# vim: et:ts=2:sw=2:
|
|
#
|
|
{ deprekages, pkgs, ... }:
|
|
{
|
|
# Use looking-glass a as a viewer for SRIOV.
|
|
imports = [
|
|
./looking-glass.nix
|
|
];
|
|
|
|
# Support Intel device SRIOV.
|
|
boot = {
|
|
# Use our kernel, with its specialized config.
|
|
kernelPackages = deprekages.linuxPackages_i915-sriov;
|
|
kernelParams = [
|
|
"iommu=pt"
|
|
"intel_iommu=on"
|
|
"i915.enable_guc=3"
|
|
"i915.max_vfs=7"
|
|
];
|
|
|
|
# This replaces the i915 module with an extended one.
|
|
extraModulePackages = [ deprekages.i915-sriov ];
|
|
};
|
|
|
|
# Make a virtual function for a VM ready and available on VM start.
|
|
virtualisation.libvirtd.hooks.qemu = {
|
|
|
|
ready_sriov = pkgs.writeScript "sriov.sh" ''
|
|
#!${pkgs.bash}/bin/bash
|
|
echo 0 > /sys/devices/pci0000:00/0000:00:02.0/sriov_drivers_autoprobe
|
|
echo 1 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
|
|
'';
|
|
|
|
};
|
|
|
|
}
|