guest_state->rip = info->rip;
guest_state->rsp = info->vm_regs.rsp;
-#ifdef CONFIG_SYMBIOTIC
- if (info->sym_local_state.symcall_state.sym_call_active == 0) {
+#ifdef CONFIG_SYMCALL
+ if (info->sym_core_state.symcall_state.sym_call_active == 0) {
update_irq_entry_state(info);
}
#else
(void *)(addr_t)info->rip);
*/
-#ifdef CONFIG_SYMBIOTIC
- if (info->sym_local_state.symcall_state.sym_call_active == 1) {
+#ifdef CONFIG_SYMCALL
+ if (info->sym_core_state.symcall_state.sym_call_active == 1) {
if (guest_ctrl->guest_ctrl.V_IRQ == 1) {
V3_Print("!!! Injecting Interrupt during Sym call !!!\n");
}
#endif
+ rdtscll(tmp_tsc);
+ v3_update_time(info, (tmp_tsc - info->time_state.cached_host_tsc));
rdtscll(info->time_state.cached_host_tsc);
- guest_ctrl->TSC_OFFSET = info->time_state.guest_tsc - info->time_state.cached_host_tsc;
+ // guest_ctrl->TSC_OFFSET = info->time_state.guest_tsc - info->time_state.cached_host_tsc;
//V3_Print("Calling v3_svm_launch\n");
v3_last_exit = (uint32_t)(guest_ctrl->exit_code);
- rdtscll(tmp_tsc);
+ //rdtscll(tmp_tsc);
+ // v3_update_time(info, tmp_tsc - info->time_state.cached_host_tsc);
//PrintDebug("SVM Returned\n");
info->num_exits++;
- v3_update_time(info, tmp_tsc - info->time_state.cached_host_tsc);
+
// Save Guest state from VMCB
exit_info2 = guest_ctrl->exit_info2;
-#ifdef CONFIG_SYMBIOTIC
- if (info->sym_local_state.symcall_state.sym_call_active == 0) {
+#ifdef CONFIG_SYMCALL
+ if (info->sym_core_state.symcall_state.sym_call_active == 0) {
update_irq_exit_state(info);
}
#else