On 05/17/2018 10:27 AM, Alex Williamson wrote:
> On Thu, 17 May 2018 12:56:49 +0800
> Eddie Yen <missile0...@gmail.com> wrote:
>> Hi everyone,
>> IME, you can set VID:PID by adding "options vfio-pci" into conf file and
>> put at modprobe.d
>> So that VFIO can take over the device that had same VID:PID when boot.
>> But how can I set this option by using PCI Address without using override
> There's no such module option, what's wrong with a script? Part of the
> reason we don't have such a module option is that PCI addresses are not
> persistent, they can change based on devices added or removed, or even
> motherboard BIOS updates. Userspace has more flexibility for managing
> this and is fully able to do so via initrd scripts and modprobe.d.
That's a good point.
However, I had an environment where I needed to pass through one of two
devices with the same PCI IDs. I accomplished it with an install command
in my modprobe config.
I can probably make this look at other factors before overriding the
driver, but the following config might work well enough if the PCI IDs
# For each PCI device listed in the for-loop, override their assigned driver
# to vfio-pci, for usage with PCI-passthrough.
# Please make sure to include vfio-pci in the initrd, or some other modules
# will likely claim the devices first. This can be done on systems that use
# initramfs-tools by adding "vfio-pci" to /etc/initramfs-tools/modules
install vfio-pci for dev in 0000:03:00.0 0000:03:00.1; do echo vfio-pci >
"/sys/bus/pci/devices/$dev/driver_override"; done; /sbin/modprobe
--ignore-install vfio-pci $CMDLINE_OPTS
# Load vfio-pci before some other drivers so they don't claim devices first.
# The pre-drm line should handle all graphics drivers.
softdep snd_hda_intel pre: vfio-pci
softdep drm pre: vfio-pci
This worked well for me in dracut and initramfs-tools initrds with the
vfio-pci module included.
vfio-users mailing list