VirtualBox

Changeset 85183 in vbox


Ignore:
Timestamp:
Jul 10, 2020 1:21:26 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
139150
Message:

VMM/CPUMAllMsrs.cpp: Workaround for Clang 11 nothrow weirdness. bugref:9794

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp

    r85121 r85183  
    50185018 * MSR read function table.
    50195019 */
    5020 static const PFNCPUMRDMSR 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
     5020static 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 },
    52805280};
    52815281
     
    52845284 * MSR write function table.
    52855285 */
    5286 static const PFNCPUMWRMSR 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
     5286static 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 },
    55015501};
    55025502
     
    55985598        AssertReturn(enmRdFn > kCpumMsrRdFn_Invalid && enmRdFn < kCpumMsrRdFn_End, VERR_CPUM_IPE_1);
    55995599
    5600         PFNCPUMRDMSR pfnRdMsr = g_aCpumRdMsrFns[enmRdFn];
     5600        PFNCPUMRDMSR pfnRdMsr = g_aCpumRdMsrFns[enmRdFn].pfnRdMsr;
    56015601        AssertReturn(pfnRdMsr, VERR_CPUM_IPE_2);
    56025602
     
    56755675            AssertReturn(enmWrFn > kCpumMsrWrFn_Invalid && enmWrFn < kCpumMsrWrFn_End, VERR_CPUM_IPE_1);
    56765676
    5677             PFNCPUMWRMSR pfnWrMsr = g_aCpumWrMsrFns[enmWrFn];
     5677            PFNCPUMWRMSR pfnWrMsr = g_aCpumWrMsrFns[enmWrFn].pfnWrMsr;
    56785678            AssertReturn(pfnWrMsr, VERR_CPUM_IPE_2);
    56795679
     
    57365736{
    57375737#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);
    57395739#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);
    57435743    CPUM_ASSERT_RD_MSR_FN(FixedValue);
    57445744    CPUM_ASSERT_RD_MSR_FN(WriteOnly);
     
    59975997    CPUM_ASSERT_RD_MSR_FN(Gim)
    59985998
    5999     AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_Invalid] == NULL, VERR_CPUM_IPE_2);
     5999    AssertReturn(g_aCpumWrMsrFns[kCpumMsrWrFn_Invalid].pfnWrMsr == NULL, VERR_CPUM_IPE_2);
    60006000    CPUM_ASSERT_WR_MSR_FN(Ia32P5McAddr);
    60016001    CPUM_ASSERT_WR_MSR_FN(Ia32P5McType);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette