- Timestamp:
- Jan 25, 2013 12:41:24 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/em.h
r44373 r44375 95 95 } EMCODETYPE; 96 96 97 VMM DECL(EMSTATE)EMGetState(PVMCPU pVCpu);98 VMM DECL(void)EMSetState(PVMCPU pVCpu, EMSTATE enmNewState);97 VMM_INT_DECL(EMSTATE) EMGetState(PVMCPU pVCpu); 98 VMM_INT_DECL(void) EMSetState(PVMCPU pVCpu, EMSTATE enmNewState); 99 99 100 100 /** @name Callback handlers for instruction emulation functions. … … 152 152 #define EMIsSupervisorCodeRecompiled(pVM) ((pVM)->fRecompileSupervisor) 153 153 154 VMMDECL(void) EMSetInhibitInterruptsPC(PVMCPU pVCpu, RTGCUINTPTR PC); 155 VMMDECL(RTGCUINTPTR) EMGetInhibitInterruptsPC(PVMCPU pVCpu); 156 VMMDECL(int) EMInterpretDisasCurrent(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pCpu, unsigned *pcbInstr); 157 VMMDECL(int) EMInterpretDisasOneEx(PVM pVM, PVMCPU pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore, 158 PDISCPUSTATE pDISState, unsigned *pcbInstr); 159 VMMDECL(VBOXSTRICTRC) EMInterpretInstruction(PVMCPU pVCpu, PCPUMCTXCORE pCoreCtx, RTGCPTR pvFault); 160 VMMDECL(VBOXSTRICTRC) EMInterpretInstructionEx(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbWritten); 161 VMMDECL(VBOXSTRICTRC) EMInterpretInstructionDisasState(PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pCoreCtx, RTGCPTR pvFault, EMCODETYPE enmCodeType); 154 VMMDECL(void) EMSetInhibitInterruptsPC(PVMCPU pVCpu, RTGCUINTPTR PC); 155 VMMDECL(RTGCUINTPTR) EMGetInhibitInterruptsPC(PVMCPU pVCpu); 156 VMM_INT_DECL(int) EMInterpretDisasCurrent(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pCpu, unsigned *pcbInstr); 157 VMM_INT_DECL(int) EMInterpretDisasOneEx(PVM pVM, PVMCPU pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore, 158 PDISCPUSTATE pDISState, unsigned *pcbInstr); 159 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstruction(PVMCPU pVCpu, PCPUMCTXCORE pCoreCtx, RTGCPTR pvFault); 160 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstructionEx(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbWritten); 161 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstructionDisasState(PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pCoreCtx, 162 RTGCPTR pvFault, EMCODETYPE enmCodeType); 162 163 163 164 #ifdef IN_RC 164 VMM DECL(int)EMInterpretIretV86ForPatm(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);165 VMM_INT_DECL(int) EMInterpretIretV86ForPatm(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 165 166 #endif 166 167 167 VMM DECL(int)EMInterpretCpuId(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);168 VMM DECL(int)EMInterpretRdtsc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);169 VMM DECL(int)EMInterpretRdpmc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);170 VMM DECL(int)EMInterpretRdtscp(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);171 VMM DECL(VBOXSTRICTRC)EMInterpretInvlpg(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pAddrGC);172 VMM DECL(VBOXSTRICTRC)EMInterpretMWait(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);173 VMM DECL(int)EMInterpretMonitor(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);174 VMM DECL(int)EMInterpretDRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegDrx, uint32_t SrcRegGen);175 VMM DECL(int)EMInterpretDRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegDrx);176 VMM DECL(int)EMInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen);177 VMM DECL(int)EMInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx);178 VMM DECL(int)EMInterpretLMSW(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint16_t u16Data);179 VMM DECL(int)EMInterpretCLTS(PVM pVM, PVMCPU pVCpu);168 VMM_INT_DECL(int) EMInterpretCpuId(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 169 VMM_INT_DECL(int) EMInterpretRdtsc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 170 VMM_INT_DECL(int) EMInterpretRdpmc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 171 VMM_INT_DECL(int) EMInterpretRdtscp(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx); 172 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInvlpg(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pAddrGC); 173 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretMWait(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 174 VMM_INT_DECL(int) EMInterpretMonitor(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 175 VMM_INT_DECL(int) EMInterpretDRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegDrx, uint32_t SrcRegGen); 176 VMM_INT_DECL(int) EMInterpretDRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegDrx); 177 VMM_INT_DECL(int) EMInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen); 178 VMM_INT_DECL(int) EMInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx); 179 VMM_INT_DECL(int) EMInterpretLMSW(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint16_t u16Data); 180 VMM_INT_DECL(int) EMInterpretCLTS(PVM pVM, PVMCPU pVCpu); 180 181 #ifndef VBOX_WITH_IEM 181 VMM DECL(int)EMInterpretRdmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);182 VMM DECL(int)EMInterpretWrmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);182 VMM_INT_DECL(int) EMInterpretRdmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 183 VMM_INT_DECL(int) EMInterpretWrmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 183 184 #endif /* !VBOX_WITH_IEM */ 184 VMM_INT_DECL(bool) EMShouldContinueAfterHalt(PVMCPU pVCpu, PCPUMCTX pCtx);185 VMM_INT_DECL(int) EMMonitorWaitPrepare(PVMCPU pVCpu, uint64_t rax, uint64_t rcx, uint64_t rdx);186 VMM_INT_DECL(int) EMMonitorWaitPerform(PVMCPU pVCpu, uint64_t rax, uint64_t rcx);185 VMM_INT_DECL(bool) EMShouldContinueAfterHalt(PVMCPU pVCpu, PCPUMCTX pCtx); 186 VMM_INT_DECL(int) EMMonitorWaitPrepare(PVMCPU pVCpu, uint64_t rax, uint64_t rcx, uint64_t rdx); 187 VMM_INT_DECL(int) EMMonitorWaitPerform(PVMCPU pVCpu, uint64_t rax, uint64_t rcx); 187 188 188 189 /** @name Assembly routines … … 214 215 /** @name REM locking routines 215 216 * @{ */ 216 VMMDECL(void) EMRemUnlock(PVM pVM);217 VMMDECL(void) EMRemLock(PVM pVM);218 VMMDECL(bool) EMRemIsLockOwner(PVM pVM);219 VMM DECL(int)EMRemTryLock(PVM pVM);217 VMMDECL(void) EMRemUnlock(PVM pVM); 218 VMMDECL(void) EMRemLock(PVM pVM); 219 VMMDECL(bool) EMRemIsLockOwner(PVM pVM); 220 VMM_INT_DECL(int) EMRemTryLock(PVM pVM); 220 221 /** @} */ 221 222 … … 225 226 * @{ 226 227 */ 227 228 VMMR3DECL(bool) EMR3IsRawRing3Enabled(PUVM pUVM);229 VMMR3DECL(bool) EMR3IsRawRing0Enabled(PUVM pUVM);230 231 VMMR3DECL(int) EMR3Init(PVM pVM);232 VMMR3DECL(void) EMR3Relocate(PVM pVM);233 VMMR3DECL(void) EMR3ResetCpu(PVMCPU pVCpu);234 VMMR3DECL(void) EMR3Reset(PVM pVM);235 VMMR3DECL(int) EMR3Term(PVM pVM);236 VMMR3DECL(DECLNORETURN(void)) EMR3FatalError(PVMCPU pVCpu, int rc);237 VMMR3DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu);238 VMMR3DECL(int) EMR3CheckRawForcedActions(PVM pVM, PVMCPU pVCpu);239 VMMR3DECL(int) EMR3Interpret(PVM pVM);240 VMMR3_INT_DECL(int) EMR3NotifyResume(PVM pVM);241 VMMR3_INT_DECL(int) EMR3NotifySuspend(PVM pVM);242 VMMR3_INT_DECL(bool) EMR3IsExecutionAllowed(PVM pVM, PVMCPU pVCpu);243 228 244 229 /** … … 261 246 EMEXECPOLICY_32BIT_HACK = 0x7fffffff 262 247 } EMEXECPOLICY; 263 264 VMMR3DECL(int) EMR3SetExecutionPolicy(PVM pVM, EMEXECPOLICY enmPolicy, bool fEnforce); 248 VMMR3DECL(int) EMR3SetExecutionPolicy(PUVM pUVM, EMEXECPOLICY enmPolicy, bool fEnforce); 249 VMMR3DECL(bool) EMR3IsRawRing3Enabled(PUVM pUVM); 250 VMMR3DECL(bool) EMR3IsRawRing0Enabled(PUVM pUVM); 251 252 VMMR3_INT_DECL(int) EMR3Init(PVM pVM); 253 VMMR3_INT_DECL(void) EMR3Relocate(PVM pVM); 254 VMMR3_INT_DECL(void) EMR3ResetCpu(PVMCPU pVCpu); 255 VMMR3_INT_DECL(void) EMR3Reset(PVM pVM); 256 VMMR3_INT_DECL(int) EMR3Term(PVM pVM); 257 VMMR3DECL(DECLNORETURN(void)) EMR3FatalError(PVMCPU pVCpu, int rc); 258 VMMR3_INT_DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu); 259 VMMR3_INT_DECL(int) EMR3CheckRawForcedActions(PVM pVM, PVMCPU pVCpu); 260 VMMR3_INT_DECL(int) EMR3NotifyResume(PVM pVM); 261 VMMR3_INT_DECL(int) EMR3NotifySuspend(PVM pVM); 262 VMMR3_INT_DECL(bool) EMR3IsExecutionAllowed(PVM pVM, PVMCPU pVCpu); 265 263 /** @} */ 266 264 #endif /* IN_RING3 */ 267 265 268 269 #ifdef IN_RC270 /** @defgroup grp_em_gc The EM Guest Context API271 * @ingroup grp_em272 * @{273 */274 VMMRCDECL(int) EMGCTrap(PVM pVM, unsigned uTrap, PCPUMCTXCORE pRegFrame);275 /** @} */276 #endif /* IN_RC */277 278 266 /** @} */ 279 267 -
trunk/src/VBox/Main/src-client/MachineDebuggerImpl.cpp
r44373 r44375 215 215 if (SUCCEEDED(hrc)) 216 216 { 217 int vrc = EMR3SetExecutionPolicy(ptrVM.raw (), EMEXECPOLICY_RECOMPILE_RING3, RT_BOOL(aEnable));217 int vrc = EMR3SetExecutionPolicy(ptrVM.rawUVM(), EMEXECPOLICY_RECOMPILE_RING3, RT_BOOL(aEnable)); 218 218 if (RT_FAILURE(vrc)) 219 219 hrc = setError(VBOX_E_VM_ERROR, tr("EMR3SetExecutionPolicy failed with %Rrc"), vrc); … … 272 272 if (SUCCEEDED(hrc)) 273 273 { 274 int vrc = EMR3SetExecutionPolicy(ptrVM.raw (), EMEXECPOLICY_RECOMPILE_RING0, RT_BOOL(aEnable));274 int vrc = EMR3SetExecutionPolicy(ptrVM.rawUVM(), EMEXECPOLICY_RECOMPILE_RING0, RT_BOOL(aEnable)); 275 275 if (RT_FAILURE(vrc)) 276 276 hrc = setError(VBOX_E_VM_ERROR, tr("EMR3SetExecutionPolicy failed with %Rrc"), vrc); -
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r44266 r44375 118 118 * @param pVCpu Pointer to the VMCPU. 119 119 */ 120 VMM DECL(EMSTATE) EMGetState(PVMCPU pVCpu)120 VMM_INT_DECL(EMSTATE) EMGetState(PVMCPU pVCpu) 121 121 { 122 122 return pVCpu->em.s.enmState; … … 128 128 * @param pVCpu Pointer to the VMCPU. 129 129 */ 130 VMM DECL(void) EMSetState(PVMCPU pVCpu, EMSTATE enmNewState)130 VMM_INT_DECL(void) EMSetState(PVMCPU pVCpu, EMSTATE enmNewState) 131 131 { 132 132 /* Only allowed combination: */ … … 295 295 * @param pVM Pointer to the VM. 296 296 */ 297 VMM DECL(int) EMRemTryLock(PVM pVM)297 VMM_INT_DECL(int) EMRemTryLock(PVM pVM) 298 298 { 299 299 #ifdef VBOX_WITH_REM … … 411 411 * @param pcbInstr Where to return the instruction size. (optional) 412 412 */ 413 VMM DECL(int) EMInterpretDisasCurrent(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, unsigned *pcbInstr)413 VMM_INT_DECL(int) EMInterpretDisasCurrent(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, unsigned *pcbInstr) 414 414 { 415 415 PCPUMCTXCORE pCtxCore = CPUMCTX2CORE(CPUMQueryGuestCtxPtr(pVCpu)); … … 447 447 * @param pcbInstr Where to return the instruction size. (optional) 448 448 */ 449 VMM DECL(int) EMInterpretDisasOneEx(PVM pVM, PVMCPU pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore,450 PDISCPUSTATE pDis, unsigned *pcbInstr)449 VMM_INT_DECL(int) EMInterpretDisasOneEx(PVM pVM, PVMCPU pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore, 450 PDISCPUSTATE pDis, unsigned *pcbInstr) 451 451 { 452 452 Assert(pCtxCore == CPUMGetGuestCtxCore(pVCpu)); … … 680 680 * to worry about e.g. invalid modrm combinations (!) 681 681 */ 682 VMM DECL(VBOXSTRICTRC) EMInterpretInstruction(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault)682 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstruction(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault) 683 683 { 684 684 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 809 809 * to worry about e.g. invalid modrm combinations (!) 810 810 */ 811 VMM DECL(VBOXSTRICTRC) EMInterpretInstructionEx(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbWritten)811 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstructionEx(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbWritten) 812 812 { 813 813 LogFlow(("EMInterpretInstructionEx %RGv fault %RGv\n", (RTGCPTR)pRegFrame->rip, pvFault)); … … 951 951 * Make sure this can't happen!! (will add some assertions/checks later) 952 952 */ 953 VMM DECL(VBOXSTRICTRC) EMInterpretInstructionDisasState(PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame,954 RTGCPTR pvFault, EMCODETYPE enmCodeType)953 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInstructionDisasState(PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame, 954 RTGCPTR pvFault, EMCODETYPE enmCodeType) 955 955 { 956 956 LogFlow(("EMInterpretInstructionDisasState %RGv fault %RGv\n", (RTGCPTR)pRegFrame->rip, pvFault)); … … 1049 1049 * 1050 1050 */ 1051 VMM DECL(int) EMInterpretIretV86ForPatm(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1051 VMM_INT_DECL(int) EMInterpretIretV86ForPatm(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1052 1052 { 1053 1053 RTGCUINTPTR pIretStack = (RTGCUINTPTR)pRegFrame->esp; … … 1119 1119 * 1120 1120 */ 1121 VMM DECL(int) EMInterpretCpuId(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1121 VMM_INT_DECL(int) EMInterpretCpuId(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1122 1122 { 1123 1123 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1147 1147 * 1148 1148 */ 1149 VMM DECL(int) EMInterpretRdtsc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1149 VMM_INT_DECL(int) EMInterpretRdtsc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1150 1150 { 1151 1151 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1177 1177 * 1178 1178 */ 1179 VMM DECL(int) EMInterpretRdtscp(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)1179 VMM_INT_DECL(int) EMInterpretRdtscp(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx) 1180 1180 { 1181 1181 Assert(pCtx == CPUMQueryGuestCtxPtr(pVCpu)); … … 1215 1215 * 1216 1216 */ 1217 VMM DECL(int) EMInterpretRdpmc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1217 VMM_INT_DECL(int) EMInterpretRdpmc(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1218 1218 { 1219 1219 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1242 1242 * MWAIT Emulation. 1243 1243 */ 1244 VMM DECL(VBOXSTRICTRC) EMInterpretMWait(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1244 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretMWait(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1245 1245 { 1246 1246 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1281 1281 * MONITOR Emulation. 1282 1282 */ 1283 VMM DECL(int) EMInterpretMonitor(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)1283 VMM_INT_DECL(int) EMInterpretMonitor(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 1284 1284 { 1285 1285 uint32_t u32Dummy, u32ExtFeatures, cpl; … … 1319 1319 * 1320 1320 */ 1321 VMM DECL(VBOXSTRICTRC) EMInterpretInvlpg(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pAddrGC)1321 VMM_INT_DECL(VBOXSTRICTRC) EMInterpretInvlpg(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pAddrGC) 1322 1322 { 1323 1323 /** @todo is addr always a flat linear address or ds based … … 1496 1496 * 1497 1497 */ 1498 VMM DECL(int) EMInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen)1498 VMM_INT_DECL(int) EMInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen) 1499 1499 { 1500 1500 uint64_t val; … … 1527 1527 * 1528 1528 */ 1529 VMM DECL(int) EMInterpretLMSW(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint16_t u16Data)1529 VMM_INT_DECL(int) EMInterpretLMSW(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint16_t u16Data) 1530 1530 { 1531 1531 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1548 1548 * 1549 1549 */ 1550 VMM DECL(int) EMInterpretCLTS(PVM pVM, PVMCPU pVCpu)1550 VMM_INT_DECL(int) EMInterpretCLTS(PVM pVM, PVMCPU pVCpu) 1551 1551 { 1552 1552 NOREF(pVM); … … 1570 1570 * 1571 1571 */ 1572 VMM DECL(int) EMInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx)1572 VMM_INT_DECL(int) EMInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx) 1573 1573 { 1574 1574 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1603 1603 * 1604 1604 */ 1605 VMM DECL(int) EMInterpretDRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegDrx, uint32_t SrcRegGen)1605 VMM_INT_DECL(int) EMInterpretDRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegDrx, uint32_t SrcRegGen) 1606 1606 { 1607 1607 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); … … 1642 1642 * 1643 1643 */ 1644 VMM DECL(int) EMInterpretDRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegDrx)1644 VMM_INT_DECL(int) EMInterpretDRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegDrx) 1645 1645 { 1646 1646 uint64_t val64; … … 3495 3495 * @param pRegFrame The register frame. 3496 3496 */ 3497 VMM DECL(int) EMInterpretRdmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)3497 VMM_INT_DECL(int) EMInterpretRdmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 3498 3498 { 3499 3499 NOREF(pVM); … … 3542 3542 * @param pRegFrame The register frame. 3543 3543 */ 3544 VMM DECL(int) EMInterpretWrmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame)3544 VMM_INT_DECL(int) EMInterpretWrmsr(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame) 3545 3545 { 3546 3546 Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu)); -
trunk/src/VBox/VMM/VMMR3/EM.cpp
r44373 r44375 104 104 * @param pVM Pointer to the VM. 105 105 */ 106 VMMR3 DECL(int) EMR3Init(PVM pVM)106 VMMR3_INT_DECL(int) EMR3Init(PVM pVM) 107 107 { 108 108 LogFlow(("EMR3Init\n")); … … 422 422 * @param pVM Pointer to the VM. 423 423 */ 424 VMMR3 DECL(void) EMR3Relocate(PVM pVM)424 VMMR3_INT_DECL(void) EMR3Relocate(PVM pVM) 425 425 { 426 426 LogFlow(("EMR3Relocate\n")); … … 441 441 * @param pVCpu Pointer to the VMCPU. 442 442 */ 443 VMMR3 DECL(void) EMR3ResetCpu(PVMCPU pVCpu)443 VMMR3_INT_DECL(void) EMR3ResetCpu(PVMCPU pVCpu) 444 444 { 445 445 pVCpu->em.s.fForceRAW = false; … … 461 461 * @param pVM Pointer to the VM. 462 462 */ 463 VMMR3 DECL(void) EMR3Reset(PVM pVM)463 VMMR3_INT_DECL(void) EMR3Reset(PVM pVM) 464 464 { 465 465 Log(("EMR3Reset: \n")); … … 478 478 * @param pVM Pointer to the VM. 479 479 */ 480 VMMR3 DECL(int) EMR3Term(PVM pVM)480 VMMR3_INT_DECL(int) EMR3Term(PVM pVM) 481 481 { 482 482 AssertMsg(pVM->em.s.offVM, ("bad init order!\n")); … … 652 652 * @returns VERR_INVALID_PARAMETER on an invalid enmMode value. 653 653 * 654 * @param p VM Pointer to the VM.654 * @param pUVM The user mode VM handle. 655 655 * @param enmPolicy The scheduling policy to change. 656 656 * @param fEnforce Whether to enforce the policy or not. 657 657 */ 658 VMMR3DECL(int) EMR3SetExecutionPolicy(PVM pVM, EMEXECPOLICY enmPolicy, bool fEnforce) 659 { 660 VM_ASSERT_VALID_EXT_RETURN(pVM, VERR_INVALID_VM_HANDLE); 658 VMMR3DECL(int) EMR3SetExecutionPolicy(PUVM pUVM, EMEXECPOLICY enmPolicy, bool fEnforce) 659 { 660 UVM_ASSERT_VALID_EXT_RETURN(pUVM, VERR_INVALID_VM_HANDLE); 661 VM_ASSERT_VALID_EXT_RETURN(pUVM->pVM, VERR_INVALID_VM_HANDLE); 661 662 AssertReturn(enmPolicy > EMEXECPOLICY_INVALID && enmPolicy < EMEXECPOLICY_END, VERR_INVALID_PARAMETER); 662 663 663 664 struct EMR3SETEXECPOLICYARGS Args = { enmPolicy, fEnforce }; 664 return VMMR3EmtRendezvous(p VM, VMMEMTRENDEZVOUS_FLAGS_TYPE_DESCENDING, emR3SetExecutionPolicy, &Args);665 return VMMR3EmtRendezvous(pUVM->pVM, VMMEMTRENDEZVOUS_FLAGS_TYPE_DESCENDING, emR3SetExecutionPolicy, &Args); 665 666 } 666 667 … … 1933 1934 * @param pVCpu Pointer to the VMCPU. 1934 1935 */ 1935 VMMR3 DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu)1936 VMMR3_INT_DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu) 1936 1937 { 1937 1938 Log(("EMR3ExecuteVM: pVM=%p enmVMState=%d (%s) enmState=%d (%s) enmPrevState=%d (%s) fForceRAW=%RTbool\n", -
trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
r44362 r44375 1193 1193 * @param pVCpu Pointer to the VMCPU. 1194 1194 */ 1195 VMMR3 DECL(int) EMR3CheckRawForcedActions(PVM pVM, PVMCPU pVCpu)1195 VMMR3_INT_DECL(int) EMR3CheckRawForcedActions(PVM pVM, PVMCPU pVCpu) 1196 1196 { 1197 1197 int rc = emR3RawForcedActions(pVM, pVCpu, pVCpu->em.s.pCtx); -
trunk/src/VBox/VMM/testcase/tstAnimate.cpp
r44346 r44375 879 879 if (RT_SUCCESS(rc)) 880 880 { 881 rc = EMR3SetExecutionPolicy(p VM, EMEXECPOLICY_RECOMPILE_RING0, true); AssertReleaseRC(rc);882 rc = EMR3SetExecutionPolicy(p VM, EMEXECPOLICY_RECOMPILE_RING3, true); AssertReleaseRC(rc);881 rc = EMR3SetExecutionPolicy(pUVM, EMEXECPOLICY_RECOMPILE_RING0, true); AssertReleaseRC(rc); 882 rc = EMR3SetExecutionPolicy(pUVM, EMEXECPOLICY_RECOMPILE_RING3, true); AssertReleaseRC(rc); 883 883 DBGFR3Info(pVM, "cpumguest", "verbose", NULL); 884 884 if (fPowerOn)
Note:
See TracChangeset
for help on using the changeset viewer.