Changeset 8111 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Apr 17, 2008 4:02:55 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGM.cpp
r8108 r8111 1580 1580 LogFlow(("PGMR3Relocate\n")); 1581 1581 1582 /* Note: remove this restriction once the 32->PAE switcher works properly. */ 1583 if ( CPUMGetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_PAE) 1584 && PGMGetHostMode(pVM) <= PGMMODE_32_BIT 1585 && !HWACCMIsEnabled(pVM)) 1586 { 1587 CPUMClearGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_PAE); 1588 LogRel(("WARNING: Can't turn on PAE when the host is in 32 bits paging mode!!\n")); 1589 } 1590 1582 1591 /* 1583 1592 * Paging stuff. … … 2684 2693 case SUPPAGINGMODE_32_BIT: 2685 2694 case SUPPAGINGMODE_32_BIT_GLOBAL: 2686 AssertFailed(); /* this switcher is not well tested!! */2687 2695 enmShadowMode = PGMMODE_PAE; 2688 2696 enmSwitcher = VMMSWITCHER_32_TO_PAE; 2689 return PGMMODE_INVALID;2697 break; 2690 2698 2691 2699 case SUPPAGINGMODE_PAE: -
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r8110 r8111 27 27 #include "CPUMInternal.h" 28 28 #include <VBox/vm.h> 29 #include <VBox/pgm.h>30 29 #include <VBox/err.h> 31 30 #include <VBox/dis.h> … … 1035 1034 return; 1036 1035 } 1037 /* Remove this restriction once the 32->PAE switcher works properly. */1038 if (PGMGetHostMode(pVM) <= PGMMODE_32_BIT)1039 {1040 LogRel(("WARNING: Can't turn on PAE when the host is in 32 bits paging mode!!\n"));1041 return;1042 }1043 1036 1044 1037 if (pVM->cpum.s.aGuestCpuIdStd[0].eax >= 1) … … 1075 1068 break; 1076 1069 } 1070 } 1071 1072 /** 1073 * Queries a CPUID feature bit. 1074 * 1075 * @returns boolean for feature presence 1076 * @param pVM The VM Handle. 1077 * @param enmFeature The feature to query. 1078 */ 1079 CPUMDECL(bool) CPUMGetGuestCpuIdFeature(PVM pVM, CPUMCPUIDFEATURE enmFeature) 1080 { 1081 switch (enmFeature) 1082 { 1083 case CPUMCPUIDFEATURE_PAE: 1084 { 1085 if (pVM->cpum.s.aGuestCpuIdStd[0].eax >= 1) 1086 return !!(pVM->cpum.s.aGuestCpuIdStd[1].edx & X86_CPUID_FEATURE_EDX_PAE); 1087 break; 1088 } 1089 1090 default: 1091 AssertMsgFailed(("enmFeature=%d\n", enmFeature)); 1092 break; 1093 } 1094 return false; 1077 1095 } 1078 1096
Note:
See TracChangeset
for help on using the changeset viewer.