VirtualBox

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


Ignore:
Timestamp:
Feb 3, 2021 1:32:10 PM (4 years ago)
Author:
vboxsync
Message:

VMM/HM: Did some reshuffling in HMR0PERVM. bugref:9217

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r87563 r87564  
    36593659}
    36603660
    3661 
    36623661#ifdef VBOX_WITH_NESTED_HWVIRT_VMX
     3662
    36633663/**
    36643664 * Sets up the VMREAD bitmap address for the VMCS.
     
    36893689    AssertRC(rc);
    36903690}
     3691
    36913692#endif
    3692 
    36933693
    36943694/**
  • trunk/src/VBox/VMM/include/HMInternal.h

    r87563 r87564  
    650650typedef struct HMR0PERVM
    651651{
     652    /** The maximum number of resumes loops allowed in ring-0 (safety precaution).
     653     * This number is set much higher when RTThreadPreemptIsPending is reliable. */
     654    uint32_t                    cMaxResumeLoops;
     655
    652656    /** Set if nested paging is enabled. */
    653657    bool                        fNestedPaging;
    654658    /** Set if we can support 64-bit guests or not. */
    655659    bool                        fAllow64BitGuests;
    656     bool                        afAlignment0[2];
    657 
    658     /** The maximum number of resumes loops allowed in ring-0 (safety precaution).
    659      * This number is set much higher when RTThreadPreemptIsPending is reliable. */
    660     uint32_t                    cMaxResumeLoops;
     660    bool                        afAlignment1[1];
     661
     662    /** AMD-V specific data. */
     663    struct HMR0SVMVM
     664    {
     665        /** Set if erratum 170 affects the AMD cpu. */
     666        bool                        fAlwaysFlushTLB;
     667    } svm;
    661668
    662669    /** VT-x specific data. */
     
    672679        /** Set if Last Branch Record (LBR) is enabled. */
    673680        bool                        fLbr;
     681        bool                        afAlignment2[3];
     682
    674683        /** Set if VPID is supported (copy in HM::vmx::fVpidForRing3). */
    675684        bool                        fVpid;
     
    681690        VMXTLBFLUSHVPID             enmTlbFlushVpid;
    682691
     692        /** The host LBR TOS (top-of-stack) MSR id. */
     693        uint32_t                    idLbrTosMsr;
     694
    683695        /** The first valid host LBR branch-from-IP stack range. */
    684696        uint32_t                    idLbrFromIpMsrFirst;
     
    691703        uint32_t                    idLbrToIpMsrLast;
    692704
    693         /** The host LBR TOS (top-of-stack) MSR id. */
    694         uint32_t                    idLbrTosMsr;
    695         uint32_t                    u32Alignment1;
    696 
    697         /** Virtual address of the APIC-access page. */
    698         R0PTRTYPE(uint8_t *)        pbApicAccess;
    699705        /** Pointer to the VMREAD bitmap. */
    700706        R0PTRTYPE(void *)           pvVmreadBitmap;
     
    727733        /** Ring-0 memory object for per-VM VMX structures. */
    728734        RTR0MEMOBJ                  hMemObj;
     735        /** Virtual address of the APIC-access page (not used). */
     736        R0PTRTYPE(uint8_t *)        pbApicAccess;
    729737    } vmx;
    730 
    731     /** AMD-V specific data. */
    732     struct HMR0SVMVM
    733     {
    734         /** Set if erratum 170 affects the AMD cpu. */
    735         bool                        fAlwaysFlushTLB;
    736         bool                        afAlignment0[3];
    737     } svm;
    738738} HMR0PERVM;
    739739/** Pointer to HM's per-VM ring-0 instance data. */
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