#!/usr/bin/env bash
#
# Unbinds a device from the vfio-pci driver.
#
# This script is called by the QEMU hook script when a VM is started and is 
# autogenerated by qemu-hook-manager.
#
# Author: Philip J. Guinchard <phil.guinchard@slackdaystudio.ca>

IOMMU_GROUP="${IOMMU_GROUP_ID}"

if [ -z "${IOMMU_GROUP}" ]; then
    echo "IOMMU_GROUP is not set. Exiting."

    exit 1
fi

DEVICE_ID="$(cat /sys/bus/pci/devices/${IOMMU_GROUP}/vendor) $(cat /sys/bus/pci/devices/${IOMMU_GROUP}/device)"

echo "$DEVICE_ID" >"/sys/bus/pci/drivers/vfio-pci/remove_id"

echo 1 >"/sys/bus/pci/devices/${IOMMU_GROUP}/remove"

echo 1 >"/sys/bus/pci/rescan"

exit 0
