VirtualBox

Changeset 11704

Show
Ignore:
Timestamp:
08/27/08 16:52:09 (3 months ago)
Author:
vboxsync
Message:

Allow enabling and disabling of the PAT cpuid feature.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/VBox/cpum.h

    r11424 r11704  
    398398    CPUMCPUIDFEATURE_LAHF, 
    399399    /** The LONG MODE feature bit. (Ext) */ 
    400     CPUMCPUIDFEATURE_LONG_MODE 
     400    CPUMCPUIDFEATURE_LONG_MODE, 
     401    /** The PAT feature bit. (Std+Ext) */ 
     402    CPUMCPUIDFEATURE_PAT, 
     403    /** 32bit hackishness. */ 
     404    CPUMCPUIDFEATURE_32BIT_HACK = 0x7fffffff 
    401405} CPUMCPUIDFEATURE; 
    402406 
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r11311 r11704  
    12031203        } 
    12041204 
     1205        case CPUMCPUIDFEATURE_PAT: 
     1206        { 
     1207            if (pVM->cpum.s.aGuestCpuIdStd[0].eax >= 1) 
     1208                pVM->cpum.s.aGuestCpuIdStd[1].edx |= X86_CPUID_FEATURE_EDX_PAT; 
     1209            if (    pVM->cpum.s.aGuestCpuIdExt[0].eax >= 0x80000001 
     1210                &&  pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_AMD) 
     1211                pVM->cpum.s.aGuestCpuIdExt[1].edx |= X86_CPUID_AMD_FEATURE_EDX_PAT; 
     1212            LogRel(("CPUMClearGuestCpuIdFeature: Enabled PAT\n")); 
     1213            break; 
     1214        } 
     1215 
    12051216        default: 
    12061217            AssertMsgFailed(("enmFeature=%d\n", enmFeature)); 
     
    12651276                pVM->cpum.s.aGuestCpuIdExt[1].edx &= ~X86_CPUID_AMD_FEATURE_EDX_PAE; 
    12661277            LogRel(("CPUMClearGuestCpuIdFeature: Disabled PAE!\n")); 
     1278            break; 
     1279        } 
     1280 
     1281        case CPUMCPUIDFEATURE_PAT: 
     1282        { 
     1283            if (pVM->cpum.s.aGuestCpuIdStd[0].eax >= 1) 
     1284                pVM->cpum.s.aGuestCpuIdStd[1].edx &= ~X86_CPUID_FEATURE_EDX_PAT; 
     1285            if (    pVM->cpum.s.aGuestCpuIdExt[0].eax >= 0x80000001 
     1286                &&  pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_AMD) 
     1287                pVM->cpum.s.aGuestCpuIdExt[1].edx &= ~X86_CPUID_AMD_FEATURE_EDX_PAT; 
     1288            LogRel(("CPUMClearGuestCpuIdFeature: Disabled PAT!\n")); 
    12671289            break; 
    12681290        } 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy