Changeset 78650 in vbox for trunk/src/VBox
- Timestamp:
- May 22, 2019 9:41:16 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMAll.cpp
r78253 r78650 113 113 EXIT_REASON(VMX_EXIT_PML_FULL , 62, "Page-modification log full."), 114 114 EXIT_REASON(VMX_EXIT_XSAVES , 63, "XSAVES instruction."), 115 EXIT_REASON(VMX_EXIT_XRSTORS , 64, "XRSTORS instruction.") 115 EXIT_REASON(VMX_EXIT_XRSTORS , 64, "XRSTORS instruction."), 116 EXIT_REASON_NIL(), 117 EXIT_REASON(VMX_EXIT_SPP_EVENT , 66, "SPP-related event."), 118 EXIT_REASON(VMX_EXIT_UMWAIT , 67, "UMWAIT instruction."), 119 EXIT_REASON(VMX_EXIT_TPAUSE , 68, "TPAUSE instruction.") 116 120 }; 117 121 /** Array index of the last valid VT-x exit reason. */ 118 #define MAX_EXITREASON_VTX 6 4122 #define MAX_EXITREASON_VTX 68 119 123 120 124 /** A partial list of \#EXIT reason descriptions for AMD-V, used to describe -
trunk/src/VBox/VMM/VMMAll/HMVMXAll.cpp
r78645 r78650 1046 1046 LogRel((" %sPDPTE 3 = %#RX64\n", pszPrefix, pVmcs->u64GuestPdpte3.u)); 1047 1047 LogRel((" %sBNDCFGS = %#RX64\n", pszPrefix, pVmcs->u64GuestBndcfgsMsr.u)); 1048 LogRel((" %sRTIT_CTL = %#RX64\n", pszPrefix, pVmcs->u64GuestRtitCtlMsr.u)); 1048 1049 1049 1050 /* Natural width. */ -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r78646 r78650 287 287 /* 8 */ RT_UOFFSETOF(VMXVVMCS, u64GuestPdpte3), 288 288 /* 9 */ RT_UOFFSETOF(VMXVVMCS, u64GuestBndcfgsMsr), 289 /* 10-17 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 290 /* 18-25 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 289 /* 10 */ RT_UOFFSETOF(VMXVVMCS, u64GuestRtitCtlMsr), 290 /* 11-18 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 291 /* 19-25 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 291 292 }, 292 293 /* VMX_VMCS_ENC_WIDTH_64BIT | VMX_VMCS_ENC_TYPE_HOST_STATE: */ -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r78647 r78650 485 485 static const PFNVMXEXITHANDLER g_apfnVMExitHandlers[VMX_EXIT_MAX + 1] = 486 486 { 487 /* 00 VMX_EXIT_XCPT_OR_NMI */ hmR0VmxExitXcptOrNmi,488 /* 01 VMX_EXIT_EXT_INT */ hmR0VmxExitExtInt,489 /* 02 VMX_EXIT_TRIPLE_FAULT */ hmR0VmxExitTripleFault,490 /* 03 VMX_EXIT_INIT_SIGNAL */ hmR0VmxExitErrUnexpected,491 /* 04 VMX_EXIT_SIPI */ hmR0VmxExitErrUnexpected,492 /* 05 VMX_EXIT_IO_SMI */ hmR0VmxExitErrUnexpected,493 /* 06 VMX_EXIT_SMI */ hmR0VmxExitErrUnexpected,494 /* 07 VMX_EXIT_INT_WINDOW */ hmR0VmxExitIntWindow,495 /* 08 VMX_EXIT_NMI_WINDOW */ hmR0VmxExitNmiWindow,496 /* 09 VMX_EXIT_TASK_SWITCH */ hmR0VmxExitTaskSwitch,497 /* 10 VMX_EXIT_CPUID */ hmR0VmxExitCpuid,498 /* 11 VMX_EXIT_GETSEC */ hmR0VmxExitGetsec,499 /* 12 VMX_EXIT_HLT */ hmR0VmxExitHlt,500 /* 13 VMX_EXIT_INVD */ hmR0VmxExitInvd,501 /* 14 VMX_EXIT_INVLPG */ hmR0VmxExitInvlpg,502 /* 15 VMX_EXIT_RDPMC */ hmR0VmxExitRdpmc,503 /* 16 VMX_EXIT_RDTSC */ hmR0VmxExitRdtsc,504 /* 17 VMX_EXIT_RSM */ hmR0VmxExitSetPendingXcptUD,505 /* 18 VMX_EXIT_VMCALL */ hmR0VmxExitVmcall,487 /* 0 VMX_EXIT_XCPT_OR_NMI */ hmR0VmxExitXcptOrNmi, 488 /* 1 VMX_EXIT_EXT_INT */ hmR0VmxExitExtInt, 489 /* 2 VMX_EXIT_TRIPLE_FAULT */ hmR0VmxExitTripleFault, 490 /* 3 VMX_EXIT_INIT_SIGNAL */ hmR0VmxExitErrUnexpected, 491 /* 4 VMX_EXIT_SIPI */ hmR0VmxExitErrUnexpected, 492 /* 5 VMX_EXIT_IO_SMI */ hmR0VmxExitErrUnexpected, 493 /* 6 VMX_EXIT_SMI */ hmR0VmxExitErrUnexpected, 494 /* 7 VMX_EXIT_INT_WINDOW */ hmR0VmxExitIntWindow, 495 /* 8 VMX_EXIT_NMI_WINDOW */ hmR0VmxExitNmiWindow, 496 /* 9 VMX_EXIT_TASK_SWITCH */ hmR0VmxExitTaskSwitch, 497 /* 10 VMX_EXIT_CPUID */ hmR0VmxExitCpuid, 498 /* 11 VMX_EXIT_GETSEC */ hmR0VmxExitGetsec, 499 /* 12 VMX_EXIT_HLT */ hmR0VmxExitHlt, 500 /* 13 VMX_EXIT_INVD */ hmR0VmxExitInvd, 501 /* 14 VMX_EXIT_INVLPG */ hmR0VmxExitInvlpg, 502 /* 15 VMX_EXIT_RDPMC */ hmR0VmxExitRdpmc, 503 /* 16 VMX_EXIT_RDTSC */ hmR0VmxExitRdtsc, 504 /* 17 VMX_EXIT_RSM */ hmR0VmxExitSetPendingXcptUD, 505 /* 18 VMX_EXIT_VMCALL */ hmR0VmxExitVmcall, 506 506 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 507 /* 19 VMX_EXIT_VMCLEAR */ hmR0VmxExitVmclear,508 /* 20 VMX_EXIT_VMLAUNCH */ hmR0VmxExitVmlaunch,509 /* 21 VMX_EXIT_VMPTRLD */ hmR0VmxExitVmptrld,510 /* 22 VMX_EXIT_VMPTRST */ hmR0VmxExitVmptrst,511 /* 23 VMX_EXIT_VMREAD */ hmR0VmxExitVmread,512 /* 24 VMX_EXIT_VMRESUME */ hmR0VmxExitVmresume,513 /* 25 VMX_EXIT_VMWRITE */ hmR0VmxExitVmwrite,514 /* 26 VMX_EXIT_VMXOFF */ hmR0VmxExitVmxoff,515 /* 27 VMX_EXIT_VMXON */ hmR0VmxExitVmxon,507 /* 19 VMX_EXIT_VMCLEAR */ hmR0VmxExitVmclear, 508 /* 20 VMX_EXIT_VMLAUNCH */ hmR0VmxExitVmlaunch, 509 /* 21 VMX_EXIT_VMPTRLD */ hmR0VmxExitVmptrld, 510 /* 22 VMX_EXIT_VMPTRST */ hmR0VmxExitVmptrst, 511 /* 23 VMX_EXIT_VMREAD */ hmR0VmxExitVmread, 512 /* 24 VMX_EXIT_VMRESUME */ hmR0VmxExitVmresume, 513 /* 25 VMX_EXIT_VMWRITE */ hmR0VmxExitVmwrite, 514 /* 26 VMX_EXIT_VMXOFF */ hmR0VmxExitVmxoff, 515 /* 27 VMX_EXIT_VMXON */ hmR0VmxExitVmxon, 516 516 #else 517 /* 19 VMX_EXIT_VMCLEAR */ hmR0VmxExitSetPendingXcptUD,518 /* 20 VMX_EXIT_VMLAUNCH */ hmR0VmxExitSetPendingXcptUD,519 /* 21 VMX_EXIT_VMPTRLD */ hmR0VmxExitSetPendingXcptUD,520 /* 22 VMX_EXIT_VMPTRST */ hmR0VmxExitSetPendingXcptUD,521 /* 23 VMX_EXIT_VMREAD */ hmR0VmxExitSetPendingXcptUD,522 /* 24 VMX_EXIT_VMRESUME */ hmR0VmxExitSetPendingXcptUD,523 /* 25 VMX_EXIT_VMWRITE */ hmR0VmxExitSetPendingXcptUD,524 /* 26 VMX_EXIT_VMXOFF */ hmR0VmxExitSetPendingXcptUD,525 /* 27 VMX_EXIT_VMXON */ hmR0VmxExitSetPendingXcptUD,517 /* 19 VMX_EXIT_VMCLEAR */ hmR0VmxExitSetPendingXcptUD, 518 /* 20 VMX_EXIT_VMLAUNCH */ hmR0VmxExitSetPendingXcptUD, 519 /* 21 VMX_EXIT_VMPTRLD */ hmR0VmxExitSetPendingXcptUD, 520 /* 22 VMX_EXIT_VMPTRST */ hmR0VmxExitSetPendingXcptUD, 521 /* 23 VMX_EXIT_VMREAD */ hmR0VmxExitSetPendingXcptUD, 522 /* 24 VMX_EXIT_VMRESUME */ hmR0VmxExitSetPendingXcptUD, 523 /* 25 VMX_EXIT_VMWRITE */ hmR0VmxExitSetPendingXcptUD, 524 /* 26 VMX_EXIT_VMXOFF */ hmR0VmxExitSetPendingXcptUD, 525 /* 27 VMX_EXIT_VMXON */ hmR0VmxExitSetPendingXcptUD, 526 526 #endif 527 /* 28 VMX_EXIT_MOV_CRX */ hmR0VmxExitMovCRx,528 /* 29 VMX_EXIT_MOV_DRX */ hmR0VmxExitMovDRx,529 /* 30 VMX_EXIT_IO_INSTR */ hmR0VmxExitIoInstr,530 /* 31 VMX_EXIT_RDMSR */ hmR0VmxExitRdmsr,531 /* 32 VMX_EXIT_WRMSR */ hmR0VmxExitWrmsr,532 /* 33 VMX_EXIT_ERR_INVALID_GUEST_STATE */ hmR0VmxExitErrInvalidGuestState,533 /* 34 VMX_EXIT_ERR_MSR_LOAD */ hmR0VmxExitErrUnexpected,534 /* 35 UNDEFINED */ hmR0VmxExitErrUnexpected,535 /* 36 VMX_EXIT_MWAIT */ hmR0VmxExitMwait,536 /* 37 VMX_EXIT_MTF */ hmR0VmxExitMtf,537 /* 38 UNDEFINED */ hmR0VmxExitErrUnexpected,538 /* 39 VMX_EXIT_MONITOR */ hmR0VmxExitMonitor,539 /* 40 VMX_EXIT_PAUSE */ hmR0VmxExitPause,540 /* 41 VMX_EXIT_ERR_MACHINE_CHECK */ hmR0VmxExitErrUnexpected,541 /* 42 UNDEFINED */ hmR0VmxExitErrUnexpected,542 /* 43 VMX_EXIT_TPR_BELOW_THRESHOLD */ hmR0VmxExitTprBelowThreshold,543 /* 44 VMX_EXIT_APIC_ACCESS */ hmR0VmxExitApicAccess,544 /* 45 VMX_EXIT_VIRTUALIZED_EOI */ hmR0VmxExitErrUnexpected,545 /* 46 VMX_EXIT_GDTR_IDTR_ACCESS */ hmR0VmxExitXdtrAccess,546 /* 47 VMX_EXIT_LDTR_TR_ACCESS */ hmR0VmxExitXdtrAccess,547 /* 48 VMX_EXIT_EPT_VIOLATION */ hmR0VmxExitEptViolation,548 /* 49 VMX_EXIT_EPT_MISCONFIG */ hmR0VmxExitEptMisconfig,549 /* 50 VMX_EXIT_INVEPT */ hmR0VmxExitSetPendingXcptUD,550 /* 51 VMX_EXIT_RDTSCP */ hmR0VmxExitRdtscp,551 /* 52 VMX_EXIT_PREEMPT_TIMER */ hmR0VmxExitPreemptTimer,527 /* 28 VMX_EXIT_MOV_CRX */ hmR0VmxExitMovCRx, 528 /* 29 VMX_EXIT_MOV_DRX */ hmR0VmxExitMovDRx, 529 /* 30 VMX_EXIT_IO_INSTR */ hmR0VmxExitIoInstr, 530 /* 31 VMX_EXIT_RDMSR */ hmR0VmxExitRdmsr, 531 /* 32 VMX_EXIT_WRMSR */ hmR0VmxExitWrmsr, 532 /* 33 VMX_EXIT_ERR_INVALID_GUEST_STATE */ hmR0VmxExitErrInvalidGuestState, 533 /* 34 VMX_EXIT_ERR_MSR_LOAD */ hmR0VmxExitErrUnexpected, 534 /* 35 UNDEFINED */ hmR0VmxExitErrUnexpected, 535 /* 36 VMX_EXIT_MWAIT */ hmR0VmxExitMwait, 536 /* 37 VMX_EXIT_MTF */ hmR0VmxExitMtf, 537 /* 38 UNDEFINED */ hmR0VmxExitErrUnexpected, 538 /* 39 VMX_EXIT_MONITOR */ hmR0VmxExitMonitor, 539 /* 40 VMX_EXIT_PAUSE */ hmR0VmxExitPause, 540 /* 41 VMX_EXIT_ERR_MACHINE_CHECK */ hmR0VmxExitErrUnexpected, 541 /* 42 UNDEFINED */ hmR0VmxExitErrUnexpected, 542 /* 43 VMX_EXIT_TPR_BELOW_THRESHOLD */ hmR0VmxExitTprBelowThreshold, 543 /* 44 VMX_EXIT_APIC_ACCESS */ hmR0VmxExitApicAccess, 544 /* 45 VMX_EXIT_VIRTUALIZED_EOI */ hmR0VmxExitErrUnexpected, 545 /* 46 VMX_EXIT_GDTR_IDTR_ACCESS */ hmR0VmxExitXdtrAccess, 546 /* 47 VMX_EXIT_LDTR_TR_ACCESS */ hmR0VmxExitXdtrAccess, 547 /* 48 VMX_EXIT_EPT_VIOLATION */ hmR0VmxExitEptViolation, 548 /* 49 VMX_EXIT_EPT_MISCONFIG */ hmR0VmxExitEptMisconfig, 549 /* 50 VMX_EXIT_INVEPT */ hmR0VmxExitSetPendingXcptUD, 550 /* 51 VMX_EXIT_RDTSCP */ hmR0VmxExitRdtscp, 551 /* 52 VMX_EXIT_PREEMPT_TIMER */ hmR0VmxExitPreemptTimer, 552 552 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 553 /* 53 VMX_EXIT_INVVPID */ hmR0VmxExitInvvpid,553 /* 53 VMX_EXIT_INVVPID */ hmR0VmxExitInvvpid, 554 554 #else 555 /* 53 VMX_EXIT_INVVPID */ hmR0VmxExitSetPendingXcptUD,555 /* 53 VMX_EXIT_INVVPID */ hmR0VmxExitSetPendingXcptUD, 556 556 #endif 557 /* 54 VMX_EXIT_WBINVD */ hmR0VmxExitWbinvd, 558 /* 55 VMX_EXIT_XSETBV */ hmR0VmxExitXsetbv, 559 /* 56 VMX_EXIT_APIC_WRITE */ hmR0VmxExitErrUnexpected, 560 /* 57 VMX_EXIT_RDRAND */ hmR0VmxExitRdrand, 561 /* 58 VMX_EXIT_INVPCID */ hmR0VmxExitInvpcid, 562 /* 59 VMX_EXIT_VMFUNC */ hmR0VmxExitSetPendingXcptUD, 563 /* 60 VMX_EXIT_ENCLS */ hmR0VmxExitSetPendingXcptUD, 564 /* 61 VMX_EXIT_RDSEED */ hmR0VmxExitSetPendingXcptUD, 565 /* 62 VMX_EXIT_PML_FULL */ hmR0VmxExitErrUnexpected, 566 /* 63 VMX_EXIT_XSAVES */ hmR0VmxExitSetPendingXcptUD, 567 /* 64 VMX_EXIT_XRSTORS */ hmR0VmxExitSetPendingXcptUD, 557 /* 54 VMX_EXIT_WBINVD */ hmR0VmxExitWbinvd, 558 /* 55 VMX_EXIT_XSETBV */ hmR0VmxExitXsetbv, 559 /* 56 VMX_EXIT_APIC_WRITE */ hmR0VmxExitErrUnexpected, 560 /* 57 VMX_EXIT_RDRAND */ hmR0VmxExitRdrand, 561 /* 58 VMX_EXIT_INVPCID */ hmR0VmxExitInvpcid, 562 /* 59 VMX_EXIT_VMFUNC */ hmR0VmxExitSetPendingXcptUD, 563 /* 60 VMX_EXIT_ENCLS */ hmR0VmxExitSetPendingXcptUD, 564 /* 61 VMX_EXIT_RDSEED */ hmR0VmxExitSetPendingXcptUD, 565 /* 62 VMX_EXIT_PML_FULL */ hmR0VmxExitErrUnexpected, 566 /* 63 VMX_EXIT_XSAVES */ hmR0VmxExitSetPendingXcptUD, 567 /* 64 VMX_EXIT_XRSTORS */ hmR0VmxExitSetPendingXcptUD, 568 /* 65 UNDEFINED */ hmR0VmxExitErrUnexpected, 569 /* 66 VMX_EXIT_SPP_EVENT */ hmR0VmxExitErrUnexpected, 570 /* 67 VMX_EXIT_UMWAIT */ hmR0VmxExitSetPendingXcptUD, 571 /* 68 VMX_EXIT_TPAUSE */ hmR0VmxExitSetPendingXcptUD, 568 572 }; 569 573 #endif /* HMVMX_USE_FUNCTION_TABLE */ -
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r78621 r78650 461 461 SSMFIELD_ENTRY( VMXVVMCS, u64GuestPdpte3), 462 462 SSMFIELD_ENTRY( VMXVVMCS, u64GuestBndcfgsMsr), 463 SSMFIELD_ENTRY( VMXVVMCS, u64GuestRtitCtlMsr), 463 464 SSMFIELD_ENTRY_IGNORE(VMXVVMCS, au64Reserved2), 464 465 … … 3896 3897 pHlp->pfnPrintf(pHlp, " %sPDPTE 3 = %#RX64\n", pszPrefix, pVmcs->u64GuestPdpte3.u); 3897 3898 pHlp->pfnPrintf(pHlp, " %sBNDCFGS = %#RX64\n", pszPrefix, pVmcs->u64GuestBndcfgsMsr.u); 3899 pHlp->pfnPrintf(pHlp, " %sRTIT_CTL = %#RX64\n", pszPrefix, pVmcs->u64GuestRtitCtlMsr.u); 3898 3900 3899 3901 /* Natural width. */ -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r78632 r78650 1363 1363 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "PML", VMX_PROC_CTLS2_PML); 1364 1364 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "EPT_VE", VMX_PROC_CTLS2_EPT_VE); 1365 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CONCEAL_ FROM_PT", VMX_PROC_CTLS2_CONCEAL_FROM_PT);1365 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CONCEAL_VMX_FROM_PT", VMX_PROC_CTLS2_CONCEAL_VMX_FROM_PT); 1366 1366 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "XSAVES_XRSTORS", VMX_PROC_CTLS2_XSAVES_XRSTORS); 1367 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "MODE_BASED_EPT_PERM", VMX_PROC_CTLS2_MODE_BASED_EPT_PERM); 1368 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "SPPTP_EPT", VMX_PROC_CTLS2_SPPTP_EPT); 1369 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "PT_EPT", VMX_PROC_CTLS2_PT_EPT); 1367 1370 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "TSC_SCALING", VMX_PROC_CTLS2_TSC_SCALING); 1371 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "USER_WAIT_PAUSE", VMX_PROC_CTLS2_USER_WAIT_PAUSE); 1372 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "ENCLV_EXIT", VMX_PROC_CTLS2_ENCLV_EXIT); 1368 1373 } 1369 1374 … … 1386 1391 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "LOAD_PAT_MSR", VMX_ENTRY_CTLS_LOAD_PAT_MSR); 1387 1392 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "LOAD_EFER_MSR", VMX_ENTRY_CTLS_LOAD_EFER_MSR); 1393 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "LOAD_BNDCFGS_MSR", VMX_ENTRY_CTLS_LOAD_BNDCFGS_MSR); 1394 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CONCEAL_VMX_FROM_PT", VMX_ENTRY_CTLS_CONCEAL_VMX_FROM_PT); 1395 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "LOAD_RTIT_CTL_MSR", VMX_ENTRY_CTLS_LOAD_RTIT_CTL_MSR); 1388 1396 } 1389 1397 … … 1408 1416 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "LOAD_EFER_MSR", VMX_EXIT_CTLS_LOAD_EFER_MSR); 1409 1417 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "SAVE_PREEMPT_TIMER", VMX_EXIT_CTLS_SAVE_PREEMPT_TIMER); 1418 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CLEAR_BNDCFGS_MSR", VMX_EXIT_CTLS_CLEAR_BNDCFGS_MSR); 1419 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CONCEAL_VMX_FROM_PT", VMX_EXIT_CTLS_CONCEAL_VMX_FROM_PT); 1420 HMVMX_REPORT_FEAT(fAllowed1, fAllowed0, "CLEAR_RTIT_CTL_MSR", VMX_EXIT_CTLS_CLEAR_RTIT_CTL_MSR); 1410 1421 } 1411 1422 … … 3002 3013 { 3003 3014 uint32_t const u32Val = pVmcsInfo->u32ProcCtls2; 3004 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_APIC_ACCESS ); 3005 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_EPT ); 3006 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_DESC_TABLE_EXIT ); 3007 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDTSCP ); 3008 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_X2APIC_MODE ); 3009 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VPID ); 3010 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_WBINVD_EXIT ); 3011 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_UNRESTRICTED_GUEST); 3012 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_APIC_REG_VIRT ); 3013 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_INT_DELIVERY ); 3014 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_PAUSE_LOOP_EXIT ); 3015 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDRAND_EXIT ); 3016 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_INVPCID ); 3017 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VMFUNC ); 3018 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VMCS_SHADOWING ); 3019 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_ENCLS_EXIT ); 3020 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDSEED_EXIT ); 3021 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_PML ); 3022 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_EPT_VE ); 3023 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_CONCEAL_FROM_PT ); 3024 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_XSAVES_XRSTORS ); 3025 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_TSC_SCALING ); 3015 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_APIC_ACCESS ); 3016 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_EPT ); 3017 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_DESC_TABLE_EXIT ); 3018 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDTSCP ); 3019 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_X2APIC_MODE ); 3020 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VPID ); 3021 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_WBINVD_EXIT ); 3022 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_UNRESTRICTED_GUEST ); 3023 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_APIC_REG_VIRT ); 3024 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VIRT_INT_DELIVERY ); 3025 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_PAUSE_LOOP_EXIT ); 3026 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDRAND_EXIT ); 3027 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_INVPCID ); 3028 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VMFUNC ); 3029 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_VMCS_SHADOWING ); 3030 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_ENCLS_EXIT ); 3031 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_RDSEED_EXIT ); 3032 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_PML ); 3033 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_EPT_VE ); 3034 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_CONCEAL_VMX_FROM_PT); 3035 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_XSAVES_XRSTORS ); 3036 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_MODE_BASED_EPT_PERM); 3037 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_SPPTP_EPT ); 3038 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_PT_EPT ); 3039 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_TSC_SCALING ); 3040 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_USER_WAIT_PAUSE ); 3041 HMVMX_LOGREL_FEAT(u32Val, VMX_PROC_CTLS2_ENCLV_EXIT ); 3026 3042 } 3027 3043 LogRel(("HM: CPU[%u] EntryCtls %#RX32\n", i, pVmcsInfo->u32EntryCtls)); … … 3035 3051 HMVMX_LOGREL_FEAT(u32Val, VMX_ENTRY_CTLS_LOAD_PAT_MSR ); 3036 3052 HMVMX_LOGREL_FEAT(u32Val, VMX_ENTRY_CTLS_LOAD_EFER_MSR ); 3053 HMVMX_LOGREL_FEAT(u32Val, VMX_ENTRY_CTLS_LOAD_BNDCFGS_MSR ); 3054 HMVMX_LOGREL_FEAT(u32Val, VMX_ENTRY_CTLS_CONCEAL_VMX_FROM_PT); 3055 HMVMX_LOGREL_FEAT(u32Val, VMX_ENTRY_CTLS_LOAD_RTIT_CTL_MSR ); 3037 3056 } 3038 3057 LogRel(("HM: CPU[%u] ExitCtls %#RX32\n", i, pVmcsInfo->u32ExitCtls)); … … 3048 3067 HMVMX_LOGREL_FEAT(u32Val, VMX_EXIT_CTLS_LOAD_EFER_MSR ); 3049 3068 HMVMX_LOGREL_FEAT(u32Val, VMX_EXIT_CTLS_SAVE_PREEMPT_TIMER ); 3069 HMVMX_LOGREL_FEAT(u32Val, VMX_EXIT_CTLS_CLEAR_BNDCFGS_MSR ); 3070 HMVMX_LOGREL_FEAT(u32Val, VMX_EXIT_CTLS_CONCEAL_VMX_FROM_PT ); 3071 HMVMX_LOGREL_FEAT(u32Val, VMX_EXIT_CTLS_CLEAR_RTIT_CTL_MSR ); 3050 3072 } 3051 3073 LogRel(("HM: CPU[%u] HCPhysMsrBitmap %#RHp\n", i, pVmcsInfo->HCPhysMsrBitmap));
Note:
See TracChangeset
for help on using the changeset viewer.