#!/bin/bash for dev in "$@"; do vendor=$(cat /sys/bus/pci/devices/$dev/vendor) device=$(cat /sys/bus/pci/devices/$dev/device) echo "Removing ${dev} from vfio-pci id list" echo "${vendor} ${device}" > /sys/bus/pci/drivers/vfio-pci/remove_id sleep 0.1 echo "Remove PCI device" echo 1 > /sys/bus/pci/devices/${dev}/remove while [[ -e "/sys/bus/pci/devices/${dev}" ]]; do sleep 0.1 done echo "Rescanning..." echo 1 > /sys/bus/pci/rescan while [[ ! -e "/sys/bus/pci/devices/${dev}" ]]; do sleep 0.1 done done