Changeset 80741 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Sep 12, 2019 4:42:56 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 133293
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r80578 r80741 1707 1707 /* CR0. */ 1708 1708 { 1709 /* Bits 63:32, 28:19, 17, 15:6, ET, CD, NW and fixed CR0bits are not modified. */1709 /* Bits 63:32, 28:19, 17, 15:6, ET, CD, NW and CR0 fixed bits are not modified. */ 1710 1710 uint64_t const uCr0Mb1 = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64Cr0Fixed0; 1711 1711 uint64_t const uCr0Mb0 = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64Cr0Fixed1; … … 1714 1714 uint64_t const uGuestCr0 = pVCpu->cpum.GstCtx.cr0; 1715 1715 uint64_t const uValidHostCr0 = (uHostCr0 & ~fCr0IgnMask) | (uGuestCr0 & fCr0IgnMask); 1716 1717 /* Verify we have not modified CR0 fixed bits in VMX non-root operation. */ 1718 Assert((uGuestCr0 & uCr0Mb1) == uCr0Mb1); 1719 Assert((uGuestCr0 & ~uCr0Mb0) == 0); 1716 1720 CPUMSetGuestCR0(pVCpu, uValidHostCr0); 1717 1721 } … … 1719 1723 /* CR4. */ 1720 1724 { 1721 /* Fixed CR4bits are not modified. */1725 /* CR4 fixed bits are not modified. */ 1722 1726 uint64_t const uCr4Mb1 = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64Cr4Fixed0; 1723 1727 uint64_t const uCr4Mb0 = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64Cr4Fixed1; … … 1730 1734 else 1731 1735 uValidHostCr4 &= ~X86_CR4_PCIDE; 1736 1737 /* Verify we have not modified CR4 fixed bits in VMX non-root operation. */ 1738 Assert((uGuestCr4 & uCr4Mb1) == uCr4Mb1); 1739 Assert((uGuestCr4 & ~uCr4Mb0) == 0); 1732 1740 CPUMSetGuestCR4(pVCpu, uValidHostCr4); 1733 1741 } … … 2479 2487 pVmcs->u64RoExitQual.u = u64ExitQual; 2480 2488 2481 Log3(("vmexit: uExitReason=%#RX32 u64ExitQual=%#RX64 cs:rip=%04x:%#RX64\n", uExitReason, pVmcs->u64RoExitQual.u, 2482 pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip)); 2489 Log3(("vmexit: reason=%#RX32 qual=%#RX64 cs:rip=%04x:%#RX64 cr0=%#RX64 cr3=%#RX64 cr4=%#RX64\n", uExitReason, 2490 pVmcs->u64RoExitQual.u, pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, pVCpu->cpum.GstCtx.cr0, 2491 pVCpu->cpum.GstCtx.cr3, pVCpu->cpum.GstCtx.cr4)); 2483 2492 2484 2493 /* … … 7413 7422 7414 7423 /* Finally, done. */ 7415 Log (("%s: cs:rip=%#04x:%#RX64 cr3=%#RX64 cr4=%#RX64 (vmcs=%#RX64) efer=%#RX64 (vmcs=%#RX64)\n", pszInstr,7416 p VCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, pVCpu->cpum.GstCtx.cr3,7417 pVmcs->u64 GuestCr4.u,7418 pVCpu->cpum.GstCtx. cr4, pVCpu->cpum.GstCtx.msrEFER, pVmcs->u64GuestEferMsr.u));7424 Log3(("%s: cs:rip=%#04x:%#RX64 cr0=%#RX64 (%#RX64) cr4=%#RX64 (%#RX64) efer=%#RX64\n", 7425 pszInstr, pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, pVCpu->cpum.GstCtx.cr0, 7426 pVmcs->u64Cr0ReadShadow.u, pVCpu->cpum.GstCtx.cr4, pVmcs->u64Cr4ReadShadow.u, 7427 pVCpu->cpum.GstCtx.msrEFER)); 7419 7428 return VINF_SUCCESS; 7420 7429 }
Note:
See TracChangeset
for help on using the changeset viewer.