fn vcpu_loop<V>(
    run_mode: VmRunMode,
    cpu_id: usize,
    vcpu: V,
    vcpu_run_handle: VcpuRunHandle,
    irq_chip: Box<dyn IrqChipArch + 'static>,
    run_rt: bool,
    delay_rt: bool,
    io_bus: Bus,
    mmio_bus: Bus,
    requires_pvclock_ctrl: bool,
    from_main_tube: Receiver<VcpuControl>,
    use_hypervisor_signals: bool,
    privileged_vm: bool,
    to_gdb_tube: Option<Sender<VcpuDebugStatusMessage>>,
    guest_mem: GuestMemory,
    msr_handlers: MsrHandlers,
    guest_suspended_cvar: Arc<(Mutex<bool>, Condvar)>
) -> ExitState where
    V: VcpuArch + 'static,