VBOX: Update CPU VMX/SVM usage detection code with the latest error messages returned by VirtualBox 5.x

This commit is contained in:
Rom Walton 2015-10-09 12:38:28 -04:00
parent aa542c6aab
commit 0ee90d7995
1 changed files with 14 additions and 0 deletions

View File

@ -316,6 +316,11 @@ bool VBOX_BASE::is_vm_machine_configuration_available() {
return false;
}
// Updates for VirtualBox errors dealing with CPU exceleration can be found here:
// https://www.virtualbox.org/browser/vbox/trunk/src/VBox/VMM/VMMR3/HM.cpp#L599
//
bool VBOX_BASE::is_logged_failure_vm_extensions_disabled() {
if (vm_log.find("VERR_VMX_MSR_LOCKED_OR_DISABLED") != string::npos) return true;
if (vm_log.find("VERR_SVM_DISABLED") != string::npos) return true;
@ -324,6 +329,11 @@ bool VBOX_BASE::is_logged_failure_vm_extensions_disabled() {
if (vm_log.find("VERR_VMX_MSR_VMXON_DISABLED") != string::npos) return true;
if (vm_log.find("VERR_VMX_MSR_SMX_VMXON_DISABLED") != string::npos) return true;
// VirtualBox 5.x or better
if (vm_log.find("VERR_VMX_MSR_VMX_DISABLED") != string::npos) return true;
if (vm_log.find("VERR_VMX_MSR_ALL_VMX_DISABLED") != string::npos) return true;
if (vm_log.find("VERR_VMX_MSR_LOCKING_FAILED") != string::npos) return true;
return false;
}
@ -339,6 +349,10 @@ bool VBOX_BASE::is_logged_failure_vm_extensions_not_supported() {
return false;
}
//
//
//
bool VBOX_BASE::is_logged_failure_vm_powerup() {
if (vm_log.find("Power up failed (vrc=VINF_SUCCESS, rc=E_FAIL (0X80004005))") != string::npos) return true;
return false;