pub fn create_vfio_device(
    jail_config: &Option<JailConfig>,
    vm: &impl Vm,
    resources: &mut SystemAllocator,
    irq_control_tubes: &mut Vec<Tube>,
    vm_memory_control_tubes: &mut Vec<VmMemoryTube>,
    control_tubes: &mut Vec<TaggedControlTube>,
    vfio_path: &Path,
    hotplug: bool,
    hotplug_bus: Option<u8>,
    guest_address: Option<PciAddress>,
    coiommu_endpoints: Option<&mut Vec<u16>>,
    iommu_dev: IommuDevType,
    dt_symbol: Option<String>
) -> Result<(VfioDeviceVariant, Option<Minijail>, Option<VfioWrapper>)>