Changeset 74102 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Sep 6, 2018 4:51:44 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp
r74101 r74102 1883 1883 uint64_t uValidatedEfer; 1884 1884 uint64_t const uOldEfer = pVCpu->cpum.s.Guest.msrEFER; 1885 int rc = CPUM QueryValidatedGuestEfer(pVCpu->CTX_SUFF(pVM), pVCpu->cpum.s.Guest.cr0, uOldEfer, uValue, &uValidatedEfer);1885 int rc = CPUMIsGuestEferMsrWriteValid(pVCpu->CTX_SUFF(pVM), pVCpu->cpum.s.Guest.cr0, uOldEfer, uValue, &uValidatedEfer); 1886 1886 if (RT_FAILURE(rc)) 1887 1887 return VERR_CPUM_RAISE_GP_0; … … 6561 6561 * @param uValidEfer The new, validated EFER MSR value. 6562 6562 * 6563 * @remarks One would normally call CPUM QueryValidatedGuestEfer before calling this6564 * function to change the EFER in order to perform an EFER transition.6563 * @remarks One would normally call CPUMIsGuestEferMsrWriteValid() before calling 6564 * this function to change the EFER in order to perform an EFER transition. 6565 6565 */ 6566 6566 VMMDECL(void) CPUMSetGuestEferMsrNoChecks(PVMCPU pVCpu, uint64_t uOldEfer, uint64_t uValidEfer) … … 6607 6607 6608 6608 /** 6609 * Validates an EFER MSR write .6609 * Validates an EFER MSR write and provides the new, validated EFER MSR. 6610 6610 * 6611 6611 * @returns VBox status code. … … 6617 6617 * this function returns VINF_SUCCESS). 6618 6618 */ 6619 VMMDECL(int) CPUM QueryValidatedGuestEfer(PVM pVM, uint64_t uCr0, uint64_t uOldEfer, uint64_t uNewEfer, uint64_t *puValidEfer)6619 VMMDECL(int) CPUMIsGuestEferMsrWriteValid(PVM pVM, uint64_t uCr0, uint64_t uOldEfer, uint64_t uNewEfer, uint64_t *puValidEfer) 6620 6620 { 6621 6621 /* #GP(0) If anything outside the allowed bits is set. */ -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplSvmInstr.cpp.h
r74101 r74102 620 620 * Continue validating guest-state and controls. 621 621 * 622 * We pass CR0 as 0 to CPUM QueryValidatedGuestEferbelow to skip the illegal622 * We pass CR0 as 0 to CPUMIsGuestEferMsrWriteValid() below to skip the illegal 623 623 * EFER.LME bit transition check. We pass the nested-guest's EFER as both the 624 624 * old and new EFER value to not have any guest EFER bits influence the new … … 626 626 */ 627 627 uint64_t uValidEfer; 628 rc = CPUM QueryValidatedGuestEfer(pVM, 0 /* CR0 */, pVmcbNstGst->u64EFER, pVmcbNstGst->u64EFER, &uValidEfer);628 rc = CPUMIsGuestEferMsrWriteValid(pVM, 0 /* CR0 */, pVmcbNstGst->u64EFER, pVmcbNstGst->u64EFER, &uValidEfer); 629 629 if (RT_FAILURE(rc)) 630 630 {
Note:
See TracChangeset
for help on using the changeset viewer.