VirtualBox

Changeset 91266 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Sep 15, 2021 10:26:50 PM (3 years ago)
Author:
vboxsync
Message:

VMM/CPUM: Moved CPUIDs and MSRs from the hyper heap and into the VM structure (might not be such a great idea for MSRs actually). bugref:10093

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/CPUMInternal.h

    r91120 r91266  
    178178    uint64_t                    uScalableBusFreq;
    179179
    180     /** Pointer to the MSR ranges (ring-0 pointer). */
    181     R0PTRTYPE(PCPUMMSRRANGE)    paMsrRangesR0;
    182     /** Pointer to the CPUID leaves (ring-0 pointer). */
    183     R0PTRTYPE(PCPUMCPUIDLEAF)   paCpuIdLeavesR0;
    184 
    185     /** Pointer to the MSR ranges (ring-3 pointer). */
     180    /** Pointer to the MSR ranges (for compatibility with old hyper heap code). */
    186181    R3PTRTYPE(PCPUMMSRRANGE)    paMsrRangesR3;
    187     /** Pointer to the CPUID leaves (ring-3 pointer). */
     182    /** Pointer to the CPUID leaves (for compatibility with old hyper heap code). */
    188183    R3PTRTYPE(PCPUMCPUIDLEAF)   paCpuIdLeavesR3;
     184
     185    /** CPUID leaves. */
     186    CPUMCPUIDLEAF               aCpuIdLeaves[256];
     187    /** MSR ranges.
     188     * @todo This is insane, so might want to move this into a separate
     189     *       allocation.  The insanity is mainly for more recent AMD CPUs. */
     190    CPUMMSRRANGE                aMsrRanges[8192];
    189191} CPUMINFO;
    190192/** Pointer to a CPU info structure. */
  • trunk/src/VBox/VMM/include/CPUMInternal.mac

    r87766 r91266  
    4545    .DefCpuId               resb CPUMCPUID_size     ; CPUMCPUID
    4646    .uScalableBusFreq       resq 1                  ; uint64_t
    47     .paMsrRangesR0          RTR0PTR_RES 1           ; R0PTRTYPE(PCPUMMSRRANGE)
    48     .paCpuIdLeavesR0        RTR0PTR_RES 1           ; R0PTRTYPE(PCPUMCPUIDLEAF)
    4947    .paMsrRangesR3          RTR3PTR_RES 1           ; R3PTRTYPE(PCPUMMSRRANGE)
    5048    .paCpuIdLeavesR3        RTR3PTR_RES 1           ; R3PTRTYPE(PCPUMCPUIDLEAF)
     49    .aCpuIdLeaves           resb 256*32
     50    .aMsrRanges             resb 8192*128
    5151endstruc
    5252
     
    9292    .HostFeatures               resb    48
    9393    .GuestFeatures              resb    48
    94     .GuestInfo                  resb    RTHCPTR_CB*4 + 4*12
     94    .GuestInfo                  resb    CPUMINFO_size
    9595
    9696    ; Patch manager saved state compatability CPUID leaf arrays
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