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: CpuSet,
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>,
to_gdb_tube: Option<Sender<VcpuDebugStatusMessage>>,
enable_per_vm_core_scheduling: bool,
cpu_config: Option<CpuConfigArch>,
vcpu_cgroup_tasks_file: Option<File>,
userspace_msr: BTreeMap<u32, MsrConfig>,
bus_lock_ratelimit_ctrl: Arc<Mutex<Ratelimit>>,
run_mode: VmRunMode
) -> Result<JoinHandle<()>>where
V: VcpuArch + 'static,