VirtualBox

Changeset 80620 in vbox


Ignore:
Timestamp:
Sep 6, 2019 9:16:02 AM (5 years ago)
Author:
vboxsync
Message:

VMM/IEM: Add IEMExecDecodedInvpcid for upcoming changes.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/iem.h

    r80386 r80620  
    332332VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedInvd(PVMCPUCC pVCpu, uint8_t cbInstr);
    333333VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedInvlpg(PVMCPUCC pVCpu,  uint8_t cbInstr, RTGCPTR GCPtrPage);
     334VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedInvpcid(PVMCPUCC pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPTR GCPtrDesc,
     335                                                  uint64_t uType);
    334336VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedCpuid(PVMCPUCC pVCpu, uint8_t cbInstr);
    335337VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedRdpmc(PVMCPUCC pVCpu, uint8_t cbInstr);
  • trunk/src/VBox/VMM/VMMAll/IEMAll.cpp

    r80594 r80620  
    1523115231
    1523215232/**
     15233 * Interface for HM and EM to emulate the INVPCID instruction.
     15234 *
     15235 * @returns Strict VBox status code.
     15236 * @retval  VINF_PGM_SYNC_CR3
     15237 *
     15238 * @param   pVCpu       The cross context virtual CPU structure.
     15239 * @param   cbInstr     The instruction length in bytes.
     15240 * @param   GCPtrDesc   The effective address of the INVPCID descriptor.
     15241 * @param   uType       The invalidation type.
     15242 *
     15243 * @remarks In ring-0 not all of the state needs to be synced in.
     15244 */
     15245VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedInvpcid(PVMCPUCC pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPTR GCPtrDesc,
     15246                                                 uint64_t uType)
     15247{
     15248    IEMEXEC_ASSERT_INSTR_LEN_RETURN(cbInstr, 4);
     15249
     15250    iemInitExec(pVCpu, false /*fBypassHandlers*/);
     15251    VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_3(iemCImpl_invpcid, iEffSeg, GCPtrDesc, uType);
     15252    Assert(!pVCpu->iem.s.cActiveMappings);
     15253    return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict);
     15254}
     15255
     15256
     15257/**
    1523315258 * Interface for HM and EM to emulate the CPUID instruction.
    1523415259 *
Note: See TracChangeset for help on using the changeset viewer.

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