fn create_virtio_devices(
    cfg: &Config,
    vm: &mut impl VmArch,
    resources: &mut SystemAllocator,
    vm_evt_wrtube: &SendTube,
    balloon_device_tube: Option<Tube>,
    balloon_inflate_tube: Option<Tube>,
    init_balloon_size: u64,
    disk_device_tubes: &mut Vec<Tube>,
    pmem_device_tubes: &mut Vec<Tube>,
    fs_device_tubes: &mut Vec<Tube>,
    gpu_control_tube: Tube,
    render_server_fd: Option<SafeDescriptor>,
    has_vfio_gfx_device: bool,
    registered_evt_q: &SendTube,
    pvclock_device_tube: Option<Tube>
) -> Result<Vec<VirtioDeviceStub>>