VirtualBox

Changeset 93679 in vbox


Ignore:
Timestamp:
Feb 10, 2022 12:54:02 PM (3 years ago)
Author:
vboxsync
Message:

VMM/NEMR3Native-darwin: Sync back the PDPE entries upon VM exit, bugref:9044

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/NEMR3Native-darwin.cpp

    r93586 r93679  
    985985                fUpdateCr3 = true;
    986986            }
     987
     988            /*
     989             * If the guest is in PAE mode, sync back the PDPE's into the guest state.
     990             * CR4.PAE, CR0.PG, EFER MSR changes are always intercepted, so they're up to date.
     991             */
     992            if (CPUMIsGuestInPAEModeEx(&pVCpu->cpum.GstCtx))
     993            {
     994                X86PDPE aPaePdpes[4];
     995                READ_VMCS_FIELD(VMX_VMCS64_GUEST_PDPTE0_FULL, aPaePdpes[0].u);
     996                READ_VMCS_FIELD(VMX_VMCS64_GUEST_PDPTE1_FULL, aPaePdpes[1].u);
     997                READ_VMCS_FIELD(VMX_VMCS64_GUEST_PDPTE2_FULL, aPaePdpes[2].u);
     998                READ_VMCS_FIELD(VMX_VMCS64_GUEST_PDPTE3_FULL, aPaePdpes[3].u);
     999                if (memcmp(&aPaePdpes[0], &pVCpu->cpum.GstCtx.aPaePdpes[0], sizeof(aPaePdpes)))
     1000                {
     1001                    memcpy(&pVCpu->cpum.GstCtx.aPaePdpes[0], &aPaePdpes[0], sizeof(aPaePdpes));
     1002                    fUpdateCr3 = true;
     1003                }
     1004            }
    9871005        }
    9881006        if (fWhat & CPUMCTX_EXTRN_CR4)
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