pub fn run_vcpu<V>(
cpu_id: usize,
vcpu_id: usize,
vcpu: Option<V>,
vcpu_init: VcpuInitArch,
vm: impl VmArch + 'static,
irq_chip: Box<dyn IrqChipArch + 'static>,
vcpu_count: usize,
run_rt: bool,
vcpu_affinity: Vec<usize>,
delay_rt: bool,
start_barrier: Arc<Barrier>,
has_bios: bool,
io_bus: Bus,
mmio_bus: Bus,
vm_evt_wrtube: SendTube,
requires_pvclock_ctrl: bool,
from_main_tube: Receiver<VcpuControl>,
use_hypervisor_signals: bool,
to_gdb_tube: Option<Sender<VcpuDebugStatusMessage>>,
enable_per_vm_core_scheduling: bool,
cpu_config: Option<CpuConfigArch>,
privileged_vm: bool,
vcpu_cgroup_tasks_file: Option<File>,
userspace_msr: BTreeMap<u32, MsrConfig>,
guest_suspended_cvar: Arc<(Mutex<bool>, Condvar)>
) -> Result<JoinHandle<()>> where
V: VcpuArch + 'static,