VirtualBox

Changeset 43150 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Sep 3, 2012 11:44:17 AM (12 years ago)
Author:
vboxsync
Message:

VMM/VMMR0: fix OS X kernel panic due to skipped auto load/store of STAR MSR on 32-bit OS X while running 64-bit guests. See #6313 for details.

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

Legend:

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

    r42894 r43150  
    13511351        if (u32HostExtFeatures & (X86_CPUID_EXT_FEATURE_EDX_NX | X86_CPUID_EXT_FEATURE_EDX_LONG_MODE))
    13521352        {
    1353             if (u32HostExtFeatures & X86_CPUID_EXT_FEATURE_EDX_SYSCALL)
    1354             {
    1355                 pMsr->u32IndexMSR = MSR_K6_STAR;
    1356                 pMsr->u32Reserved = 0;
    1357                 pMsr->u64Value    = ASMRdMsr(MSR_K6_STAR);          /* legacy syscall eip, cs & ss */
    1358                 pMsr++; idxMsr++;
    1359             }
    1360 
    13611353#if 0
    13621354            pMsr->u32IndexMSR = MSR_K6_EFER;
     
    13781370        if (VMX_IS_64BIT_HOST_MODE())
    13791371        {
     1372            pMsr->u32IndexMSR = MSR_K6_STAR;
     1373            pMsr->u32Reserved = 0;
     1374            pMsr->u64Value    = ASMRdMsr(MSR_K6_STAR);              /* legacy syscall eip, cs & ss */
     1375            pMsr++; idxMsr++;
    13801376            pMsr->u32IndexMSR = MSR_K8_LSTAR;
    13811377            pMsr->u32Reserved = 0;
  • trunk/src/VBox/VMM/include/HWACCMInternal.h

    r42894 r43150  
    4141#define HWACCM_VMX_EMULATE_REALMODE
    4242
    43 /** @todo: Broken on OS X Snow Leopard @bugref{6313}. */
    44 #if !defined(VBOX_WITH_HYBRID_32BIT_KERNEL)
    4543/* The MSR auto load/store does not work for KERNEL_GS_BASE MSR, thus we
    4644 * handle this MSR manually. See @bugref{6208}. This is clearly visible while
     
    5048 */
    5149# define VBOX_WITH_AUTO_MSR_LOAD_RESTORE
    52 #endif
    5350
    5451RT_C_DECLS_BEGIN
  • trunk/src/VBox/VMM/include/HWACCMInternal.mac

    r42822 r43150  
    1616
    1717%define VMX_USE_CACHED_VMCS_ACCESSES
    18 
    19 ; @todo: Broken on OS X Snow Leopard @bugref{6313}.
    20 %ifndef VBOX_WITH_HYBRID_32BIT_KERNEL
    2118%define VBOX_WITH_AUTO_MSR_LOAD_RESTORE
    22 %endif
    2319
    2420;Maximum number of cached entries.
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