- Timestamp:
- Jun 4, 2008 12:37:23 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r9383 r9385 675 675 676 676 /* EIP, ESP and EFLAGS */ 677 pVMCB->guest.u64RIP = pCtx-> rip;678 pVMCB->guest.u64RSP = pCtx-> rsp;679 pVMCB->guest.u64RFlags = pCtx-> rflags.u64;677 pVMCB->guest.u64RIP = pCtx->eip; 678 pVMCB->guest.u64RSP = pCtx->esp; 679 pVMCB->guest.u64RFlags = pCtx->eflags.u32; 680 680 681 681 /* Set CPL */ … … 683 683 684 684 /* RAX/EAX too, as VMRUN uses RAX as an implicit parameter. */ 685 pVMCB->guest.u64RAX = pCtx-> rax;685 pVMCB->guest.u64RAX = pCtx->eax; 686 686 687 687 /* vmrun will fail without MSR_K6_EFER_SVME. */ … … 1035 1035 1036 1036 /* Let's first sync back eip, esp, and eflags. */ 1037 pCtx-> rip = pVMCB->guest.u64RIP;1038 pCtx-> rsp = pVMCB->guest.u64RSP;1039 pCtx-> rflags.u64= pVMCB->guest.u64RFlags;1037 pCtx->eip = pVMCB->guest.u64RIP; 1038 pCtx->esp = pVMCB->guest.u64RSP; 1039 pCtx->eflags.u32 = pVMCB->guest.u64RFlags; 1040 1040 /* eax is saved/restore across the vmrun instruction */ 1041 pCtx-> rax = pVMCB->guest.u64RAX;1041 pCtx->eax = pVMCB->guest.u64RAX; 1042 1042 1043 1043 /* Guest CPU context: ES, CS, SS, DS, FS, GS. */ -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r9384 r9385 899 899 900 900 /* EIP, ESP and EFLAGS */ 901 rc = VMXWriteVMCS(VMX_VMCS_GUEST_RIP, pCtx-> rip);902 rc |= VMXWriteVMCS(VMX_VMCS_GUEST_RSP, pCtx-> rsp);901 rc = VMXWriteVMCS(VMX_VMCS_GUEST_RIP, pCtx->eip); 902 rc |= VMXWriteVMCS(VMX_VMCS_GUEST_RSP, pCtx->esp); 903 903 AssertRC(rc); 904 904 … … 1353 1353 rc = VMXReadVMCS(VMX_VMCS_GUEST_RIP, &val); 1354 1354 AssertRC(rc); 1355 pCtx-> rip = val;1355 pCtx->eip = val; 1356 1356 rc = VMXReadVMCS(VMX_VMCS_GUEST_RSP, &val); 1357 1357 AssertRC(rc); 1358 pCtx-> rsp = val;1358 pCtx->esp = val; 1359 1359 rc = VMXReadVMCS(VMX_VMCS_GUEST_RFLAGS, &val); 1360 1360 AssertRC(rc); 1361 pCtx-> rflags.u64= val;1361 pCtx->eflags.u32 = val; 1362 1362 1363 1363 /* Real mode emulation using v86 mode with CR4.VME (interrupt redirection using the int bitmap in the TSS) */
Note:
See TracChangeset
for help on using the changeset viewer.