VirtualBox

Changeset 49664 in vbox for trunk/include


Ignore:
Timestamp:
Nov 26, 2013 3:53:35 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: MSR optimizations for world-switch of 64-bit guests.

Location:
trunk/include/VBox/vmm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm_vmx.h

    r49522 r49664  
    9494AssertCompileMemberOffset(VMXRESTOREHOST, uHostFSBase,    40);
    9595AssertCompileSize(VMXRESTOREHOST, 56);
     96
     97/** @name Host-state MSR lazy-restoration flags.
     98 * @{
     99 */
     100#define VMX_RESTORE_HOST_MSR_LSTAR            RT_BIT(0)
     101#define VMX_RESTORE_HOST_MSR_STAR             RT_BIT(1)
     102#define VMX_RESTORE_HOST_MSR_SFMASK           RT_BIT(2)
     103#define VMX_RESTORE_HOST_MSR_KERNELGSBASE     RT_BIT(3)
     104/** @} */
    96105
    97106/** @name VMX HM-error codes for VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO.
     
    21132122#ifdef VBOX_WITH_HYBRID_32BIT_KERNEL
    21142123# define VMXWriteVmcsHstN(idxField, uVal)       HMVMX_IS_64BIT_HOST_MODE() ?                     \
    2115                                                    VMXWriteVmcs64(idxField, uVal)                 \
     2124                                                   VMXWriteVmcs64(idxField, uVal)                \
    21162125                                                 : VMXWriteVmcs32(idxField, uVal)
    21172126# define VMXWriteVmcsGstN(idxField, u64Val)     (pVCpu->CTX_SUFF(pVM)->hm.s.fAllow64BitGuests) ? \
    2118                                                    VMXWriteVmcs64(idxField, u64Val)               \
     2127                                                   VMXWriteVmcs64(idxField, u64Val)              \
    21192128                                                 : VMXWriteVmcs32(idxField, u64Val)
    21202129#elif ARCH_BITS == 32
  • trunk/include/VBox/vmm/vm.h

    r48558 r49664  
    149149        struct HMCPU    s;
    150150#endif
    151         uint8_t             padding[5568];      /* multiple of 64 */
     151        uint8_t             padding[5632];      /* multiple of 64 */
    152152    } hm;
    153153
     
    226226
    227227    /** Align the following members on page boundary. */
    228     uint8_t                 abAlignment2[192];
     228    uint8_t                 abAlignment2[128];
    229229
    230230    /** PGM part. */
  • trunk/include/VBox/vmm/vm.mac

    r47123 r49664  
    135135
    136136    .cpum                   resb 3584
    137     .hm                     resb 5568
     137    .hm                     resb 5632
    138138    .em                     resb 1472
    139139    .iem                    resb 3072
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