fixed push error check for VMX injecting event vector 21 on configuration that doesn't support CET

This commit is contained in:
Stanislav Shwartsman 2019-12-20 13:27:18 +00:00
parent ec5f526ac0
commit 553a9471d1
1 changed files with 5 additions and 0 deletions

View File

@ -947,6 +947,11 @@ VMX_error_code BX_CPU_C::VMenterLoadCheckVmControls(void)
unsigned push_error_reference = 0;
if (event_type == BX_HARDWARE_EXCEPTION && vector < BX_CPU_HANDLED_EXCEPTIONS)
push_error_reference = exceptions_info[vector].push_error;
#if BX_SUPPORT_CET
if (! BX_CPUID_SUPPORT_ISA_EXTENSION(BX_ISA_CET)) {
if (vector == BX_CP_EXCEPTION) push_error_reference = false;
}
#endif
if (vm->vmentry_interr_info & 0x7ffff000) {
BX_ERROR(("VMFAIL: VMENTRY broken interruption info field"));