VirtualBox

Changeset 22059 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Aug 7, 2009 11:46:14 AM (15 years ago)
Author:
vboxsync
Message:

Cleanup

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/HWACCMInternal.h

    r22040 r22059  
    548548    struct
    549549    {
     550        /** Physical address of the VM control structure (VMCS). */
     551        RTHCPHYS                    pVMCSPhys;
    550552        /** R0 memory object for the VM control structure (VMCS). */
    551553        RTR0MEMOBJ                  pMemObjVMCS;
    552         /** Physical address of the VM control structure (VMCS). */
    553         RTHCPHYS                    pVMCSPhys;
    554554        /** Virtual address of the VM control structure (VMCS). */
    555555        R0PTRTYPE(void *)           pVMCS;
     
    564564        uint64_t                    proc_ctls2;
    565565
     566        /** Physical address of the virtual APIC page for TPR caching. */
     567        RTHCPHYS                    pVAPICPhys;
    566568        /** R0 memory object for the virtual APIC page for TPR caching. */
    567569        RTR0MEMOBJ                  pMemObjVAPIC;
    568         /** Physical address of the virtual APIC page for TPR caching. */
    569         RTHCPHYS                    pVAPICPhys;
    570570        /** Virtual address of the virtual APIC page for TPR caching. */
    571571        R0PTRTYPE(uint8_t *)        pVAPIC;
     
    579579        RTHCPHYS                    GCPhysEPTP;
    580580
     581        /** Physical address of the MSR bitmap (1 page). */
     582        RTHCPHYS                    pMSRBitmapPhys;
    581583        /** R0 memory object for the MSR bitmap (1 page). */
    582584        RTR0MEMOBJ                  pMemObjMSRBitmap;
    583         /** Physical address of the MSR bitmap (1 page). */
    584         RTHCPHYS                    pMSRBitmapPhys;
    585585        /** Virtual address of the MSR bitmap (1 page). */
    586586        R0PTRTYPE(uint8_t *)        pMSRBitmap;
    587587
     588        /** Physical address of the guest MSR load area (1 page). */
     589        RTHCPHYS                    pGuestMSRPhys;
    588590        /** R0 memory object for the guest MSR load area (1 page). */
    589591        RTR0MEMOBJ                  pMemObjGuestMSR;
    590         /** Physical address of the guest MSR load area (1 page). */
    591         RTHCPHYS                    pGuestMSRPhys;
    592592        /** Virtual address of the guest MSR load area (1 page). */
    593593        R0PTRTYPE(uint8_t *)        pGuestMSR;
    594594
     595        /** Physical address of the MSR load area (1 page). */
     596        RTHCPHYS                    pHostMSRPhys;
    595597        /** R0 memory object for the MSR load area (1 page). */
    596598        RTR0MEMOBJ                  pMemObjHostMSR;
    597         /** Physical address of the MSR load area (1 page). */
    598         RTHCPHYS                    pHostMSRPhys;
    599599        /** Virtual address of the MSR load area (1 page). */
    600600        R0PTRTYPE(uint8_t *)        pHostMSR;
     601
     602        /* Number of automatically loaded/restored MSRs. */
     603        uint32_t                    cCachedMSRs;
    601604
    602605        /** VMCS cache. */
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r22051 r22059  
    18811881        }
    18821882    }
     1883    pVCpu->hwaccm.s.vmx.cCachedMSRs = idxMsr;
    18831884
    18841885    rc = VMXWriteVMCS(VMX_VMCS_CTRL_ENTRY_MSR_LOAD_COUNT, idxMsr);
     
    20182019    }
    20192020
    2020     uint32_t maxMsr = 0;
    2021     rc = VMXReadVMCS32(VMX_VMCS_CTRL_EXIT_MSR_STORE_COUNT, &maxMsr);
    2022     AssertRC(rc);
    2023 
    20242021    /* Save the possibly changed MSRs that we automatically restore and save during a world switch. */
    2025     for (unsigned i = 0; i < maxMsr; i++)
     2022    for (unsigned i = 0; i < pVCpu->hwaccm.s.vmx.cCachedMSRs; i++)
    20262023    {
    20272024        PVMXMSR pMsr = (PVMXMSR)pVCpu->hwaccm.s.vmx.pGuestMSR;
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