Lines Matching refs:pVCpu

45 static void vmmR3TestClearStack(PVMCPU pVCpu)
49 memset(pVCpu->vmm.s.pbEMTStackR3 + 64, 0xaa, VMM_STACK_SIZE - 64);
196 PVMCPU pVCpu = &pVM->aCpus[0];
204 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0);
205 vmmR3TestClearStack(pVCpu);
206 CPUMPushHyper(pVCpu, uVariation);
207 CPUMPushHyper(pVCpu, enmTestcase);
208 CPUMPushHyper(pVCpu, pVM->pVMRC);
209 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */
210 CPUMPushHyper(pVCpu, RCPtrEP); /* what to call */
211 Assert(CPUMGetHyperCR3(pVCpu) && CPUMGetHyperCR3(pVCpu) == PGMGetHyperCR3(pVCpu));
229 Log(("vmmR3DoGCTest: rc=%Rrc iLastGZRc=%Rrc\n", rc, pVCpu->vmm.s.iLastGZRc));
231 rc = pVCpu->vmm.s.iLastGZRc;
250 PVMCPU pVCpu = &pVM->aCpus[0];
259 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0);
260 vmmR3TestClearStack(pVCpu);
261 CPUMPushHyper(pVCpu, uVariation);
262 CPUMPushHyper(pVCpu, u8Trap + VMMGC_DO_TESTCASE_TRAP_FIRST);
263 CPUMPushHyper(pVCpu, pVM->pVMRC);
264 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */
265 CPUMPushHyper(pVCpu, RCPtrEP); /* what to call */
266 Assert(CPUMGetHyperCR3(pVCpu) && CPUMGetHyperCR3(pVCpu) == PGMGetHyperCR3(pVCpu));
269 rc = pVCpu->vmm.s.iLastGZRc;
281 && u8Trap != TRPMGetTrapNo(pVCpu))
283 RTPrintf("VMM: FAILURE - Trap %#x expected %#x\n", TRPMGetTrapNo(pVCpu), u8Trap);
292 else if (RCPtrFault != CPUMGetHyperEIP(pVCpu))
294 RTPrintf("VMM: FAILURE - EIP=%08RX32 expected %RRv (%s)\n", CPUMGetHyperEIP(pVCpu), RCPtrFault, pszFaultEIP);
300 if (CPUMGetHyperSS(pVCpu) == SELMGetHyperDS(pVM))
301 RTPrintf("VMM: FAILURE - ss=%x expected %x\n", CPUMGetHyperSS(pVCpu), SELMGetHyperDS(pVM));
302 if (CPUMGetHyperES(pVCpu) == SELMGetHyperDS(pVM))
303 RTPrintf("VMM: FAILURE - es=%x expected %x\n", CPUMGetHyperES(pVCpu), SELMGetHyperDS(pVM));
304 if (CPUMGetHyperDS(pVCpu) == SELMGetHyperDS(pVM))
305 RTPrintf("VMM: FAILURE - ds=%x expected %x\n", CPUMGetHyperDS(pVCpu), SELMGetHyperDS(pVM));
306 if (CPUMGetHyperFS(pVCpu) == SELMGetHyperDS(pVM))
307 RTPrintf("VMM: FAILURE - fs=%x expected %x\n", CPUMGetHyperFS(pVCpu), SELMGetHyperDS(pVM));
308 if (CPUMGetHyperGS(pVCpu) == SELMGetHyperDS(pVM))
309 RTPrintf("VMM: FAILURE - gs=%x expected %x\n", CPUMGetHyperGS(pVCpu), SELMGetHyperDS(pVM));
310 if (CPUMGetHyperEDI(pVCpu) == 0x01234567)
311 RTPrintf("VMM: FAILURE - edi=%x expected %x\n", CPUMGetHyperEDI(pVCpu), 0x01234567);
312 if (CPUMGetHyperESI(pVCpu) == 0x42000042)
313 RTPrintf("VMM: FAILURE - esi=%x expected %x\n", CPUMGetHyperESI(pVCpu), 0x42000042);
314 if (CPUMGetHyperEBP(pVCpu) == 0xffeeddcc)
315 RTPrintf("VMM: FAILURE - ebp=%x expected %x\n", CPUMGetHyperEBP(pVCpu), 0xffeeddcc);
316 if (CPUMGetHyperEBX(pVCpu) == 0x89abcdef)
317 RTPrintf("VMM: FAILURE - ebx=%x expected %x\n", CPUMGetHyperEBX(pVCpu), 0x89abcdef);
318 if (CPUMGetHyperECX(pVCpu) == 0xffffaaaa)
319 RTPrintf("VMM: FAILURE - ecx=%x expected %x\n", CPUMGetHyperECX(pVCpu), 0xffffaaaa);
320 if (CPUMGetHyperEDX(pVCpu) == 0x77778888)
321 RTPrintf("VMM: FAILURE - edx=%x expected %x\n", CPUMGetHyperEDX(pVCpu), 0x77778888);
322 if (CPUMGetHyperEAX(pVCpu) == u32Eax)
323 RTPrintf("VMM: FAILURE - eax=%x expected %x\n", CPUMGetHyperEAX(pVCpu), u32Eax);
326 VMMR3FatalDump(pVM, pVCpu, rc);
339 PVMCPU pVCpu = &pVM->aCpus[0];
429 CPUMSetHyperEFlags(pVCpu, CPUMGetHyperEFlags(pVCpu) | X86_EFL_RF);
430 rc = VMMR3ResumeHyper(pVM, pVCpu);
446 RTGCUINTREG OldPc = CPUMGetHyperEIP(pVCpu);
451 CPUMSetHyperEFlags(pVCpu, CPUMGetHyperEFlags(pVCpu) | X86_EFL_TF | X86_EFL_RF);
452 rc = VMMR3ResumeHyper(pVM, pVCpu);
458 RTGCUINTREG Pc = CPUMGetHyperEIP(pVCpu);
504 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0);
505 CPUMPushHyper(pVCpu, 0);
506 CPUMPushHyper(pVCpu, VMMGC_DO_TESTCASE_HYPER_INTERRUPT);
507 CPUMPushHyper(pVCpu, pVM->pVMRC);
508 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */
509 CPUMPushHyper(pVCpu, RCPtrEP); /* what to call */
519 Assert(CPUMGetHyperCR3(pVCpu) && CPUMGetHyperCR3(pVCpu) == PGMGetHyperCR3(pVCpu));
524 rc = pVCpu->vmm.s.iLastGZRc;
528 VMMR3FatalDump(pVM, pVCpu, rc);
534 i, CPUMGetHyperESI(pVCpu), CPUMGetHyperEDI(pVCpu), CPUMGetHyperEBX(pVCpu)));
552 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
553 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
563 Assert(CPUMGetHyperCR3(pVCpu) && CPUMGetHyperCR3(pVCpu) == PGMGetHyperCR3(pVCpu));
566 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0);
567 CPUMPushHyper(pVCpu, 0);
568 CPUMPushHyper(pVCpu, VMMGC_DO_TESTCASE_NOP);
569 CPUMPushHyper(pVCpu, pVM->pVMRC);
570 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */
571 CPUMPushHyper(pVCpu, RCPtrEP); /* what to call */
576 rc = pVCpu->vmm.s.iLastGZRc;
581 VMMR3FatalDump(pVM, pVCpu, rc);
640 PVMCPU pVCpu = &pVM->aCpus[0];
652 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
653 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
665 pHyperCtx = CPUMGetHyperCtxPtr(pVCpu);
669 PGMChangeMode(pVCpu, pHyperCtx->cr0, pHyperCtx->cr4, pHyperCtx->msrEFER);
670 PGMSyncCR3(pVCpu, pHyperCtx->cr0, CR3Phys, pHyperCtx->cr4, true);
672 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TO_R3);
673 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TIMER);
686 pHyperCtx = CPUMGetHyperCtxPtr(pVCpu);
707 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0);
708 CPUMPushHyper(pVCpu, 0);
709 CPUMPushHyper(pVCpu, VMMGC_DO_TESTCASE_HM_NOP);
710 CPUMPushHyper(pVCpu, pVM->pVMRC);
711 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */
712 CPUMPushHyper(pVCpu, RCPtrEP); /* what to call */
714 pHyperCtx = CPUMGetHyperCtxPtr(pVCpu);
715 pGuestCtx = CPUMQueryGuestCtxPtr(pVCpu);
721 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TO_R3);
722 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TIMER);
731 VMMR3FatalDump(pVM, pVCpu, rc);