Changeset 48695 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Sep 26, 2013 12:20:56 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r48602 r48695 1044 1044 1045 1045 case MSR_IA32_PERF_STATUS: 1046 /** @todo could really be not exactly correct, maybe use host's values */ 1046 /** @todo could really be not exactly correct, maybe use host's values 1047 * Apple code indicates that we should use CPU Hz / 1.333MHz here. */ 1048 /** @todo Where are the specs implemented here found? */ 1047 1049 *puValue = UINT64_C(1000) /* TSC increment by tick */ 1048 1050 | ((uint64_t)u8Multiplier << 24) /* CPU multiplier (aka bus ratio) min */ … … 1063 1065 1064 1066 case MSR_IA32_PLATFORM_INFO: 1065 *puValue = ( u8Multiplier << 8)/* Flex ratio max */1067 *puValue = ((uint32_t)u8Multiplier << 8) /* Flex ratio max */ 1066 1068 | ((uint64_t)u8Multiplier << 40) /* Flex ratio min */; 1067 1069 break; … … 1142 1144 case MSR_RAPL_POWER_UNIT: 1143 1145 case MSR_BBL_CR_CTL3: /* ca. core arch? */ 1144 case MSR_PKG_CST_CONFIG_CONTROL: /* Nahalem, Sandy Bridge */ 1146 case MSR_PKG_CST_CONFIG_CONTROL: /* Nahalem, Sandy Bridge */ 1147 case MSR_CORE_THREAD_COUNT: /* Apple queries this. */ 1148 case MSR_FLEX_RATIO: /* Apple queries this. */ 1145 1149 *puValue = 0; 1146 1150 if (CPUMGetGuestCpuVendor(pVCpu->CTX_SUFF(pVM)) != CPUMCPUVENDOR_INTEL) … … 1169 1173 *puValue = pVCpu->cpum.s.GuestMsrs.msr.PkgCStateCfgCtrl; 1170 1174 break; 1175 case MSR_CORE_THREAD_COUNT: 1176 { 1177 /** @todo restrict this to nehalem. */ 1178 PVM pVM = pVCpu->CTX_SUFF(pVM); /* Note! Not sweating the 4-bit core count limit on westmere. */ 1179 *puValue = pVM->cCpus & 0xffff | ((pVM->cCpus & 0xffff) << 16); 1180 break; 1181 } 1182 1183 case MSR_FLEX_RATIO: 1184 { 1185 /** @todo Check for P4, it's different there. Try find accurate specs. */ 1186 *puValue = (uint32_t)u8Multiplier << 8; 1187 break; 1188 } 1171 1189 } 1172 1190 break;
Note:
See TracChangeset
for help on using the changeset viewer.