uint64_t entry_tsc = 0;
uint64_t exit_tsc = 0;
+#ifdef V3_CONFIG_PWRSTAT_TELEMETRY
+ v3_pwrstat_telemetry_enter(info);
+#endif
+
#ifdef V3_CONFIG_PMU_TELEMETRY
v3_pmu_telemetry_enter(info);
#endif
+
+
rdtscll(entry_tsc);
v3_svm_launch((vmcb_t *)V3_PAddr(info->vmm_data), &(info->vm_regs), (vmcb_t *)host_vmcbs[V3_Get_CPU()]);
#ifdef V3_CONFIG_PMU_TELEMETRY
v3_pmu_telemetry_exit(info);
#endif
+
+#ifdef V3_CONFIG_PWRSTAT_TELEMETRY
+ v3_pwrstat_telemetry_exit(info);
+#endif
+
guest_cycles = exit_tsc - entry_tsc;
}
v3_pmu_telemetry_start(info);
#endif
+#ifdef V3_CONFIG_PWRSTAT_TELEMETRY
+ v3_pwrstat_telemetry_start(info);
+#endif
+
while (1) {
if (info->vm_info->run_state == VM_STOPPED) {
#ifdef V3_CONFIG_PMU_TELEMETRY
v3_pmu_telemetry_end(info);
#endif
+
+#ifdef V3_CONFIG_PWRSTAT_TELEMETRY
+ v3_pwrstat_telemetry_end(info);
+#endif
// Need to take down the other cores on error...
return 0;