help
Includes the file based disk backend
+config DEBUG_FILEDISK
+ bool "FILEDISK backend debugging"
+ depends on FILEDISK && DEBUG_ON
+ help
+ Enable debugging for the file based disk backend
config NETDISK
bool "NETDISK storage backend"
help
Includes the RAM based disk backend
+config DEBUG_RAMDISK
+ bool "RAMDISK baskend debugging"
+ depends on RAMDISK && DEBUG_ON
+ help
+ Enable debugging for the ram based disk backend
config TMPDISK
bool "TMPDISK storage backend"
vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA((vmcb_t*)(info->vmm_data));
addr_t exit_code = 0, exit_info1 = 0, exit_info2 = 0;
- v3_update_timers(info);
v3_adjust_time(info);
// Conditionally yield the CPU if the timeslice has expired
}
#endif
+ v3_update_timers(info);
guest_ctrl->TSC_OFFSET = v3_tsc_host_offset(&info->time_state);
//V3_Print("Calling v3_svm_launch\n");
}
if (vm->num_cores > avail_cores) {
- PrintError("Attempted to start a VM with too many cores (MAX=%d)\n", MAX_CORES);
+ PrintError("Attempted to start a VM with too many cores (vm->num_cores = %d, avail_cores = %d, MAX=%d)\n", vm->num_cores, avail_cores, MAX_CORES);
return -1;
}
// Conditionally yield the CPU if the timeslice has expired
v3_yield_cond(info);
+ /* If this guest is frequency-lagged behind host time, wait
+ * for the appropriate host time before resuming the guest. */
+ v3_adjust_time(info);
+
// v3_print_guest_state(info);
// disable global interrupts for vm state transition
v3_update_timers(info);
- /* If this guest is frequency-lagged behind host time, wait
- * for the appropriate host time before resuming the guest. */
- v3_adjust_time(info);
-
tsc_offset_high = (uint32_t)((v3_tsc_host_offset(&info->time_state) >> 32) & 0xffffffff);
tsc_offset_low = (uint32_t)(v3_tsc_host_offset(&info->time_state) & 0xffffffff);
check_vmcs_write(VMCS_TSC_OFFSET_HIGH, tsc_offset_high);