VirtualBox

Changeset 78837 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
May 29, 2019 8:27:00 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130937
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 RDPMC VM-exit handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r78835 r78837  
    423423//static FNVMXEXITHANDLERNSRC        hmR0VmxExitInvd;
    424424static FNVMXEXITHANDLER            hmR0VmxExitInvlpgNested;
    425 //static FNVMXEXITHANDLER            hmR0VmxExitRdpmc;
     425static FNVMXEXITHANDLER            hmR0VmxExitRdpmcNested;
    426426//static FNVMXEXITHANDLER            hmR0VmxExitVmcall;
    427427//static FNVMXEXITHANDLER            hmR0VmxExitVmclear;
     
    1269512695        case VMX_EXIT_LDTR_TR_ACCESS:   return hmR0VmxExitXdtrAccessNested(pVCpu, pVmxTransient);
    1269612696
    12697         case VMX_EXIT_RDPMC:
     12697        case VMX_EXIT_RDPMC:            return hmR0VmxExitRdpmcNested(pVCpu, pVmxTransient);
    1269812698        case VMX_EXIT_VMREAD:
    1269912699        case VMX_EXIT_VMWRITE:
     
    1584815848
    1584915849/**
     15850 * Nested-guest VM-exit handler for RDPMC (VMX_EXIT_RDPMC). Conditional VM-exit.
     15851 */
     15852HMVMX_EXIT_DECL hmR0VmxExitRdpmcNested(PVMCPU pVCpu, PVMXTRANSIENT pVmxTransient)
     15853{
     15854    HMVMX_VALIDATE_NESTED_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient);
     15855
     15856    if (CPUMIsGuestVmxProcCtlsSet(pVCpu, &pVCpu->cpum.GstCtx, VMX_PROC_CTLS_RDPMC_EXIT))
     15857    {
     15858        int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient);
     15859        AssertRCReturn(rc, rc);
     15860        return IEMExecVmxVmexitInstr(pVCpu, pVmxTransient->uExitReason, pVmxTransient->cbInstr);
     15861    }
     15862    return hmR0VmxExitRdpmc(pVCpu, pVmxTransient);
     15863}
     15864
     15865
     15866/**
    1585015867 * Nested-guest VM-exit handler for RDTSC (VMX_EXIT_RDTSC). Conditional VM-exit.
    1585115868 */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette