Changeset 85183 in vbox
- Timestamp:
- Jul 10, 2020 1:21:26 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 139150
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp
r85121 r85183 5018 5018 * MSR read function table. 5019 5019 */ 5020 static const PFNCPUMRDMSRg_aCpumRdMsrFns[kCpumMsrRdFn_End] =5021 { 5022 NULL, /* Invalid */5023 cpumMsrRd_FixedValue,5024 NULL, /* Alias */5025 cpumMsrRd_WriteOnly,5026 cpumMsrRd_Ia32P5McAddr,5027 cpumMsrRd_Ia32P5McType,5028 cpumMsrRd_Ia32TimestampCounter,5029 cpumMsrRd_Ia32PlatformId,5030 cpumMsrRd_Ia32ApicBase,5031 cpumMsrRd_Ia32FeatureControl,5032 cpumMsrRd_Ia32BiosSignId,5033 cpumMsrRd_Ia32SmmMonitorCtl,5034 cpumMsrRd_Ia32PmcN,5035 cpumMsrRd_Ia32MonitorFilterLineSize,5036 cpumMsrRd_Ia32MPerf,5037 cpumMsrRd_Ia32APerf,5038 cpumMsrRd_Ia32MtrrCap,5039 cpumMsrRd_Ia32MtrrPhysBaseN,5040 cpumMsrRd_Ia32MtrrPhysMaskN,5041 cpumMsrRd_Ia32MtrrFixed,5042 cpumMsrRd_Ia32MtrrDefType,5043 cpumMsrRd_Ia32Pat,5044 cpumMsrRd_Ia32SysEnterCs,5045 cpumMsrRd_Ia32SysEnterEsp,5046 cpumMsrRd_Ia32SysEnterEip,5047 cpumMsrRd_Ia32McgCap,5048 cpumMsrRd_Ia32McgStatus,5049 cpumMsrRd_Ia32McgCtl,5050 cpumMsrRd_Ia32DebugCtl,5051 cpumMsrRd_Ia32SmrrPhysBase,5052 cpumMsrRd_Ia32SmrrPhysMask,5053 cpumMsrRd_Ia32PlatformDcaCap,5054 cpumMsrRd_Ia32CpuDcaCap,5055 cpumMsrRd_Ia32Dca0Cap,5056 cpumMsrRd_Ia32PerfEvtSelN,5057 cpumMsrRd_Ia32PerfStatus,5058 cpumMsrRd_Ia32PerfCtl,5059 cpumMsrRd_Ia32FixedCtrN,5060 cpumMsrRd_Ia32PerfCapabilities,5061 cpumMsrRd_Ia32FixedCtrCtrl,5062 cpumMsrRd_Ia32PerfGlobalStatus,5063 cpumMsrRd_Ia32PerfGlobalCtrl,5064 cpumMsrRd_Ia32PerfGlobalOvfCtrl,5065 cpumMsrRd_Ia32PebsEnable,5066 cpumMsrRd_Ia32ClockModulation,5067 cpumMsrRd_Ia32ThermInterrupt,5068 cpumMsrRd_Ia32ThermStatus,5069 cpumMsrRd_Ia32Therm2Ctl,5070 cpumMsrRd_Ia32MiscEnable,5071 cpumMsrRd_Ia32McCtlStatusAddrMiscN,5072 cpumMsrRd_Ia32McNCtl2,5073 cpumMsrRd_Ia32DsArea,5074 cpumMsrRd_Ia32TscDeadline,5075 cpumMsrRd_Ia32X2ApicN,5076 cpumMsrRd_Ia32DebugInterface,5077 cpumMsrRd_Ia32VmxBasic,5078 cpumMsrRd_Ia32VmxPinbasedCtls,5079 cpumMsrRd_Ia32VmxProcbasedCtls,5080 cpumMsrRd_Ia32VmxExitCtls,5081 cpumMsrRd_Ia32VmxEntryCtls,5082 cpumMsrRd_Ia32VmxMisc,5083 cpumMsrRd_Ia32VmxCr0Fixed0,5084 cpumMsrRd_Ia32VmxCr0Fixed1,5085 cpumMsrRd_Ia32VmxCr4Fixed0,5086 cpumMsrRd_Ia32VmxCr4Fixed1,5087 cpumMsrRd_Ia32VmxVmcsEnum,5088 cpumMsrRd_Ia32VmxProcBasedCtls2,5089 cpumMsrRd_Ia32VmxEptVpidCap,5090 cpumMsrRd_Ia32VmxTruePinbasedCtls,5091 cpumMsrRd_Ia32VmxTrueProcbasedCtls,5092 cpumMsrRd_Ia32VmxTrueExitCtls,5093 cpumMsrRd_Ia32VmxTrueEntryCtls,5094 cpumMsrRd_Ia32VmxVmFunc,5095 cpumMsrRd_Ia32SpecCtrl,5096 cpumMsrRd_Ia32ArchCapabilities,5097 5098 cpumMsrRd_Amd64Efer,5099 cpumMsrRd_Amd64SyscallTarget,5100 cpumMsrRd_Amd64LongSyscallTarget,5101 cpumMsrRd_Amd64CompSyscallTarget,5102 cpumMsrRd_Amd64SyscallFlagMask,5103 cpumMsrRd_Amd64FsBase,5104 cpumMsrRd_Amd64GsBase,5105 cpumMsrRd_Amd64KernelGsBase,5106 cpumMsrRd_Amd64TscAux,5107 5108 cpumMsrRd_IntelEblCrPowerOn,5109 cpumMsrRd_IntelI7CoreThreadCount,5110 cpumMsrRd_IntelP4EbcHardPowerOn,5111 cpumMsrRd_IntelP4EbcSoftPowerOn,5112 cpumMsrRd_IntelP4EbcFrequencyId,5113 cpumMsrRd_IntelP6FsbFrequency,5114 cpumMsrRd_IntelPlatformInfo,5115 cpumMsrRd_IntelFlexRatio,5116 cpumMsrRd_IntelPkgCStConfigControl,5117 cpumMsrRd_IntelPmgIoCaptureBase,5118 cpumMsrRd_IntelLastBranchFromToN,5119 cpumMsrRd_IntelLastBranchFromN,5120 cpumMsrRd_IntelLastBranchToN,5121 cpumMsrRd_IntelLastBranchTos,5122 cpumMsrRd_IntelBblCrCtl,5123 cpumMsrRd_IntelBblCrCtl3,5124 cpumMsrRd_IntelI7TemperatureTarget,5125 cpumMsrRd_IntelI7MsrOffCoreResponseN,5126 cpumMsrRd_IntelI7MiscPwrMgmt,5127 cpumMsrRd_IntelP6CrN,5128 cpumMsrRd_IntelCpuId1FeatureMaskEcdx,5129 cpumMsrRd_IntelCpuId1FeatureMaskEax,5130 cpumMsrRd_IntelCpuId80000001FeatureMaskEcdx,5131 cpumMsrRd_IntelI7SandyAesNiCtl,5132 cpumMsrRd_IntelI7TurboRatioLimit,5133 cpumMsrRd_IntelI7LbrSelect,5134 cpumMsrRd_IntelI7SandyErrorControl,5135 cpumMsrRd_IntelI7VirtualLegacyWireCap,5136 cpumMsrRd_IntelI7PowerCtl,5137 cpumMsrRd_IntelI7SandyPebsNumAlt,5138 cpumMsrRd_IntelI7PebsLdLat,5139 cpumMsrRd_IntelI7PkgCnResidencyN,5140 cpumMsrRd_IntelI7CoreCnResidencyN,5141 cpumMsrRd_IntelI7SandyVrCurrentConfig,5142 cpumMsrRd_IntelI7SandyVrMiscConfig,5143 cpumMsrRd_IntelI7SandyRaplPowerUnit,5144 cpumMsrRd_IntelI7SandyPkgCnIrtlN,5145 cpumMsrRd_IntelI7SandyPkgC2Residency,5146 cpumMsrRd_IntelI7RaplPkgPowerLimit,5147 cpumMsrRd_IntelI7RaplPkgEnergyStatus,5148 cpumMsrRd_IntelI7RaplPkgPerfStatus,5149 cpumMsrRd_IntelI7RaplPkgPowerInfo,5150 cpumMsrRd_IntelI7RaplDramPowerLimit,5151 cpumMsrRd_IntelI7RaplDramEnergyStatus,5152 cpumMsrRd_IntelI7RaplDramPerfStatus,5153 cpumMsrRd_IntelI7RaplDramPowerInfo,5154 cpumMsrRd_IntelI7RaplPp0PowerLimit,5155 cpumMsrRd_IntelI7RaplPp0EnergyStatus,5156 cpumMsrRd_IntelI7RaplPp0Policy,5157 cpumMsrRd_IntelI7RaplPp0PerfStatus,5158 cpumMsrRd_IntelI7RaplPp1PowerLimit,5159 cpumMsrRd_IntelI7RaplPp1EnergyStatus,5160 cpumMsrRd_IntelI7RaplPp1Policy,5161 cpumMsrRd_IntelI7IvyConfigTdpNominal,5162 cpumMsrRd_IntelI7IvyConfigTdpLevel1,5163 cpumMsrRd_IntelI7IvyConfigTdpLevel2,5164 cpumMsrRd_IntelI7IvyConfigTdpControl,5165 cpumMsrRd_IntelI7IvyTurboActivationRatio,5166 cpumMsrRd_IntelI7UncPerfGlobalCtrl,5167 cpumMsrRd_IntelI7UncPerfGlobalStatus,5168 cpumMsrRd_IntelI7UncPerfGlobalOvfCtrl,5169 cpumMsrRd_IntelI7UncPerfFixedCtrCtrl,5170 cpumMsrRd_IntelI7UncPerfFixedCtr,5171 cpumMsrRd_IntelI7UncCBoxConfig,5172 cpumMsrRd_IntelI7UncArbPerfCtrN,5173 cpumMsrRd_IntelI7UncArbPerfEvtSelN,5174 cpumMsrRd_IntelI7SmiCount,5175 cpumMsrRd_IntelCore2EmttmCrTablesN,5176 cpumMsrRd_IntelCore2SmmCStMiscInfo,5177 cpumMsrRd_IntelCore1ExtConfig,5178 cpumMsrRd_IntelCore1DtsCalControl,5179 cpumMsrRd_IntelCore2PeciControl,5180 cpumMsrRd_IntelAtSilvCoreC1Recidency,5181 5182 cpumMsrRd_P6LastBranchFromIp,5183 cpumMsrRd_P6LastBranchToIp,5184 cpumMsrRd_P6LastIntFromIp,5185 cpumMsrRd_P6LastIntToIp,5186 5187 cpumMsrRd_AmdFam15hTscRate,5188 cpumMsrRd_AmdFam15hLwpCfg,5189 cpumMsrRd_AmdFam15hLwpCbAddr,5190 cpumMsrRd_AmdFam10hMc4MiscN,5191 cpumMsrRd_AmdK8PerfCtlN,5192 cpumMsrRd_AmdK8PerfCtrN,5193 cpumMsrRd_AmdK8SysCfg,5194 cpumMsrRd_AmdK8HwCr,5195 cpumMsrRd_AmdK8IorrBaseN,5196 cpumMsrRd_AmdK8IorrMaskN,5197 cpumMsrRd_AmdK8TopOfMemN,5198 cpumMsrRd_AmdK8NbCfg1,5199 cpumMsrRd_AmdK8McXcptRedir,5200 cpumMsrRd_AmdK8CpuNameN,5201 cpumMsrRd_AmdK8HwThermalCtrl,5202 cpumMsrRd_AmdK8SwThermalCtrl,5203 cpumMsrRd_AmdK8FidVidControl,5204 cpumMsrRd_AmdK8FidVidStatus,5205 cpumMsrRd_AmdK8McCtlMaskN,5206 cpumMsrRd_AmdK8SmiOnIoTrapN,5207 cpumMsrRd_AmdK8SmiOnIoTrapCtlSts,5208 cpumMsrRd_AmdK8IntPendingMessage,5209 cpumMsrRd_AmdK8SmiTriggerIoCycle,5210 cpumMsrRd_AmdFam10hMmioCfgBaseAddr,5211 cpumMsrRd_AmdFam10hTrapCtlMaybe,5212 cpumMsrRd_AmdFam10hPStateCurLimit,5213 cpumMsrRd_AmdFam10hPStateControl,5214 cpumMsrRd_AmdFam10hPStateStatus,5215 cpumMsrRd_AmdFam10hPStateN,5216 cpumMsrRd_AmdFam10hCofVidControl,5217 cpumMsrRd_AmdFam10hCofVidStatus,5218 cpumMsrRd_AmdFam10hCStateIoBaseAddr,5219 cpumMsrRd_AmdFam10hCpuWatchdogTimer,5220 cpumMsrRd_AmdK8SmmBase,5221 cpumMsrRd_AmdK8SmmAddr,5222 cpumMsrRd_AmdK8SmmMask,5223 cpumMsrRd_AmdK8VmCr,5224 cpumMsrRd_AmdK8IgnNe,5225 cpumMsrRd_AmdK8SmmCtl,5226 cpumMsrRd_AmdK8VmHSavePa,5227 cpumMsrRd_AmdFam10hVmLockKey,5228 cpumMsrRd_AmdFam10hSmmLockKey,5229 cpumMsrRd_AmdFam10hLocalSmiStatus,5230 cpumMsrRd_AmdFam10hOsVisWrkIdLength,5231 cpumMsrRd_AmdFam10hOsVisWrkStatus,5232 cpumMsrRd_AmdFam16hL2IPerfCtlN,5233 cpumMsrRd_AmdFam16hL2IPerfCtrN,5234 cpumMsrRd_AmdFam15hNorthbridgePerfCtlN,5235 cpumMsrRd_AmdFam15hNorthbridgePerfCtrN,5236 cpumMsrRd_AmdK7MicrocodeCtl,5237 cpumMsrRd_AmdK7ClusterIdMaybe,5238 cpumMsrRd_AmdK8CpuIdCtlStd07hEbax,5239 cpumMsrRd_AmdK8CpuIdCtlStd06hEcx,5240 cpumMsrRd_AmdK8CpuIdCtlStd01hEdcx,5241 cpumMsrRd_AmdK8CpuIdCtlExt01hEdcx,5242 cpumMsrRd_AmdK8PatchLevel,5243 cpumMsrRd_AmdK7DebugStatusMaybe,5244 cpumMsrRd_AmdK7BHTraceBaseMaybe,5245 cpumMsrRd_AmdK7BHTracePtrMaybe,5246 cpumMsrRd_AmdK7BHTraceLimitMaybe,5247 cpumMsrRd_AmdK7HardwareDebugToolCfgMaybe,5248 cpumMsrRd_AmdK7FastFlushCountMaybe,5249 cpumMsrRd_AmdK7NodeId,5250 cpumMsrRd_AmdK7DrXAddrMaskN,5251 cpumMsrRd_AmdK7Dr0DataMatchMaybe,5252 cpumMsrRd_AmdK7Dr0DataMaskMaybe,5253 cpumMsrRd_AmdK7LoadStoreCfg,5254 cpumMsrRd_AmdK7InstrCacheCfg,5255 cpumMsrRd_AmdK7DataCacheCfg,5256 cpumMsrRd_AmdK7BusUnitCfg,5257 cpumMsrRd_AmdK7DebugCtl2Maybe,5258 cpumMsrRd_AmdFam15hFpuCfg,5259 cpumMsrRd_AmdFam15hDecoderCfg,5260 cpumMsrRd_AmdFam10hBusUnitCfg2,5261 cpumMsrRd_AmdFam15hCombUnitCfg,5262 cpumMsrRd_AmdFam15hCombUnitCfg2,5263 cpumMsrRd_AmdFam15hCombUnitCfg3,5264 cpumMsrRd_AmdFam15hExecUnitCfg,5265 cpumMsrRd_AmdFam15hLoadStoreCfg2,5266 cpumMsrRd_AmdFam10hIbsFetchCtl,5267 cpumMsrRd_AmdFam10hIbsFetchLinAddr,5268 cpumMsrRd_AmdFam10hIbsFetchPhysAddr,5269 cpumMsrRd_AmdFam10hIbsOpExecCtl,5270 cpumMsrRd_AmdFam10hIbsOpRip,5271 cpumMsrRd_AmdFam10hIbsOpData,5272 cpumMsrRd_AmdFam10hIbsOpData2,5273 cpumMsrRd_AmdFam10hIbsOpData3,5274 cpumMsrRd_AmdFam10hIbsDcLinAddr,5275 cpumMsrRd_AmdFam10hIbsDcPhysAddr,5276 cpumMsrRd_AmdFam10hIbsCtl,5277 cpumMsrRd_AmdFam14hIbsBrTarget,5278 5279 cpumMsrRd_Gim5020 static const struct READMSRCLANG11WEIRDNOTHROW { PFNCPUMRDMSR pfnRdMsr; } g_aCpumRdMsrFns[kCpumMsrRdFn_End] = 5021 { 5022 { NULL }, /* Invalid */ 5023 { cpumMsrRd_FixedValue }, 5024 { NULL }, /* Alias */ 5025 { cpumMsrRd_WriteOnly }, 5026 { cpumMsrRd_Ia32P5McAddr }, 5027 { cpumMsrRd_Ia32P5McType }, 5028 { cpumMsrRd_Ia32TimestampCounter }, 5029 { cpumMsrRd_Ia32PlatformId }, 5030 { cpumMsrRd_Ia32ApicBase }, 5031 { cpumMsrRd_Ia32FeatureControl }, 5032 { cpumMsrRd_Ia32BiosSignId }, 5033 { cpumMsrRd_Ia32SmmMonitorCtl }, 5034 { cpumMsrRd_Ia32PmcN }, 5035 { cpumMsrRd_Ia32MonitorFilterLineSize }, 5036 { cpumMsrRd_Ia32MPerf }, 5037 { cpumMsrRd_Ia32APerf }, 5038 { cpumMsrRd_Ia32MtrrCap }, 5039 { cpumMsrRd_Ia32MtrrPhysBaseN }, 5040 { cpumMsrRd_Ia32MtrrPhysMaskN }, 5041 { cpumMsrRd_Ia32MtrrFixed }, 5042 { cpumMsrRd_Ia32MtrrDefType }, 5043 { cpumMsrRd_Ia32Pat }, 5044 { cpumMsrRd_Ia32SysEnterCs }, 5045 { cpumMsrRd_Ia32SysEnterEsp }, 5046 { cpumMsrRd_Ia32SysEnterEip }, 5047 { cpumMsrRd_Ia32McgCap }, 5048 { cpumMsrRd_Ia32McgStatus }, 5049 { cpumMsrRd_Ia32McgCtl }, 5050 { cpumMsrRd_Ia32DebugCtl }, 5051 { cpumMsrRd_Ia32SmrrPhysBase }, 5052 { cpumMsrRd_Ia32SmrrPhysMask }, 5053 { cpumMsrRd_Ia32PlatformDcaCap }, 5054 { cpumMsrRd_Ia32CpuDcaCap }, 5055 { cpumMsrRd_Ia32Dca0Cap }, 5056 { cpumMsrRd_Ia32PerfEvtSelN }, 5057 { cpumMsrRd_Ia32PerfStatus }, 5058 { cpumMsrRd_Ia32PerfCtl }, 5059 { cpumMsrRd_Ia32FixedCtrN }, 5060 { cpumMsrRd_Ia32PerfCapabilities }, 5061 { cpumMsrRd_Ia32FixedCtrCtrl }, 5062 { cpumMsrRd_Ia32PerfGlobalStatus }, 5063 { cpumMsrRd_Ia32PerfGlobalCtrl }, 5064 { cpumMsrRd_Ia32PerfGlobalOvfCtrl }, 5065 { cpumMsrRd_Ia32PebsEnable }, 5066 { cpumMsrRd_Ia32ClockModulation }, 5067 { cpumMsrRd_Ia32ThermInterrupt }, 5068 { cpumMsrRd_Ia32ThermStatus }, 5069 { cpumMsrRd_Ia32Therm2Ctl }, 5070 { cpumMsrRd_Ia32MiscEnable }, 5071 { cpumMsrRd_Ia32McCtlStatusAddrMiscN }, 5072 { cpumMsrRd_Ia32McNCtl2 }, 5073 { cpumMsrRd_Ia32DsArea }, 5074 { cpumMsrRd_Ia32TscDeadline }, 5075 { cpumMsrRd_Ia32X2ApicN }, 5076 { cpumMsrRd_Ia32DebugInterface }, 5077 { cpumMsrRd_Ia32VmxBasic }, 5078 { cpumMsrRd_Ia32VmxPinbasedCtls }, 5079 { cpumMsrRd_Ia32VmxProcbasedCtls }, 5080 { cpumMsrRd_Ia32VmxExitCtls }, 5081 { cpumMsrRd_Ia32VmxEntryCtls }, 5082 { cpumMsrRd_Ia32VmxMisc }, 5083 { cpumMsrRd_Ia32VmxCr0Fixed0 }, 5084 { cpumMsrRd_Ia32VmxCr0Fixed1 }, 5085 { cpumMsrRd_Ia32VmxCr4Fixed0 }, 5086 { cpumMsrRd_Ia32VmxCr4Fixed1 }, 5087 { cpumMsrRd_Ia32VmxVmcsEnum }, 5088 { cpumMsrRd_Ia32VmxProcBasedCtls2 }, 5089 { cpumMsrRd_Ia32VmxEptVpidCap }, 5090 { cpumMsrRd_Ia32VmxTruePinbasedCtls }, 5091 { cpumMsrRd_Ia32VmxTrueProcbasedCtls }, 5092 { cpumMsrRd_Ia32VmxTrueExitCtls }, 5093 { cpumMsrRd_Ia32VmxTrueEntryCtls }, 5094 { cpumMsrRd_Ia32VmxVmFunc }, 5095 { cpumMsrRd_Ia32SpecCtrl }, 5096 { cpumMsrRd_Ia32ArchCapabilities }, 5097 5098 { cpumMsrRd_Amd64Efer }, 5099 { cpumMsrRd_Amd64SyscallTarget }, 5100 { cpumMsrRd_Amd64LongSyscallTarget }, 5101 { cpumMsrRd_Amd64CompSyscallTarget }, 5102 { cpumMsrRd_Amd64SyscallFlagMask }, 5103 { cpumMsrRd_Amd64FsBase }, 5104 { cpumMsrRd_Amd64GsBase }, 5105 { cpumMsrRd_Amd64KernelGsBase }, 5106 { cpumMsrRd_Amd64TscAux }, 5107 5108 { cpumMsrRd_IntelEblCrPowerOn }, 5109 { cpumMsrRd_IntelI7CoreThreadCount }, 5110 { cpumMsrRd_IntelP4EbcHardPowerOn }, 5111 { cpumMsrRd_IntelP4EbcSoftPowerOn }, 5112 { cpumMsrRd_IntelP4EbcFrequencyId }, 5113 { cpumMsrRd_IntelP6FsbFrequency }, 5114 { cpumMsrRd_IntelPlatformInfo }, 5115 { cpumMsrRd_IntelFlexRatio }, 5116 { cpumMsrRd_IntelPkgCStConfigControl }, 5117 { cpumMsrRd_IntelPmgIoCaptureBase }, 5118 { cpumMsrRd_IntelLastBranchFromToN }, 5119 { cpumMsrRd_IntelLastBranchFromN }, 5120 { cpumMsrRd_IntelLastBranchToN }, 5121 { cpumMsrRd_IntelLastBranchTos }, 5122 { cpumMsrRd_IntelBblCrCtl }, 5123 { cpumMsrRd_IntelBblCrCtl3 }, 5124 { cpumMsrRd_IntelI7TemperatureTarget }, 5125 { cpumMsrRd_IntelI7MsrOffCoreResponseN }, 5126 { cpumMsrRd_IntelI7MiscPwrMgmt }, 5127 { cpumMsrRd_IntelP6CrN }, 5128 { cpumMsrRd_IntelCpuId1FeatureMaskEcdx }, 5129 { cpumMsrRd_IntelCpuId1FeatureMaskEax }, 5130 { cpumMsrRd_IntelCpuId80000001FeatureMaskEcdx }, 5131 { cpumMsrRd_IntelI7SandyAesNiCtl }, 5132 { cpumMsrRd_IntelI7TurboRatioLimit }, 5133 { cpumMsrRd_IntelI7LbrSelect }, 5134 { cpumMsrRd_IntelI7SandyErrorControl }, 5135 { cpumMsrRd_IntelI7VirtualLegacyWireCap }, 5136 { cpumMsrRd_IntelI7PowerCtl }, 5137 { cpumMsrRd_IntelI7SandyPebsNumAlt }, 5138 { cpumMsrRd_IntelI7PebsLdLat }, 5139 { cpumMsrRd_IntelI7PkgCnResidencyN }, 5140 { cpumMsrRd_IntelI7CoreCnResidencyN }, 5141 { cpumMsrRd_IntelI7SandyVrCurrentConfig }, 5142 { cpumMsrRd_IntelI7SandyVrMiscConfig }, 5143 { cpumMsrRd_IntelI7SandyRaplPowerUnit }, 5144 { cpumMsrRd_IntelI7SandyPkgCnIrtlN }, 5145 { cpumMsrRd_IntelI7SandyPkgC2Residency }, 5146 { cpumMsrRd_IntelI7RaplPkgPowerLimit }, 5147 { cpumMsrRd_IntelI7RaplPkgEnergyStatus }, 5148 { cpumMsrRd_IntelI7RaplPkgPerfStatus }, 5149 { cpumMsrRd_IntelI7RaplPkgPowerInfo }, 5150 { cpumMsrRd_IntelI7RaplDramPowerLimit }, 5151 { cpumMsrRd_IntelI7RaplDramEnergyStatus }, 5152 { cpumMsrRd_IntelI7RaplDramPerfStatus }, 5153 { cpumMsrRd_IntelI7RaplDramPowerInfo }, 5154 { cpumMsrRd_IntelI7RaplPp0PowerLimit }, 5155 { cpumMsrRd_IntelI7RaplPp0EnergyStatus }, 5156 { cpumMsrRd_IntelI7RaplPp0Policy }, 5157 { cpumMsrRd_IntelI7RaplPp0PerfStatus }, 5158 { cpumMsrRd_IntelI7RaplPp1PowerLimit }, 5159 { cpumMsrRd_IntelI7RaplPp1EnergyStatus }, 5160 { cpumMsrRd_IntelI7RaplPp1Policy }, 5161 { cpumMsrRd_IntelI7IvyConfigTdpNominal }, 5162 { cpumMsrRd_IntelI7IvyConfigTdpLevel1 }, 5163 { cpumMsrRd_IntelI7IvyConfigTdpLevel2 }, 5164 { cpumMsrRd_IntelI7IvyConfigTdpControl }, 5165 { cpumMsrRd_IntelI7IvyTurboActivationRatio }, 5166 { cpumMsrRd_IntelI7UncPerfGlobalCtrl }, 5167 { cpumMsrRd_IntelI7UncPerfGlobalStatus }, 5168 { cpumMsrRd_IntelI7UncPerfGlobalOvfCtrl }, 5169 { cpumMsrRd_IntelI7UncPerfFixedCtrCtrl }, 5170 { cpumMsrRd_IntelI7UncPerfFixedCtr }, 5171 { cpumMsrRd_IntelI7UncCBoxConfig }, 5172 { cpumMsrRd_IntelI7UncArbPerfCtrN }, 5173 { cpumMsrRd_IntelI7UncArbPerfEvtSelN }, 5174 { cpumMsrRd_IntelI7SmiCount }, 5175 { cpumMsrRd_IntelCore2EmttmCrTablesN }, 5176 { cpumMsrRd_IntelCore2SmmCStMiscInfo }, 5177 { cpumMsrRd_IntelCore1ExtConfig }, 5178 { cpumMsrRd_IntelCore1DtsCalControl }, 5179 { cpumMsrRd_IntelCore2PeciControl }, 5180 { cpumMsrRd_IntelAtSilvCoreC1Recidency }, 5181 5182 { cpumMsrRd_P6LastBranchFromIp }, 5183 { cpumMsrRd_P6LastBranchToIp }, 5184 { cpumMsrRd_P6LastIntFromIp }, 5185 { cpumMsrRd_P6LastIntToIp }, 5186 5187 { cpumMsrRd_AmdFam15hTscRate }, 5188 { cpumMsrRd_AmdFam15hLwpCfg }, 5189 { cpumMsrRd_AmdFam15hLwpCbAddr }, 5190 { cpumMsrRd_AmdFam10hMc4MiscN }, 5191 { cpumMsrRd_AmdK8PerfCtlN }, 5192 { cpumMsrRd_AmdK8PerfCtrN }, 5193 { cpumMsrRd_AmdK8SysCfg }, 5194 { cpumMsrRd_AmdK8HwCr }, 5195 { cpumMsrRd_AmdK8IorrBaseN }, 5196 { cpumMsrRd_AmdK8IorrMaskN }, 5197 { cpumMsrRd_AmdK8TopOfMemN }, 5198 { cpumMsrRd_AmdK8NbCfg1 }, 5199 { cpumMsrRd_AmdK8McXcptRedir }, 5200 { cpumMsrRd_AmdK8CpuNameN }, 5201 { cpumMsrRd_AmdK8HwThermalCtrl }, 5202 { cpumMsrRd_AmdK8SwThermalCtrl }, 5203 { cpumMsrRd_AmdK8FidVidControl }, 5204 { cpumMsrRd_AmdK8FidVidStatus }, 5205 { cpumMsrRd_AmdK8McCtlMaskN }, 5206 { cpumMsrRd_AmdK8SmiOnIoTrapN }, 5207 { cpumMsrRd_AmdK8SmiOnIoTrapCtlSts }, 5208 { cpumMsrRd_AmdK8IntPendingMessage }, 5209 { cpumMsrRd_AmdK8SmiTriggerIoCycle }, 5210 { cpumMsrRd_AmdFam10hMmioCfgBaseAddr }, 5211 { cpumMsrRd_AmdFam10hTrapCtlMaybe }, 5212 { cpumMsrRd_AmdFam10hPStateCurLimit }, 5213 { cpumMsrRd_AmdFam10hPStateControl }, 5214 { cpumMsrRd_AmdFam10hPStateStatus }, 5215 { cpumMsrRd_AmdFam10hPStateN }, 5216 { cpumMsrRd_AmdFam10hCofVidControl }, 5217 { cpumMsrRd_AmdFam10hCofVidStatus }, 5218 { cpumMsrRd_AmdFam10hCStateIoBaseAddr }, 5219 { cpumMsrRd_AmdFam10hCpuWatchdogTimer }, 5220 { cpumMsrRd_AmdK8SmmBase }, 5221 { cpumMsrRd_AmdK8SmmAddr }, 5222 { cpumMsrRd_AmdK8SmmMask }, 5223 { cpumMsrRd_AmdK8VmCr }, 5224 { cpumMsrRd_AmdK8IgnNe }, 5225 { cpumMsrRd_AmdK8SmmCtl }, 5226 { cpumMsrRd_AmdK8VmHSavePa }, 5227 { cpumMsrRd_AmdFam10hVmLockKey }, 5228 { cpumMsrRd_AmdFam10hSmmLockKey }, 5229 { cpumMsrRd_AmdFam10hLocalSmiStatus }, 5230 { cpumMsrRd_AmdFam10hOsVisWrkIdLength }, 5231 { cpumMsrRd_AmdFam10hOsVisWrkStatus }, 5232 { cpumMsrRd_AmdFam16hL2IPerfCtlN }, 5233 { cpumMsrRd_AmdFam16hL2IPerfCtrN }, 5234 { cpumMsrRd_AmdFam15hNorthbridgePerfCtlN }, 5235 { cpumMsrRd_AmdFam15hNorthbridgePerfCtrN }, 5236 { cpumMsrRd_AmdK7MicrocodeCtl }, 5237 { cpumMsrRd_AmdK7ClusterIdMaybe }, 5238 { cpumMsrRd_AmdK8CpuIdCtlStd07hEbax }, 5239 { cpumMsrRd_AmdK8CpuIdCtlStd06hEcx }, 5240 { cpumMsrRd_AmdK8CpuIdCtlStd01hEdcx }, 5241 { cpumMsrRd_AmdK8CpuIdCtlExt01hEdcx }, 5242 { cpumMsrRd_AmdK8PatchLevel }, 5243 { cpumMsrRd_AmdK7DebugStatusMaybe }, 5244 { cpumMsrRd_AmdK7BHTraceBaseMaybe }, 5245 { cpumMsrRd_AmdK7BHTracePtrMaybe }, 5246 { cpumMsrRd_AmdK7BHTraceLimitMaybe }, 5247 { cpumMsrRd_AmdK7HardwareDebugToolCfgMaybe }, 5248 { cpumMsrRd_AmdK7FastFlushCountMaybe }, 5249 { cpumMsrRd_AmdK7NodeId }, 5250 { cpumMsrRd_AmdK7DrXAddrMaskN }, 5251 { cpumMsrRd_AmdK7Dr0DataMatchMaybe }, 5252 { cpumMsrRd_AmdK7Dr0DataMaskMaybe }, 5253 { cpumMsrRd_AmdK7LoadStoreCfg }, 5254 { cpumMsrRd_AmdK7InstrCacheCfg }, 5255 { cpumMsrRd_AmdK7DataCacheCfg }, 5256 { cpumMsrRd_AmdK7BusUnitCfg }, 5257 { cpumMsrRd_AmdK7DebugCtl2Maybe }, 5258 { cpumMsrRd_AmdFam15hFpuCfg }, 5259 { cpumMsrRd_AmdFam15hDecoderCfg }, 5260 { cpumMsrRd_AmdFam10hBusUnitCfg2 }, 5261 { cpumMsrRd_AmdFam15hCombUnitCfg }, 5262 { cpumMsrRd_AmdFam15hCombUnitCfg2 }, 5263 { cpumMsrRd_AmdFam15hCombUnitCfg3 }, 5264 { cpumMsrRd_AmdFam15hExecUnitCfg }, 5265 { cpumMsrRd_AmdFam15hLoadStoreCfg2 }, 5266 { cpumMsrRd_AmdFam10hIbsFetchCtl }, 5267 { cpumMsrRd_AmdFam10hIbsFetchLinAddr }, 5268 { cpumMsrRd_AmdFam10hIbsFetchPhysAddr }, 5269 { cpumMsrRd_AmdFam10hIbsOpExecCtl }, 5270 { cpumMsrRd_AmdFam10hIbsOpRip }, 5271 { cpumMsrRd_AmdFam10hIbsOpData }, 5272 { cpumMsrRd_AmdFam10hIbsOpData2 }, 5273 { cpumMsrRd_AmdFam10hIbsOpData3 }, 5274 { cpumMsrRd_AmdFam10hIbsDcLinAddr }, 5275 { cpumMsrRd_AmdFam10hIbsDcPhysAddr }, 5276 { cpumMsrRd_AmdFam10hIbsCtl }, 5277 { cpumMsrRd_AmdFam14hIbsBrTarget }, 5278 5279 { cpumMsrRd_Gim }, 5280 5280 }; 5281 5281 … … 5284 5284 * MSR write function table. 5285 5285 */ 5286 static const PFNCPUMWRMSRg_aCpumWrMsrFns[kCpumMsrWrFn_End] =5287 { 5288 NULL, /* Invalid */5289 cpumMsrWr_IgnoreWrite,5290 cpumMsrWr_ReadOnly,5291 NULL, /* Alias */5292 cpumMsrWr_Ia32P5McAddr,5293 cpumMsrWr_Ia32P5McType,5294 cpumMsrWr_Ia32TimestampCounter,5295 cpumMsrWr_Ia32ApicBase,5296 cpumMsrWr_Ia32FeatureControl,5297 cpumMsrWr_Ia32BiosSignId,5298 cpumMsrWr_Ia32BiosUpdateTrigger,5299 cpumMsrWr_Ia32SmmMonitorCtl,5300 cpumMsrWr_Ia32PmcN,5301 cpumMsrWr_Ia32MonitorFilterLineSize,5302 cpumMsrWr_Ia32MPerf,5303 cpumMsrWr_Ia32APerf,5304 cpumMsrWr_Ia32MtrrPhysBaseN,5305 cpumMsrWr_Ia32MtrrPhysMaskN,5306 cpumMsrWr_Ia32MtrrFixed,5307 cpumMsrWr_Ia32MtrrDefType,5308 cpumMsrWr_Ia32Pat,5309 cpumMsrWr_Ia32SysEnterCs,5310 cpumMsrWr_Ia32SysEnterEsp,5311 cpumMsrWr_Ia32SysEnterEip,5312 cpumMsrWr_Ia32McgStatus,5313 cpumMsrWr_Ia32McgCtl,5314 cpumMsrWr_Ia32DebugCtl,5315 cpumMsrWr_Ia32SmrrPhysBase,5316 cpumMsrWr_Ia32SmrrPhysMask,5317 cpumMsrWr_Ia32PlatformDcaCap,5318 cpumMsrWr_Ia32Dca0Cap,5319 cpumMsrWr_Ia32PerfEvtSelN,5320 cpumMsrWr_Ia32PerfStatus,5321 cpumMsrWr_Ia32PerfCtl,5322 cpumMsrWr_Ia32FixedCtrN,5323 cpumMsrWr_Ia32PerfCapabilities,5324 cpumMsrWr_Ia32FixedCtrCtrl,5325 cpumMsrWr_Ia32PerfGlobalStatus,5326 cpumMsrWr_Ia32PerfGlobalCtrl,5327 cpumMsrWr_Ia32PerfGlobalOvfCtrl,5328 cpumMsrWr_Ia32PebsEnable,5329 cpumMsrWr_Ia32ClockModulation,5330 cpumMsrWr_Ia32ThermInterrupt,5331 cpumMsrWr_Ia32ThermStatus,5332 cpumMsrWr_Ia32Therm2Ctl,5333 cpumMsrWr_Ia32MiscEnable,5334 cpumMsrWr_Ia32McCtlStatusAddrMiscN,5335 cpumMsrWr_Ia32McNCtl2,5336 cpumMsrWr_Ia32DsArea,5337 cpumMsrWr_Ia32TscDeadline,5338 cpumMsrWr_Ia32X2ApicN,5339 cpumMsrWr_Ia32DebugInterface,5340 cpumMsrWr_Ia32SpecCtrl,5341 cpumMsrWr_Ia32PredCmd,5342 cpumMsrWr_Ia32FlushCmd,5343 5344 cpumMsrWr_Amd64Efer,5345 cpumMsrWr_Amd64SyscallTarget,5346 cpumMsrWr_Amd64LongSyscallTarget,5347 cpumMsrWr_Amd64CompSyscallTarget,5348 cpumMsrWr_Amd64SyscallFlagMask,5349 cpumMsrWr_Amd64FsBase,5350 cpumMsrWr_Amd64GsBase,5351 cpumMsrWr_Amd64KernelGsBase,5352 cpumMsrWr_Amd64TscAux,5353 5354 cpumMsrWr_IntelEblCrPowerOn,5355 cpumMsrWr_IntelP4EbcHardPowerOn,5356 cpumMsrWr_IntelP4EbcSoftPowerOn,5357 cpumMsrWr_IntelP4EbcFrequencyId,5358 cpumMsrWr_IntelFlexRatio,5359 cpumMsrWr_IntelPkgCStConfigControl,5360 cpumMsrWr_IntelPmgIoCaptureBase,5361 cpumMsrWr_IntelLastBranchFromToN,5362 cpumMsrWr_IntelLastBranchFromN,5363 cpumMsrWr_IntelLastBranchToN,5364 cpumMsrWr_IntelLastBranchTos,5365 cpumMsrWr_IntelBblCrCtl,5366 cpumMsrWr_IntelBblCrCtl3,5367 cpumMsrWr_IntelI7TemperatureTarget,5368 cpumMsrWr_IntelI7MsrOffCoreResponseN,5369 cpumMsrWr_IntelI7MiscPwrMgmt,5370 cpumMsrWr_IntelP6CrN,5371 cpumMsrWr_IntelCpuId1FeatureMaskEcdx,5372 cpumMsrWr_IntelCpuId1FeatureMaskEax,5373 cpumMsrWr_IntelCpuId80000001FeatureMaskEcdx,5374 cpumMsrWr_IntelI7SandyAesNiCtl,5375 cpumMsrWr_IntelI7TurboRatioLimit,5376 cpumMsrWr_IntelI7LbrSelect,5377 cpumMsrWr_IntelI7SandyErrorControl,5378 cpumMsrWr_IntelI7PowerCtl,5379 cpumMsrWr_IntelI7SandyPebsNumAlt,5380 cpumMsrWr_IntelI7PebsLdLat,5381 cpumMsrWr_IntelI7SandyVrCurrentConfig,5382 cpumMsrWr_IntelI7SandyVrMiscConfig,5383 cpumMsrWr_IntelI7SandyRaplPowerUnit,5384 cpumMsrWr_IntelI7SandyPkgCnIrtlN,5385 cpumMsrWr_IntelI7SandyPkgC2Residency,5386 cpumMsrWr_IntelI7RaplPkgPowerLimit,5387 cpumMsrWr_IntelI7RaplDramPowerLimit,5388 cpumMsrWr_IntelI7RaplPp0PowerLimit,5389 cpumMsrWr_IntelI7RaplPp0Policy,5390 cpumMsrWr_IntelI7RaplPp1PowerLimit,5391 cpumMsrWr_IntelI7RaplPp1Policy,5392 cpumMsrWr_IntelI7IvyConfigTdpControl,5393 cpumMsrWr_IntelI7IvyTurboActivationRatio,5394 cpumMsrWr_IntelI7UncPerfGlobalCtrl,5395 cpumMsrWr_IntelI7UncPerfGlobalStatus,5396 cpumMsrWr_IntelI7UncPerfGlobalOvfCtrl,5397 cpumMsrWr_IntelI7UncPerfFixedCtrCtrl,5398 cpumMsrWr_IntelI7UncPerfFixedCtr,5399 cpumMsrWr_IntelI7UncArbPerfCtrN,5400 cpumMsrWr_IntelI7UncArbPerfEvtSelN,5401 cpumMsrWr_IntelCore2EmttmCrTablesN,5402 cpumMsrWr_IntelCore2SmmCStMiscInfo,5403 cpumMsrWr_IntelCore1ExtConfig,5404 cpumMsrWr_IntelCore1DtsCalControl,5405 cpumMsrWr_IntelCore2PeciControl,5406 5407 cpumMsrWr_P6LastIntFromIp,5408 cpumMsrWr_P6LastIntToIp,5409 5410 cpumMsrWr_AmdFam15hTscRate,5411 cpumMsrWr_AmdFam15hLwpCfg,5412 cpumMsrWr_AmdFam15hLwpCbAddr,5413 cpumMsrWr_AmdFam10hMc4MiscN,5414 cpumMsrWr_AmdK8PerfCtlN,5415 cpumMsrWr_AmdK8PerfCtrN,5416 cpumMsrWr_AmdK8SysCfg,5417 cpumMsrWr_AmdK8HwCr,5418 cpumMsrWr_AmdK8IorrBaseN,5419 cpumMsrWr_AmdK8IorrMaskN,5420 cpumMsrWr_AmdK8TopOfMemN,5421 cpumMsrWr_AmdK8NbCfg1,5422 cpumMsrWr_AmdK8McXcptRedir,5423 cpumMsrWr_AmdK8CpuNameN,5424 cpumMsrWr_AmdK8HwThermalCtrl,5425 cpumMsrWr_AmdK8SwThermalCtrl,5426 cpumMsrWr_AmdK8FidVidControl,5427 cpumMsrWr_AmdK8McCtlMaskN,5428 cpumMsrWr_AmdK8SmiOnIoTrapN,5429 cpumMsrWr_AmdK8SmiOnIoTrapCtlSts,5430 cpumMsrWr_AmdK8IntPendingMessage,5431 cpumMsrWr_AmdK8SmiTriggerIoCycle,5432 cpumMsrWr_AmdFam10hMmioCfgBaseAddr,5433 cpumMsrWr_AmdFam10hTrapCtlMaybe,5434 cpumMsrWr_AmdFam10hPStateControl,5435 cpumMsrWr_AmdFam10hPStateStatus,5436 cpumMsrWr_AmdFam10hPStateN,5437 cpumMsrWr_AmdFam10hCofVidControl,5438 cpumMsrWr_AmdFam10hCofVidStatus,5439 cpumMsrWr_AmdFam10hCStateIoBaseAddr,5440 cpumMsrWr_AmdFam10hCpuWatchdogTimer,5441 cpumMsrWr_AmdK8SmmBase,5442 cpumMsrWr_AmdK8SmmAddr,5443 cpumMsrWr_AmdK8SmmMask,5444 cpumMsrWr_AmdK8VmCr,5445 cpumMsrWr_AmdK8IgnNe,5446 cpumMsrWr_AmdK8SmmCtl,5447 cpumMsrWr_AmdK8VmHSavePa,5448 cpumMsrWr_AmdFam10hVmLockKey,5449 cpumMsrWr_AmdFam10hSmmLockKey,5450 cpumMsrWr_AmdFam10hLocalSmiStatus,5451 cpumMsrWr_AmdFam10hOsVisWrkIdLength,5452 cpumMsrWr_AmdFam10hOsVisWrkStatus,5453 cpumMsrWr_AmdFam16hL2IPerfCtlN,5454 cpumMsrWr_AmdFam16hL2IPerfCtrN,5455 cpumMsrWr_AmdFam15hNorthbridgePerfCtlN,5456 cpumMsrWr_AmdFam15hNorthbridgePerfCtrN,5457 cpumMsrWr_AmdK7MicrocodeCtl,5458 cpumMsrWr_AmdK7ClusterIdMaybe,5459 cpumMsrWr_AmdK8CpuIdCtlStd07hEbax,5460 cpumMsrWr_AmdK8CpuIdCtlStd06hEcx,5461 cpumMsrWr_AmdK8CpuIdCtlStd01hEdcx,5462 cpumMsrWr_AmdK8CpuIdCtlExt01hEdcx,5463 cpumMsrWr_AmdK8PatchLoader,5464 cpumMsrWr_AmdK7DebugStatusMaybe,5465 cpumMsrWr_AmdK7BHTraceBaseMaybe,5466 cpumMsrWr_AmdK7BHTracePtrMaybe,5467 cpumMsrWr_AmdK7BHTraceLimitMaybe,5468 cpumMsrWr_AmdK7HardwareDebugToolCfgMaybe,5469 cpumMsrWr_AmdK7FastFlushCountMaybe,5470 cpumMsrWr_AmdK7NodeId,5471 cpumMsrWr_AmdK7DrXAddrMaskN,5472 cpumMsrWr_AmdK7Dr0DataMatchMaybe,5473 cpumMsrWr_AmdK7Dr0DataMaskMaybe,5474 cpumMsrWr_AmdK7LoadStoreCfg,5475 cpumMsrWr_AmdK7InstrCacheCfg,5476 cpumMsrWr_AmdK7DataCacheCfg,5477 cpumMsrWr_AmdK7BusUnitCfg,5478 cpumMsrWr_AmdK7DebugCtl2Maybe,5479 cpumMsrWr_AmdFam15hFpuCfg,5480 cpumMsrWr_AmdFam15hDecoderCfg,5481 cpumMsrWr_AmdFam10hBusUnitCfg2,5482 cpumMsrWr_AmdFam15hCombUnitCfg,5483 cpumMsrWr_AmdFam15hCombUnitCfg2,5484 cpumMsrWr_AmdFam15hCombUnitCfg3,5485 cpumMsrWr_AmdFam15hExecUnitCfg,5486 cpumMsrWr_AmdFam15hLoadStoreCfg2,5487 cpumMsrWr_AmdFam10hIbsFetchCtl,5488 cpumMsrWr_AmdFam10hIbsFetchLinAddr,5489 cpumMsrWr_AmdFam10hIbsFetchPhysAddr,5490 cpumMsrWr_AmdFam10hIbsOpExecCtl,5491 cpumMsrWr_AmdFam10hIbsOpRip,5492 cpumMsrWr_AmdFam10hIbsOpData,5493 cpumMsrWr_AmdFam10hIbsOpData2,5494 cpumMsrWr_AmdFam10hIbsOpData3,5495 cpumMsrWr_AmdFam10hIbsDcLinAddr,5496 cpumMsrWr_AmdFam10hIbsDcPhysAddr,5497 cpumMsrWr_AmdFam10hIbsCtl,5498 cpumMsrWr_AmdFam14hIbsBrTarget,5499 5500 cpumMsrWr_Gim5286 static const struct WRITEMSRCLANG11WEIRDNOTHROW { PFNCPUMWRMSR pfnWrMsr; } g_aCpumWrMsrFns[kCpumMsrWrFn_End] = 5287 { 5288 { NULL }, /* Invalid */ 5289 { cpumMsrWr_IgnoreWrite }, 5290 { cpumMsrWr_ReadOnly }, 5291 { NULL }, /* Alias */ 5292 { cpumMsrWr_Ia32P5McAddr }, 5293 { cpumMsrWr_Ia32P5McType }, 5294 { cpumMsrWr_Ia32TimestampCounter }, 5295 { cpumMsrWr_Ia32ApicBase }, 5296 { cpumMsrWr_Ia32FeatureControl }, 5297 { cpumMsrWr_Ia32BiosSignId }, 5298 { cpumMsrWr_Ia32BiosUpdateTrigger }, 5299 { cpumMsrWr_Ia32SmmMonitorCtl }, 5300 { cpumMsrWr_Ia32PmcN }, 5301 { cpumMsrWr_Ia32MonitorFilterLineSize }, 5302 { cpumMsrWr_Ia32MPerf }, 5303 { cpumMsrWr_Ia32APerf }, 5304 { cpumMsrWr_Ia32MtrrPhysBaseN }, 5305 { cpumMsrWr_Ia32MtrrPhysMaskN }, 5306 { cpumMsrWr_Ia32MtrrFixed }, 5307 { cpumMsrWr_Ia32MtrrDefType }, 5308 { cpumMsrWr_Ia32Pat }, 5309 { cpumMsrWr_Ia32SysEnterCs }, 5310 { cpumMsrWr_Ia32SysEnterEsp }, 5311 { cpumMsrWr_Ia32SysEnterEip }, 5312 { cpumMsrWr_Ia32McgStatus }, 5313 { cpumMsrWr_Ia32McgCtl }, 5314 { cpumMsrWr_Ia32DebugCtl }, 5315 { cpumMsrWr_Ia32SmrrPhysBase }, 5316 { cpumMsrWr_Ia32SmrrPhysMask }, 5317 { cpumMsrWr_Ia32PlatformDcaCap }, 5318 { cpumMsrWr_Ia32Dca0Cap }, 5319 { cpumMsrWr_Ia32PerfEvtSelN }, 5320 { cpumMsrWr_Ia32PerfStatus }, 5321 { cpumMsrWr_Ia32PerfCtl }, 5322 { cpumMsrWr_Ia32FixedCtrN }, 5323 { cpumMsrWr_Ia32PerfCapabilities }, 5324 { cpumMsrWr_Ia32FixedCtrCtrl }, 5325 { cpumMsrWr_Ia32PerfGlobalStatus }, 5326 { cpumMsrWr_Ia32PerfGlobalCtrl }, 5327 { cpumMsrWr_Ia32PerfGlobalOvfCtrl }, 5328 { cpumMsrWr_Ia32PebsEnable }, 5329 { cpumMsrWr_Ia32ClockModulation }, 5330 { cpumMsrWr_Ia32ThermInterrupt }, 5331 { cpumMsrWr_Ia32ThermStatus }, 5332 { cpumMsrWr_Ia32Therm2Ctl }, 5333 { cpumMsrWr_Ia32MiscEnable }, 5334 { cpumMsrWr_Ia32McCtlStatusAddrMiscN }, 5335 { cpumMsrWr_Ia32McNCtl2 }, 5336 { cpumMsrWr_Ia32DsArea }, 5337 { cpumMsrWr_Ia32TscDeadline }, 5338 { cpumMsrWr_Ia32X2ApicN }, 5339 { cpumMsrWr_Ia32DebugInterface }, 5340 { cpumMsrWr_Ia32SpecCtrl }, 5341 { cpumMsrWr_Ia32PredCmd }, 5342 { cpumMsrWr_Ia32FlushCmd }, 5343 5344 { cpumMsrWr_Amd64Efer }, 5345 { cpumMsrWr_Amd64SyscallTarget }, 5346 { cpumMsrWr_Amd64LongSyscallTarget }, 5347 { cpumMsrWr_Amd64CompSyscallTarget }, 5348 { cpumMsrWr_Amd64SyscallFlagMask }, 5349 { cpumMsrWr_Amd64FsBase }, 5350 { cpumMsrWr_Amd64GsBase }, 5351 { cpumMsrWr_Amd64KernelGsBase }, 5352 { cpumMsrWr_Amd64TscAux }, 5353 5354 { cpumMsrWr_IntelEblCrPowerOn }, 5355 { cpumMsrWr_IntelP4EbcHardPowerOn }, 5356 { cpumMsrWr_IntelP4EbcSoftPowerOn }, 5357 { cpumMsrWr_IntelP4EbcFrequencyId }, 5358 { cpumMsrWr_IntelFlexRatio }, 5359 { cpumMsrWr_IntelPkgCStConfigControl }, 5360 { cpumMsrWr_IntelPmgIoCaptureBase }, 5361 { cpumMsrWr_IntelLastBranchFromToN }, 5362 { cpumMsrWr_IntelLastBranchFromN }, 5363 { cpumMsrWr_IntelLastBranchToN }, 5364 { cpumMsrWr_IntelLastBranchTos }, 5365 { cpumMsrWr_IntelBblCrCtl }, 5366 { cpumMsrWr_IntelBblCrCtl3 }, 5367 { cpumMsrWr_IntelI7TemperatureTarget }, 5368 { cpumMsrWr_IntelI7MsrOffCoreResponseN }, 5369 { cpumMsrWr_IntelI7MiscPwrMgmt }, 5370 { cpumMsrWr_IntelP6CrN }, 5371 { cpumMsrWr_IntelCpuId1FeatureMaskEcdx }, 5372 { cpumMsrWr_IntelCpuId1FeatureMaskEax }, 5373 { cpumMsrWr_IntelCpuId80000001FeatureMaskEcdx }, 5374 { cpumMsrWr_IntelI7SandyAesNiCtl }, 5375 { cpumMsrWr_IntelI7TurboRatioLimit }, 5376 { cpumMsrWr_IntelI7LbrSelect }, 5377 { cpumMsrWr_IntelI7SandyErrorControl }, 5378 { cpumMsrWr_IntelI7PowerCtl }, 5379 { cpumMsrWr_IntelI7SandyPebsNumAlt }, 5380 { cpumMsrWr_IntelI7PebsLdLat }, 5381 { cpumMsrWr_IntelI7SandyVrCurrentConfig }, 5382 { cpumMsrWr_IntelI7SandyVrMiscConfig }, 5383 { cpumMsrWr_IntelI7SandyRaplPowerUnit }, 5384 { cpumMsrWr_IntelI7SandyPkgCnIrtlN }, 5385 { cpumMsrWr_IntelI7SandyPkgC2Residency }, 5386 { cpumMsrWr_IntelI7RaplPkgPowerLimit }, 5387 { cpumMsrWr_IntelI7RaplDramPowerLimit }, 5388 { cpumMsrWr_IntelI7RaplPp0PowerLimit }, 5389 { cpumMsrWr_IntelI7RaplPp0Policy }, 5390 { cpumMsrWr_IntelI7RaplPp1PowerLimit }, 5391 { cpumMsrWr_IntelI7RaplPp1Policy }, 5392 { cpumMsrWr_IntelI7IvyConfigTdpControl }, 5393 { cpumMsrWr_IntelI7IvyTurboActivationRatio }, 5394 { cpumMsrWr_IntelI7UncPerfGlobalCtrl }, 5395 { cpumMsrWr_IntelI7UncPerfGlobalStatus }, 5396 { cpumMsrWr_IntelI7UncPerfGlobalOvfCtrl }, 5397 { cpumMsrWr_IntelI7UncPerfFixedCtrCtrl }, 5398 { cpumMsrWr_IntelI7UncPerfFixedCtr }, 5399 { cpumMsrWr_IntelI7UncArbPerfCtrN }, 5400 { cpumMsrWr_IntelI7UncArbPerfEvtSelN }, 5401 { cpumMsrWr_IntelCore2EmttmCrTablesN }, 5402 { cpumMsrWr_IntelCore2SmmCStMiscInfo }, 5403 { cpumMsrWr_IntelCore1ExtConfig }, 5404 { cpumMsrWr_IntelCore1DtsCalControl }, 5405 { cpumMsrWr_IntelCore2PeciControl }, 5406 5407 { cpumMsrWr_P6LastIntFromIp }, 5408 { cpumMsrWr_P6LastIntToIp }, 5409 5410 { cpumMsrWr_AmdFam15hTscRate }, 5411 { cpumMsrWr_AmdFam15hLwpCfg }, 5412 { cpumMsrWr_AmdFam15hLwpCbAddr }, 5413 { cpumMsrWr_AmdFam10hMc4MiscN }, 5414 { cpumMsrWr_AmdK8PerfCtlN }, 5415 { cpumMsrWr_AmdK8PerfCtrN }, 5416 { cpumMsrWr_AmdK8SysCfg }, 5417 { cpumMsrWr_AmdK8HwCr }, 5418 { cpumMsrWr_AmdK8IorrBaseN }, 5419 { cpumMsrWr_AmdK8IorrMaskN }, 5420 { cpumMsrWr_AmdK8TopOfMemN }, 5421 { cpumMsrWr_AmdK8NbCfg1 }, 5422 { cpumMsrWr_AmdK8McXcptRedir }, 5423 { cpumMsrWr_AmdK8CpuNameN }, 5424 { cpumMsrWr_AmdK8HwThermalCtrl }, 5425 { cpumMsrWr_AmdK8SwThermalCtrl }, 5426 { cpumMsrWr_AmdK8FidVidControl }, 5427 { cpumMsrWr_AmdK8McCtlMaskN }, 5428 { cpumMsrWr_AmdK8SmiOnIoTrapN }, 5429 { cpumMsrWr_AmdK8SmiOnIoTrapCtlSts }, 5430 { cpumMsrWr_AmdK8IntPendingMessage }, 5431 { cpumMsrWr_AmdK8SmiTriggerIoCycle }, 5432 { cpumMsrWr_AmdFam10hMmioCfgBaseAddr }, 5433 { cpumMsrWr_AmdFam10hTrapCtlMaybe }, 5434 { cpumMsrWr_AmdFam10hPStateControl }, 5435 { cpumMsrWr_AmdFam10hPStateStatus }, 5436 { cpumMsrWr_AmdFam10hPStateN }, 5437 { cpumMsrWr_AmdFam10hCofVidControl }, 5438 { cpumMsrWr_AmdFam10hCofVidStatus }, 5439 { cpumMsrWr_AmdFam10hCStateIoBaseAddr }, 5440 { cpumMsrWr_AmdFam10hCpuWatchdogTimer }, 5441 { cpumMsrWr_AmdK8SmmBase }, 5442 { cpumMsrWr_AmdK8SmmAddr }, 5443 { cpumMsrWr_AmdK8SmmMask }, 5444 { cpumMsrWr_AmdK8VmCr }, 5445 { cpumMsrWr_AmdK8IgnNe }, 5446 { cpumMsrWr_AmdK8SmmCtl }, 5447 { cpumMsrWr_AmdK8VmHSavePa }, 5448 { cpumMsrWr_AmdFam10hVmLockKey }, 5449 { cpumMsrWr_AmdFam10hSmmLockKey }, 5450 { cpumMsrWr_AmdFam10hLocalSmiStatus }, 5451 { cpumMsrWr_AmdFam10hOsVisWrkIdLength }, 5452 { cpumMsrWr_AmdFam10hOsVisWrkStatus }, 5453 { cpumMsrWr_AmdFam16hL2IPerfCtlN }, 5454 { cpumMsrWr_AmdFam16hL2IPerfCtrN }, 5455 { cpumMsrWr_AmdFam15hNorthbridgePerfCtlN }, 5456 { cpumMsrWr_AmdFam15hNorthbridgePerfCtrN }, 5457 { cpumMsrWr_AmdK7MicrocodeCtl }, 5458 { cpumMsrWr_AmdK7ClusterIdMaybe }, 5459 { cpumMsrWr_AmdK8CpuIdCtlStd07hEbax }, 5460 { cpumMsrWr_AmdK8CpuIdCtlStd06hEcx }, 5461 { cpumMsrWr_AmdK8CpuIdCtlStd01hEdcx }, 5462 { cpumMsrWr_AmdK8CpuIdCtlExt01hEdcx }, 5463 { cpumMsrWr_AmdK8PatchLoader }, 5464 { cpumMsrWr_AmdK7DebugStatusMaybe }, 5465 { cpumMsrWr_AmdK7BHTraceBaseMaybe }, 5466 { cpumMsrWr_AmdK7BHTracePtrMaybe }, 5467 { cpumMsrWr_AmdK7BHTraceLimitMaybe }, 5468 { cpumMsrWr_AmdK7HardwareDebugToolCfgMaybe }, 5469 { cpumMsrWr_AmdK7FastFlushCountMaybe }, 5470 { cpumMsrWr_AmdK7NodeId }, 5471 { cpumMsrWr_AmdK7DrXAddrMaskN }, 5472 { cpumMsrWr_AmdK7Dr0DataMatchMaybe }, 5473 { cpumMsrWr_AmdK7Dr0DataMaskMaybe }, 5474 { cpumMsrWr_AmdK7LoadStoreCfg }, 5475 { cpumMsrWr_AmdK7InstrCacheCfg }, 5476 { cpumMsrWr_AmdK7DataCacheCfg }, 5477 { cpumMsrWr_AmdK7BusUnitCfg }, 5478 { cpumMsrWr_AmdK7DebugCtl2Maybe }, 5479 { cpumMsrWr_AmdFam15hFpuCfg }, 5480 { cpumMsrWr_AmdFam15hDecoderCfg }, 5481 { cpumMsrWr_AmdFam10hBusUnitCfg2 }, 5482 { cpumMsrWr_AmdFam15hCombUnitCfg }, 5483 { cpumMsrWr_AmdFam15hCombUnitCfg2 }, 5484 { cpumMsrWr_AmdFam15hCombUnitCfg3 }, 5485 { cpumMsrWr_AmdFam15hExecUnitCfg }, 5486 { cpumMsrWr_AmdFam15hLoadStoreCfg2 }, 5487 { cpumMsrWr_AmdFam10hIbsFetchCtl }, 5488 { cpumMsrWr_AmdFam10hIbsFetchLinAddr }, 5489 { cpumMsrWr_AmdFam10hIbsFetchPhysAddr }, 5490 { cpumMsrWr_AmdFam10hIbsOpExecCtl }, 5491 { cpumMsrWr_AmdFam10hIbsOpRip }, 5492 { cpumMsrWr_AmdFam10hIbsOpData }, 5493 { cpumMsrWr_AmdFam10hIbsOpData2 }, 5494 { cpumMsrWr_AmdFam10hIbsOpData3 }, 5495 { cpumMsrWr_AmdFam10hIbsDcLinAddr }, 5496 { cpumMsrWr_AmdFam10hIbsDcPhysAddr }, 5497 { cpumMsrWr_AmdFam10hIbsCtl }, 5498 { cpumMsrWr_AmdFam14hIbsBrTarget }, 5499 5500 { cpumMsrWr_Gim }, 5501 5501 }; 5502 5502 … … 5598 5598 AssertReturn(enmRdFn > kCpumMsrRdFn_Invalid && enmRdFn < kCpumMsrRdFn_End, VERR_CPUM_IPE_1); 5599 5599 5600 PFNCPUMRDMSR pfnRdMsr = g_aCpumRdMsrFns[enmRdFn] ;5600 PFNCPUMRDMSR pfnRdMsr = g_aCpumRdMsrFns[enmRdFn].pfnRdMsr; 5601 5601 AssertReturn(pfnRdMsr, VERR_CPUM_IPE_2); 5602 5602 … … 5675 5675 AssertReturn(enmWrFn > kCpumMsrWrFn_Invalid && enmWrFn < kCpumMsrWrFn_End, VERR_CPUM_IPE_1); 5676 5676 5677 PFNCPUMWRMSR pfnWrMsr = g_aCpumWrMsrFns[enmWrFn] ;5677 PFNCPUMWRMSR pfnWrMsr = g_aCpumWrMsrFns[enmWrFn].pfnWrMsr; 5678 5678 AssertReturn(pfnWrMsr, VERR_CPUM_IPE_2); 5679 5679 … … 5736 5736 { 5737 5737 #define CPUM_ASSERT_RD_MSR_FN(a_Register) \ 5738 AssertReturn(g_aCpumRdMsrFns[kCpumMsrRdFn_##a_Register] == cpumMsrRd_##a_Register, VERR_CPUM_IPE_2);5738 AssertReturn(g_aCpumRdMsrFns[kCpumMsrRdFn_##a_Register].pfnRdMsr == cpumMsrRd_##a_Register, VERR_CPUM_IPE_2); 5739 5739 #define CPUM_ASSERT_WR_MSR_FN(a_Register) \ 5740 AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_##a_Register] == cpumMsrWr_##a_Register, VERR_CPUM_IPE_2);5741 5742 AssertReturn(g_aCpumRdMsrFns[kCpumMsrRdFn_Invalid] == NULL, VERR_CPUM_IPE_2);5740 AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_##a_Register].pfnWrMsr == cpumMsrWr_##a_Register, VERR_CPUM_IPE_2); 5741 5742 AssertReturn(g_aCpumRdMsrFns[kCpumMsrRdFn_Invalid].pfnRdMsr == NULL, VERR_CPUM_IPE_2); 5743 5743 CPUM_ASSERT_RD_MSR_FN(FixedValue); 5744 5744 CPUM_ASSERT_RD_MSR_FN(WriteOnly); … … 5997 5997 CPUM_ASSERT_RD_MSR_FN(Gim) 5998 5998 5999 AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_Invalid] == NULL, VERR_CPUM_IPE_2);5999 AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_Invalid].pfnWrMsr == NULL, VERR_CPUM_IPE_2); 6000 6000 CPUM_ASSERT_WR_MSR_FN(Ia32P5McAddr); 6001 6001 CPUM_ASSERT_WR_MSR_FN(Ia32P5McType);
Note:
See TracChangeset
for help on using the changeset viewer.