VirtualBox

Changeset 52770 in vbox


Ignore:
Timestamp:
Sep 17, 2014 11:04:43 AM (10 years ago)
Author:
vboxsync
Message:

VMM/CPUM: Fix EFER WRMSR to ignore EFER.LMA bit, trunk regression caused by r96058.

Location:
trunk/src/VBox/VMM/VMMAll
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp

    r52717 r52770  
    13281328                                 : 0;
    13291329    uint64_t        fMask        = 0;
     1330    uint64_t        fIgnoreMask  = MSR_K6_EFER_LMA;
    13301331
    13311332    /* Filter out those bits the guest is allowed to change. (e.g. LMA is read-only) */
     
    13401341
    13411342    /* #GP(0) If anything outside the allowed bits is set. */
    1342     if ((uValue | fMask) != fMask)
     1343    if (uValue & ~(fIgnoreMask | fMask))
    13431344    {
    13441345        Log(("CPUM: Settings disallowed EFER bit. uValue=%#RX64 fAllowed=%#RX64 -> #GP(0)\n", uValue, fMask));
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r52717 r52770  
    14171417                                         : 0;
    14181418            uint64_t        fMask        = 0;
     1419            uint64_t        fIgnoreMask  = MSR_K6_EFER_LMA;
    14191420
    14201421            /* Filter out those bits the guest is allowed to change. (e.g. LMA is read-only) */
     
    14291430
    14301431            /* #GP(0) If anything outside the allowed bits is set. */
    1431             if ((uValue | fMask) != fMask)
     1432            if (uValue & ~(fIgnoreMask | fMask))
    14321433            {
    14331434                Log(("CPUM: Settings disallowed EFER bit. uValue=%#RX64 fAllowed=%#RX64 -> #GP(0)\n", uValue, fMask));
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette