VirtualBox

Changeset 53466 in vbox


Ignore:
Timestamp:
Dec 5, 2014 4:07:33 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97194
Message:

VMM/MSRs: Added status codes for returning to ring-3 to service the MSR access.

Location:
trunk
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r53330 r53466  
    625625/** Invalid CPUMCPU offset in MSR range. */
    626626#define VERR_CPUM_MSR_BAD_CPUMCPU_OFFSET        (-1757)
     627/** Return to ring-3 to read the MSR there. */
     628#define VINF_CPUM_R3_MSR_READ                   (1758)
     629/** Return to ring-3 to write the MSR there. */
     630#define VINF_CPUM_R3_MSR_WRITE                  (1759)
    627631/** @} */
    628632
  • trunk/include/VBox/vmm/cpum.h

    r51797 r53466  
    923923VMMDECL(uint32_t)   CPUMGetGuestCpuIdCentaurMax(PVM pVM);
    924924VMMDECL(uint64_t)   CPUMGetGuestEFER(PVMCPU pVCpu);
    925 VMMDECL(int)        CPUMQueryGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t *puValue);
    926 VMMDECL(int)        CPUMSetGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t uValue);
     925VMMDECL(VBOXSTRICTRC)   CPUMQueryGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t *puValue);
     926VMMDECL(VBOXSTRICTRC)   CPUMSetGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t uValue);
    927927VMMDECL(CPUMCPUVENDOR)  CPUMGetGuestCpuVendor(PVM pVM);
    928928VMMDECL(CPUMCPUVENDOR)  CPUMGetHostCpuVendor(PVM pVM);
  • trunk/include/VBox/vmm/gim.h

    r52760 r53466  
    178178VMM_INT_DECL(bool)          GIMAreHypercallsEnabled(PVMCPU pVCpu);
    179179VMM_INT_DECL(int)           GIMHypercall(PVMCPU pVCpu, PCPUMCTX pCtx);
    180 VMM_INT_DECL(int)           GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
    181 VMM_INT_DECL(int)           GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue);
     180VMM_INT_DECL(VBOXSTRICTRC)  GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
     181VMM_INT_DECL(VBOXSTRICTRC)  GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue);
    182182
    183183/** @} */
  • trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp

    r52770 r53466  
    5858 * @returns VBox status code.
    5959 * @retval  VINF_SUCCESS on success.
     60 * @retval  VINF_CPUM_R3_MSR_READ if the MSR read could not be serviced in the
     61 *          current context (raw-mode or ring-0).
    6062 * @retval  VERR_CPUM_RAISE_GP_0 on failure (invalid MSR).
    6163 *
     
    6567 * @param   puValue     Where to return the value.
    6668 */
    67 typedef DECLCALLBACK(int) FNCPUMRDMSR(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
     69typedef DECLCALLBACK(VBOXSTRICTRC) FNCPUMRDMSR(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
    6870/** Pointer to a RDMSR worker for a specific MSR or range of MSRs.  */
    6971typedef FNCPUMRDMSR *PFNCPUMRDMSR;
     
    7476 *
    7577 * @retval  VINF_SUCCESS on success.
     78 * @retval  VINF_CPUM_R3_MSR_WRITE if the MSR write could not be serviced in the
     79 *          current context (raw-mode or ring-0).
    7680 * @retval  VERR_CPUM_RAISE_GP_0 on failure.
    7781 *
     
    8286 * @param   uRawValue   The raw value with the ignored bits not masked.
    8387 */
    84 typedef DECLCALLBACK(int) FNCPUMWRMSR(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue);
     88typedef DECLCALLBACK(VBOXSTRICTRC) FNCPUMWRMSR(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue);
    8589/** Pointer to a WRMSR worker for a specific MSR or range of MSRs.  */
    8690typedef FNCPUMWRMSR *PFNCPUMWRMSR;
     
    96100
    97101/** @callback_method_impl{FNCPUMRDMSR} */
    98 static DECLCALLBACK(int) cpumMsrRd_FixedValue(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     102static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_FixedValue(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    99103{
    100104    *puValue = pRange->uValue;
     
    104108
    105109/** @callback_method_impl{FNCPUMWRMSR} */
    106 static DECLCALLBACK(int) cpumMsrWr_IgnoreWrite(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     110static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IgnoreWrite(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    107111{
    108112    Log(("CPUM: Ignoring WRMSR %#x (%s), %#llx\n", idMsr, pRange->szName, uValue));
     
    112116
    113117/** @callback_method_impl{FNCPUMRDMSR} */
    114 static DECLCALLBACK(int) cpumMsrRd_WriteOnly(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     118static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_WriteOnly(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    115119{
    116120    return VERR_CPUM_RAISE_GP_0;
     
    119123
    120124/** @callback_method_impl{FNCPUMWRMSR} */
    121 static DECLCALLBACK(int) cpumMsrWr_ReadOnly(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     125static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_ReadOnly(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    122126{
    123127    Assert(pRange->fWrGpMask == UINT64_MAX);
     
    135139
    136140/** @callback_method_impl{FNCPUMRDMSR} */
    137 static DECLCALLBACK(int) cpumMsrRd_Ia32P5McAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     141static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32P5McAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    138142{
    139143    *puValue = 0; /** @todo implement machine check injection. */
     
    143147
    144148/** @callback_method_impl{FNCPUMWRMSR} */
    145 static DECLCALLBACK(int) cpumMsrWr_Ia32P5McAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     149static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32P5McAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    146150{
    147151    /** @todo implement machine check injection. */
     
    151155
    152156/** @callback_method_impl{FNCPUMRDMSR} */
    153 static DECLCALLBACK(int) cpumMsrRd_Ia32P5McType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     157static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32P5McType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    154158{
    155159    *puValue = 0; /** @todo implement machine check injection. */
     
    159163
    160164/** @callback_method_impl{FNCPUMWRMSR} */
    161 static DECLCALLBACK(int) cpumMsrWr_Ia32P5McType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     165static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32P5McType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    162166{
    163167    /** @todo implement machine check injection. */
     
    167171
    168172/** @callback_method_impl{FNCPUMRDMSR} */
    169 static DECLCALLBACK(int) cpumMsrRd_Ia32TimestampCounter(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     173static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32TimestampCounter(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    170174{
    171175    *puValue = TMCpuTickGet(pVCpu);
     
    175179
    176180/** @callback_method_impl{FNCPUMWRMSR} */
    177 static DECLCALLBACK(int) cpumMsrWr_Ia32TimestampCounter(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     181static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32TimestampCounter(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    178182{
    179183    TMCpuTickSet(pVCpu->CTX_SUFF(pVM), pVCpu, uValue);
     
    183187
    184188/** @callback_method_impl{FNCPUMRDMSR} */
    185 static DECLCALLBACK(int) cpumMsrRd_Ia32PlatformId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     189static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PlatformId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    186190{
    187191    uint64_t uValue = pRange->uValue;
     
    198202
    199203/** @callback_method_impl{FNCPUMRDMSR} */
    200 static DECLCALLBACK(int) cpumMsrRd_Ia32ApicBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     204static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32ApicBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    201205{
    202206    PVM pVM = pVCpu->CTX_SUFF(pVM);
     
    218222
    219223/** @callback_method_impl{FNCPUMWRMSR} */
    220 static DECLCALLBACK(int) cpumMsrWr_Ia32ApicBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     224static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32ApicBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    221225{
    222226    int rc = PDMApicSetBase(pVCpu, uValue);
     
    228232
    229233/** @callback_method_impl{FNCPUMRDMSR} */
    230 static DECLCALLBACK(int) cpumMsrRd_Ia32FeatureControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     234static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32FeatureControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    231235{
    232236    *puValue = 1; /* Locked, no VT-X, no SYSENTER micromanagement. */
     
    236240
    237241/** @callback_method_impl{FNCPUMWRMSR} */
    238 static DECLCALLBACK(int) cpumMsrWr_Ia32FeatureControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     242static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32FeatureControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    239243{
    240244    return VERR_CPUM_RAISE_GP_0;
     
    243247
    244248/** @callback_method_impl{FNCPUMRDMSR} */
    245 static DECLCALLBACK(int) cpumMsrRd_Ia32BiosSignId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     249static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32BiosSignId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    246250{
    247251    /** @todo fake microcode update. */
     
    252256
    253257/** @callback_method_impl{FNCPUMWRMSR} */
    254 static DECLCALLBACK(int) cpumMsrWr_Ia32BiosSignId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     258static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32BiosSignId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    255259{
    256260    /* Normally, zero is written to Ia32BiosSignId before reading it in order
     
    263267
    264268/** @callback_method_impl{FNCPUMWRMSR} */
    265 static DECLCALLBACK(int) cpumMsrWr_Ia32BiosUpdateTrigger(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     269static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32BiosUpdateTrigger(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    266270{
    267271    /** @todo Fake bios update trigger better.  The value is the address to an
     
    272276
    273277/** @callback_method_impl{FNCPUMRDMSR} */
    274 static DECLCALLBACK(int) cpumMsrRd_Ia32SmmMonitorCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     278static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SmmMonitorCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    275279{
    276280    /** @todo SMM. */
     
    281285
    282286/** @callback_method_impl{FNCPUMWRMSR} */
    283 static DECLCALLBACK(int) cpumMsrWr_Ia32SmmMonitorCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     287static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SmmMonitorCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    284288{
    285289    /** @todo SMM. */
     
    289293
    290294/** @callback_method_impl{FNCPUMRDMSR} */
    291 static DECLCALLBACK(int) cpumMsrRd_Ia32PmcN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     295static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PmcN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    292296{
    293297    /** @todo check CPUID leaf 0ah. */
     
    298302
    299303/** @callback_method_impl{FNCPUMWRMSR} */
    300 static DECLCALLBACK(int) cpumMsrWr_Ia32PmcN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     304static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PmcN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    301305{
    302306    /** @todo check CPUID leaf 0ah. */
     
    306310
    307311/** @callback_method_impl{FNCPUMRDMSR} */
    308 static DECLCALLBACK(int) cpumMsrRd_Ia32MonitorFilterLineSize(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     312static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MonitorFilterLineSize(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    309313{
    310314    /** @todo return 0x1000 if we try emulate mwait 100% correctly. */
     
    315319
    316320/** @callback_method_impl{FNCPUMWRMSR} */
    317 static DECLCALLBACK(int) cpumMsrWr_Ia32MonitorFilterLineSize(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     321static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MonitorFilterLineSize(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    318322{
    319323    /** @todo should remember writes, though it's supposedly something only a BIOS
     
    323327
    324328/** @callback_method_impl{FNCPUMRDMSR} */
    325 static DECLCALLBACK(int) cpumMsrRd_Ia32MPerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     329static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MPerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    326330{
    327331    /** @todo Read MPERF: Adjust against previously written MPERF value.  Is TSC
     
    333337
    334338/** @callback_method_impl{FNCPUMWRMSR} */
    335 static DECLCALLBACK(int) cpumMsrWr_Ia32MPerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     339static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MPerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    336340{
    337341    /** @todo Write MPERF: Calc adjustment. */
     
    341345
    342346/** @callback_method_impl{FNCPUMRDMSR} */
    343 static DECLCALLBACK(int) cpumMsrRd_Ia32APerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     347static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32APerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    344348{
    345349    /** @todo Read APERF: Adjust against previously written MPERF value.  Is TSC
     
    351355
    352356/** @callback_method_impl{FNCPUMWRMSR} */
    353 static DECLCALLBACK(int) cpumMsrWr_Ia32APerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     357static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32APerf(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    354358{
    355359    /** @todo Write APERF: Calc adjustment. */
     
    359363
    360364/** @callback_method_impl{FNCPUMWRMSR} */
    361 static DECLCALLBACK(int) cpumMsrRd_Ia32MtrrCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     365static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MtrrCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    362366{
    363367    /* This is currently a bit weird. :-) */
     
    375379
    376380/** @callback_method_impl{FNCPUMRDMSR} */
    377 static DECLCALLBACK(int) cpumMsrRd_Ia32MtrrPhysBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     381static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MtrrPhysBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    378382{
    379383    /** @todo Implement variable MTRR storage. */
     
    385389
    386390/** @callback_method_impl{FNCPUMWRMSR} */
    387 static DECLCALLBACK(int) cpumMsrWr_Ia32MtrrPhysBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     391static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MtrrPhysBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    388392{
    389393    /*
     
    415419
    416420/** @callback_method_impl{FNCPUMRDMSR} */
    417 static DECLCALLBACK(int) cpumMsrRd_Ia32MtrrPhysMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     421static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MtrrPhysMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    418422{
    419423    /** @todo Implement variable MTRR storage. */
     
    425429
    426430/** @callback_method_impl{FNCPUMWRMSR} */
    427 static DECLCALLBACK(int) cpumMsrWr_Ia32MtrrPhysMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     431static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MtrrPhysMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    428432{
    429433    /*
     
    449453
    450454/** @callback_method_impl{FNCPUMRDMSR} */
    451 static DECLCALLBACK(int) cpumMsrRd_Ia32MtrrFixed(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     455static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MtrrFixed(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    452456{
    453457    CPUM_MSR_ASSERT_CPUMCPU_OFFSET_RETURN(pVCpu, pRange, uint64_t, puFixedMtrr);
     
    458462
    459463/** @callback_method_impl{FNCPUMWRMSR} */
    460 static DECLCALLBACK(int) cpumMsrWr_Ia32MtrrFixed(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     464static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MtrrFixed(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    461465{
    462466    CPUM_MSR_ASSERT_CPUMCPU_OFFSET_RETURN(pVCpu, pRange, uint64_t, puFixedMtrr);
     
    477481
    478482/** @callback_method_impl{FNCPUMRDMSR} */
    479 static DECLCALLBACK(int) cpumMsrRd_Ia32MtrrDefType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     483static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MtrrDefType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    480484{
    481485    *puValue = pVCpu->cpum.s.GuestMsrs.msr.MtrrDefType;
     
    485489
    486490/** @callback_method_impl{FNCPUMWRMSR} */
    487 static DECLCALLBACK(int) cpumMsrWr_Ia32MtrrDefType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     491static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MtrrDefType(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    488492{
    489493    if ((uValue & 0xff) >= 7)
     
    499503
    500504/** @callback_method_impl{FNCPUMRDMSR} */
    501 static DECLCALLBACK(int) cpumMsrRd_Ia32Pat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     505static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32Pat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    502506{
    503507    *puValue = pVCpu->cpum.s.Guest.msrPAT;
     
    507511
    508512/** @callback_method_impl{FNCPUMWRMSR} */
    509 static DECLCALLBACK(int) cpumMsrWr_Ia32Pat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     513static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32Pat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    510514{
    511515    pVCpu->cpum.s.Guest.msrPAT = uValue;
     
    515519
    516520/** @callback_method_impl{FNCPUMRDMSR} */
    517 static DECLCALLBACK(int) cpumMsrRd_Ia32SysEnterCs(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     521static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SysEnterCs(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    518522{
    519523    *puValue = pVCpu->cpum.s.Guest.SysEnter.cs;
     
    523527
    524528/** @callback_method_impl{FNCPUMWRMSR} */
    525 static DECLCALLBACK(int) cpumMsrWr_Ia32SysEnterCs(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     529static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SysEnterCs(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    526530{
    527531    /* Note! We used to mask this by 0xffff, but turns out real HW doesn't and
     
    533537
    534538/** @callback_method_impl{FNCPUMRDMSR} */
    535 static DECLCALLBACK(int) cpumMsrRd_Ia32SysEnterEsp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     539static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SysEnterEsp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    536540{
    537541    *puValue = pVCpu->cpum.s.Guest.SysEnter.esp;
     
    541545
    542546/** @callback_method_impl{FNCPUMWRMSR} */
    543 static DECLCALLBACK(int) cpumMsrWr_Ia32SysEnterEsp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     547static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SysEnterEsp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    544548{
    545549    if (X86_IS_CANONICAL(uValue))
     
    554558
    555559/** @callback_method_impl{FNCPUMRDMSR} */
    556 static DECLCALLBACK(int) cpumMsrRd_Ia32SysEnterEip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     560static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SysEnterEip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    557561{
    558562    *puValue = pVCpu->cpum.s.Guest.SysEnter.eip;
     
    562566
    563567/** @callback_method_impl{FNCPUMWRMSR} */
    564 static DECLCALLBACK(int) cpumMsrWr_Ia32SysEnterEip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     568static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SysEnterEip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    565569{
    566570    if (X86_IS_CANONICAL(uValue))
     
    579583
    580584/** @callback_method_impl{FNCPUMRDMSR} */
    581 static DECLCALLBACK(int) cpumMsrRd_Ia32McgCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     585static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32McgCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    582586{
    583587#if 0 /** @todo implement machine checks. */
     
    591595
    592596/** @callback_method_impl{FNCPUMRDMSR} */
    593 static DECLCALLBACK(int) cpumMsrRd_Ia32McgStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     597static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32McgStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    594598{
    595599    /** @todo implement machine checks. */
     
    600604
    601605/** @callback_method_impl{FNCPUMWRMSR} */
    602 static DECLCALLBACK(int) cpumMsrWr_Ia32McgStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     606static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32McgStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    603607{
    604608    /** @todo implement machine checks. */
     
    608612
    609613/** @callback_method_impl{FNCPUMRDMSR} */
    610 static DECLCALLBACK(int) cpumMsrRd_Ia32McgCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     614static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32McgCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    611615{
    612616    /** @todo implement machine checks. */
     
    617621
    618622/** @callback_method_impl{FNCPUMWRMSR} */
    619 static DECLCALLBACK(int) cpumMsrWr_Ia32McgCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     623static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32McgCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    620624{
    621625    /** @todo implement machine checks. */
     
    625629
    626630/** @callback_method_impl{FNCPUMRDMSR} */
    627 static DECLCALLBACK(int) cpumMsrRd_Ia32DebugCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     631static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32DebugCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    628632{
    629633    /** @todo implement IA32_DEBUGCTL. */
     
    634638
    635639/** @callback_method_impl{FNCPUMWRMSR} */
    636 static DECLCALLBACK(int) cpumMsrWr_Ia32DebugCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     640static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32DebugCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    637641{
    638642    /** @todo implement IA32_DEBUGCTL. */
     
    642646
    643647/** @callback_method_impl{FNCPUMRDMSR} */
    644 static DECLCALLBACK(int) cpumMsrRd_Ia32SmrrPhysBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     648static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SmrrPhysBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    645649{
    646650    /** @todo implement intel SMM. */
     
    651655
    652656/** @callback_method_impl{FNCPUMWRMSR} */
    653 static DECLCALLBACK(int) cpumMsrWr_Ia32SmrrPhysBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     657static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SmrrPhysBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    654658{
    655659    /** @todo implement intel SMM. */
     
    659663
    660664/** @callback_method_impl{FNCPUMRDMSR} */
    661 static DECLCALLBACK(int) cpumMsrRd_Ia32SmrrPhysMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     665static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32SmrrPhysMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    662666{
    663667    /** @todo implement intel SMM. */
     
    668672
    669673/** @callback_method_impl{FNCPUMWRMSR} */
    670 static DECLCALLBACK(int) cpumMsrWr_Ia32SmrrPhysMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     674static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32SmrrPhysMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    671675{
    672676    /** @todo implement intel SMM. */
     
    676680
    677681/** @callback_method_impl{FNCPUMRDMSR} */
    678 static DECLCALLBACK(int) cpumMsrRd_Ia32PlatformDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     682static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PlatformDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    679683{
    680684    /** @todo implement intel direct cache access (DCA)?? */
     
    685689
    686690/** @callback_method_impl{FNCPUMWRMSR} */
    687 static DECLCALLBACK(int) cpumMsrWr_Ia32PlatformDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     691static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PlatformDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    688692{
    689693    /** @todo implement intel direct cache access (DCA)?? */
     
    693697
    694698/** @callback_method_impl{FNCPUMRDMSR} */
    695 static DECLCALLBACK(int) cpumMsrRd_Ia32CpuDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     699static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32CpuDcaCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    696700{
    697701    /** @todo implement intel direct cache access (DCA)?? */
     
    702706
    703707/** @callback_method_impl{FNCPUMRDMSR} */
    704 static DECLCALLBACK(int) cpumMsrRd_Ia32Dca0Cap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     708static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32Dca0Cap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    705709{
    706710    /** @todo implement intel direct cache access (DCA)?? */
     
    711715
    712716/** @callback_method_impl{FNCPUMWRMSR} */
    713 static DECLCALLBACK(int) cpumMsrWr_Ia32Dca0Cap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     717static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32Dca0Cap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    714718{
    715719    /** @todo implement intel direct cache access (DCA)?? */
     
    719723
    720724/** @callback_method_impl{FNCPUMRDMSR} */
    721 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     725static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    722726{
    723727    /** @todo implement IA32_PERFEVTSEL0+. */
     
    728732
    729733/** @callback_method_impl{FNCPUMWRMSR} */
    730 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     734static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    731735{
    732736    /** @todo implement IA32_PERFEVTSEL0+. */
     
    736740
    737741/** @callback_method_impl{FNCPUMRDMSR} */
    738 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     742static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    739743{
    740744    uint64_t uValue = pRange->uValue;
     
    757761
    758762/** @callback_method_impl{FNCPUMWRMSR} */
    759 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     763static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    760764{
    761765    /* Pentium4 allows writing, but all bits are ignored. */
     
    765769
    766770/** @callback_method_impl{FNCPUMRDMSR} */
    767 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     771static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    768772{
    769773    /** @todo implement IA32_PERFCTL. */
     
    774778
    775779/** @callback_method_impl{FNCPUMWRMSR} */
    776 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     780static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    777781{
    778782    /** @todo implement IA32_PERFCTL. */
     
    782786
    783787/** @callback_method_impl{FNCPUMRDMSR} */
    784 static DECLCALLBACK(int) cpumMsrRd_Ia32FixedCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     788static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32FixedCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    785789{
    786790    /** @todo implement IA32_FIXED_CTRn (fixed performance counters). */
     
    791795
    792796/** @callback_method_impl{FNCPUMWRMSR} */
    793 static DECLCALLBACK(int) cpumMsrWr_Ia32FixedCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     797static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32FixedCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    794798{
    795799    /** @todo implement IA32_FIXED_CTRn (fixed performance counters). */
     
    799803
    800804/** @callback_method_impl{FNCPUMRDMSR} */
    801 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfCapabilities(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     805static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfCapabilities(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    802806{
    803807    /** @todo implement performance counters. */
     
    808812
    809813/** @callback_method_impl{FNCPUMWRMSR} */
    810 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfCapabilities(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     814static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfCapabilities(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    811815{
    812816    /** @todo implement performance counters. */
     
    816820
    817821/** @callback_method_impl{FNCPUMRDMSR} */
    818 static DECLCALLBACK(int) cpumMsrRd_Ia32FixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     822static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32FixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    819823{
    820824    /** @todo implement performance counters. */
     
    825829
    826830/** @callback_method_impl{FNCPUMWRMSR} */
    827 static DECLCALLBACK(int) cpumMsrWr_Ia32FixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     831static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32FixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    828832{
    829833    /** @todo implement performance counters. */
     
    833837
    834838/** @callback_method_impl{FNCPUMRDMSR} */
    835 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     839static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    836840{
    837841    /** @todo implement performance counters. */
     
    842846
    843847/** @callback_method_impl{FNCPUMWRMSR} */
    844 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     848static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    845849{
    846850    /** @todo implement performance counters. */
     
    850854
    851855/** @callback_method_impl{FNCPUMRDMSR} */
    852 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     856static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    853857{
    854858    /** @todo implement performance counters. */
     
    859863
    860864/** @callback_method_impl{FNCPUMWRMSR} */
    861 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     865static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    862866{
    863867    /** @todo implement performance counters. */
     
    867871
    868872/** @callback_method_impl{FNCPUMRDMSR} */
    869 static DECLCALLBACK(int) cpumMsrRd_Ia32PerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     873static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    870874{
    871875    /** @todo implement performance counters. */
     
    876880
    877881/** @callback_method_impl{FNCPUMWRMSR} */
    878 static DECLCALLBACK(int) cpumMsrWr_Ia32PerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     882static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    879883{
    880884    /** @todo implement performance counters. */
     
    884888
    885889/** @callback_method_impl{FNCPUMRDMSR} */
    886 static DECLCALLBACK(int) cpumMsrRd_Ia32PebsEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     890static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32PebsEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    887891{
    888892    /** @todo implement performance counters. */
     
    893897
    894898/** @callback_method_impl{FNCPUMWRMSR} */
    895 static DECLCALLBACK(int) cpumMsrWr_Ia32PebsEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     899static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32PebsEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    896900{
    897901    /** @todo implement performance counters. */
     
    901905
    902906/** @callback_method_impl{FNCPUMRDMSR} */
    903 static DECLCALLBACK(int) cpumMsrRd_Ia32ClockModulation(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     907static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32ClockModulation(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    904908{
    905909    /** @todo implement IA32_CLOCK_MODULATION. */
     
    910914
    911915/** @callback_method_impl{FNCPUMWRMSR} */
    912 static DECLCALLBACK(int) cpumMsrWr_Ia32ClockModulation(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     916static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32ClockModulation(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    913917{
    914918    /** @todo implement IA32_CLOCK_MODULATION. */
     
    918922
    919923/** @callback_method_impl{FNCPUMRDMSR} */
    920 static DECLCALLBACK(int) cpumMsrRd_Ia32ThermInterrupt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     924static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32ThermInterrupt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    921925{
    922926    /** @todo implement IA32_THERM_INTERRUPT. */
     
    927931
    928932/** @callback_method_impl{FNCPUMWRMSR} */
    929 static DECLCALLBACK(int) cpumMsrWr_Ia32ThermInterrupt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     933static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32ThermInterrupt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    930934{
    931935    /** @todo implement IA32_THERM_STATUS. */
     
    935939
    936940/** @callback_method_impl{FNCPUMRDMSR} */
    937 static DECLCALLBACK(int) cpumMsrRd_Ia32ThermStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     941static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32ThermStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    938942{
    939943    /** @todo implement IA32_THERM_STATUS. */
     
    944948
    945949/** @callback_method_impl{FNCPUMWRMSR} */
    946 static DECLCALLBACK(int) cpumMsrWr_Ia32ThermStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     950static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32ThermStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    947951{
    948952    /** @todo implement IA32_THERM_INTERRUPT. */
     
    952956
    953957/** @callback_method_impl{FNCPUMRDMSR} */
    954 static DECLCALLBACK(int) cpumMsrRd_Ia32Therm2Ctl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     958static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32Therm2Ctl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    955959{
    956960    /** @todo implement IA32_THERM2_CTL. */
     
    961965
    962966/** @callback_method_impl{FNCPUMWRMSR} */
    963 static DECLCALLBACK(int) cpumMsrWr_Ia32Therm2Ctl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     967static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32Therm2Ctl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    964968{
    965969    /** @todo implement IA32_THERM2_CTL. */
     
    969973
    970974/** @callback_method_impl{FNCPUMRDMSR} */
    971 static DECLCALLBACK(int) cpumMsrRd_Ia32MiscEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     975static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32MiscEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    972976{
    973977    *puValue = pVCpu->cpum.s.GuestMsrs.msr.MiscEnable;
     
    977981
    978982/** @callback_method_impl{FNCPUMWRMSR} */
    979 static DECLCALLBACK(int) cpumMsrWr_Ia32MiscEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     983static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32MiscEnable(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    980984{
    981985#ifdef LOG_ENABLED
     
    9991003
    10001004/** @callback_method_impl{FNCPUMRDMSR} */
    1001 static DECLCALLBACK(int) cpumMsrRd_Ia32McCtlStatusAddrMiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1005static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32McCtlStatusAddrMiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    10021006{
    10031007    /** @todo Implement machine check exception injection. */
     
    10231027
    10241028/** @callback_method_impl{FNCPUMWRMSR} */
    1025 static DECLCALLBACK(int) cpumMsrWr_Ia32McCtlStatusAddrMiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1029static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32McCtlStatusAddrMiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    10261030{
    10271031    switch (idMsr & 3)
     
    10681072
    10691073/** @callback_method_impl{FNCPUMRDMSR} */
    1070 static DECLCALLBACK(int) cpumMsrRd_Ia32McNCtl2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1074static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32McNCtl2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    10711075{
    10721076    /** @todo Implement machine check exception injection. */
     
    10771081
    10781082/** @callback_method_impl{FNCPUMWRMSR} */
    1079 static DECLCALLBACK(int) cpumMsrWr_Ia32McNCtl2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1083static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32McNCtl2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    10801084{
    10811085    /** @todo Implement machine check exception injection. */
     
    10851089
    10861090/** @callback_method_impl{FNCPUMRDMSR} */
    1087 static DECLCALLBACK(int) cpumMsrRd_Ia32DsArea(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1091static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32DsArea(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    10881092{
    10891093    /** @todo implement IA32_DS_AREA. */
     
    10941098
    10951099/** @callback_method_impl{FNCPUMWRMSR} */
    1096 static DECLCALLBACK(int) cpumMsrWr_Ia32DsArea(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    1097 {
    1098     return VINF_SUCCESS;
    1099 }
    1100 
    1101 
    1102 /** @callback_method_impl{FNCPUMRDMSR} */
    1103 static DECLCALLBACK(int) cpumMsrRd_Ia32TscDeadline(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1100static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32DsArea(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1101{
     1102    return VINF_SUCCESS;
     1103}
     1104
     1105
     1106/** @callback_method_impl{FNCPUMRDMSR} */
     1107static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32TscDeadline(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    11041108{
    11051109    /** @todo implement TSC deadline timer. */
     
    11101114
    11111115/** @callback_method_impl{FNCPUMWRMSR} */
    1112 static DECLCALLBACK(int) cpumMsrWr_Ia32TscDeadline(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1116static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32TscDeadline(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    11131117{
    11141118    /** @todo implement TSC deadline timer. */
     
    11181122
    11191123/** @callback_method_impl{FNCPUMRDMSR} */
    1120 static DECLCALLBACK(int) cpumMsrRd_Ia32X2ApicN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1124static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32X2ApicN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    11211125{
    11221126    int rc = PDMApicReadMSR(pVCpu->CTX_SUFF(pVM), pVCpu->idCpu, idMsr, puValue);
     
    11311135
    11321136/** @callback_method_impl{FNCPUMWRMSR} */
    1133 static DECLCALLBACK(int) cpumMsrWr_Ia32X2ApicN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1137static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32X2ApicN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    11341138{
    11351139    int rc = PDMApicWriteMSR(pVCpu->CTX_SUFF(pVM), pVCpu->idCpu, idMsr, uValue);
     
    11441148
    11451149/** @callback_method_impl{FNCPUMRDMSR} */
    1146 static DECLCALLBACK(int) cpumMsrRd_Ia32DebugInterface(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1150static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32DebugInterface(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    11471151{
    11481152    /** @todo IA32_DEBUG_INTERFACE (no docs)  */
     
    11531157
    11541158/** @callback_method_impl{FNCPUMWRMSR} */
    1155 static DECLCALLBACK(int) cpumMsrWr_Ia32DebugInterface(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1159static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Ia32DebugInterface(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    11561160{
    11571161    /** @todo IA32_DEBUG_INTERFACE (no docs)  */
     
    11611165
    11621166/** @callback_method_impl{FNCPUMRDMSR} */
    1163 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1164 {
    1165     *puValue = 0;
    1166     return VINF_SUCCESS;
    1167 }
    1168 
    1169 
    1170 /** @callback_method_impl{FNCPUMRDMSR} */
    1171 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxPinbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1172 {
    1173     *puValue = 0;
    1174     return VINF_SUCCESS;
    1175 }
    1176 
    1177 
    1178 /** @callback_method_impl{FNCPUMRDMSR} */
    1179 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxProcbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1180 {
    1181     *puValue = 0;
    1182     return VINF_SUCCESS;
    1183 }
    1184 
    1185 
    1186 /** @callback_method_impl{FNCPUMRDMSR} */
    1187 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxExitCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1188 {
    1189     *puValue = 0;
    1190     return VINF_SUCCESS;
    1191 }
    1192 
    1193 
    1194 /** @callback_method_impl{FNCPUMRDMSR} */
    1195 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxEntryCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1196 {
    1197     *puValue = 0;
    1198     return VINF_SUCCESS;
    1199 }
    1200 
    1201 
    1202 /** @callback_method_impl{FNCPUMRDMSR} */
    1203 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxMisc(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1204 {
    1205     *puValue = 0;
    1206     return VINF_SUCCESS;
    1207 }
    1208 
    1209 
    1210 /** @callback_method_impl{FNCPUMRDMSR} */
    1211 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxCr0Fixed0(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1212 {
    1213     *puValue = 0;
    1214     return VINF_SUCCESS;
    1215 }
    1216 
    1217 
    1218 /** @callback_method_impl{FNCPUMRDMSR} */
    1219 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxCr0Fixed1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1220 {
    1221     *puValue = 0;
    1222     return VINF_SUCCESS;
    1223 }
    1224 
    1225 
    1226 /** @callback_method_impl{FNCPUMRDMSR} */
    1227 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxCr4Fixed0(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1228 {
    1229     *puValue = 0;
    1230     return VINF_SUCCESS;
    1231 }
    1232 
    1233 
    1234 /** @callback_method_impl{FNCPUMRDMSR} */
    1235 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxCr4Fixed1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1236 {
    1237     *puValue = 0;
    1238     return VINF_SUCCESS;
    1239 }
    1240 
    1241 
    1242 /** @callback_method_impl{FNCPUMRDMSR} */
    1243 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxVmcsEnum(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1244 {
    1245     *puValue = 0;
    1246     return VINF_SUCCESS;
    1247 }
    1248 
    1249 
    1250 /** @callback_method_impl{FNCPUMRDMSR} */
    1251 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxProcBasedCtls2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1252 {
    1253     *puValue = 0;
    1254     return VINF_SUCCESS;
    1255 }
    1256 
    1257 
    1258 /** @callback_method_impl{FNCPUMRDMSR} */
    1259 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxEptVpidCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1260 {
    1261     *puValue = 0;
    1262     return VINF_SUCCESS;
    1263 }
    1264 
    1265 
    1266 /** @callback_method_impl{FNCPUMRDMSR} */
    1267 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxTruePinbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1268 {
    1269     *puValue = 0;
    1270     return VINF_SUCCESS;
    1271 }
    1272 
    1273 
    1274 /** @callback_method_impl{FNCPUMRDMSR} */
    1275 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxTrueProcbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1276 {
    1277     *puValue = 0;
    1278     return VINF_SUCCESS;
    1279 }
    1280 
    1281 
    1282 /** @callback_method_impl{FNCPUMRDMSR} */
    1283 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxTrueExitCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1284 {
    1285     *puValue = 0;
    1286     return VINF_SUCCESS;
    1287 }
    1288 
    1289 
    1290 /** @callback_method_impl{FNCPUMRDMSR} */
    1291 static DECLCALLBACK(int) cpumMsrRd_Ia32VmxTrueEntryCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1167static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1168{
     1169    *puValue = 0;
     1170    return VINF_SUCCESS;
     1171}
     1172
     1173
     1174/** @callback_method_impl{FNCPUMRDMSR} */
     1175static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxPinbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1176{
     1177    *puValue = 0;
     1178    return VINF_SUCCESS;
     1179}
     1180
     1181
     1182/** @callback_method_impl{FNCPUMRDMSR} */
     1183static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxProcbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1184{
     1185    *puValue = 0;
     1186    return VINF_SUCCESS;
     1187}
     1188
     1189
     1190/** @callback_method_impl{FNCPUMRDMSR} */
     1191static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxExitCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1192{
     1193    *puValue = 0;
     1194    return VINF_SUCCESS;
     1195}
     1196
     1197
     1198/** @callback_method_impl{FNCPUMRDMSR} */
     1199static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxEntryCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1200{
     1201    *puValue = 0;
     1202    return VINF_SUCCESS;
     1203}
     1204
     1205
     1206/** @callback_method_impl{FNCPUMRDMSR} */
     1207static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxMisc(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1208{
     1209    *puValue = 0;
     1210    return VINF_SUCCESS;
     1211}
     1212
     1213
     1214/** @callback_method_impl{FNCPUMRDMSR} */
     1215static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxCr0Fixed0(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1216{
     1217    *puValue = 0;
     1218    return VINF_SUCCESS;
     1219}
     1220
     1221
     1222/** @callback_method_impl{FNCPUMRDMSR} */
     1223static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxCr0Fixed1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1224{
     1225    *puValue = 0;
     1226    return VINF_SUCCESS;
     1227}
     1228
     1229
     1230/** @callback_method_impl{FNCPUMRDMSR} */
     1231static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxCr4Fixed0(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1232{
     1233    *puValue = 0;
     1234    return VINF_SUCCESS;
     1235}
     1236
     1237
     1238/** @callback_method_impl{FNCPUMRDMSR} */
     1239static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxCr4Fixed1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1240{
     1241    *puValue = 0;
     1242    return VINF_SUCCESS;
     1243}
     1244
     1245
     1246/** @callback_method_impl{FNCPUMRDMSR} */
     1247static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxVmcsEnum(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1248{
     1249    *puValue = 0;
     1250    return VINF_SUCCESS;
     1251}
     1252
     1253
     1254/** @callback_method_impl{FNCPUMRDMSR} */
     1255static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxProcBasedCtls2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1256{
     1257    *puValue = 0;
     1258    return VINF_SUCCESS;
     1259}
     1260
     1261
     1262/** @callback_method_impl{FNCPUMRDMSR} */
     1263static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxEptVpidCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1264{
     1265    *puValue = 0;
     1266    return VINF_SUCCESS;
     1267}
     1268
     1269
     1270/** @callback_method_impl{FNCPUMRDMSR} */
     1271static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxTruePinbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1272{
     1273    *puValue = 0;
     1274    return VINF_SUCCESS;
     1275}
     1276
     1277
     1278/** @callback_method_impl{FNCPUMRDMSR} */
     1279static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxTrueProcbasedCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1280{
     1281    *puValue = 0;
     1282    return VINF_SUCCESS;
     1283}
     1284
     1285
     1286/** @callback_method_impl{FNCPUMRDMSR} */
     1287static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxTrueExitCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1288{
     1289    *puValue = 0;
     1290    return VINF_SUCCESS;
     1291}
     1292
     1293
     1294/** @callback_method_impl{FNCPUMRDMSR} */
     1295static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Ia32VmxTrueEntryCtls(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    12921296{
    12931297    *puValue = 0;
     
    13121316
    13131317/** @callback_method_impl{FNCPUMRDMSR} */
    1314 static DECLCALLBACK(int) cpumMsrRd_Amd64Efer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1318static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64Efer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    13151319{
    13161320    *puValue = pVCpu->cpum.s.Guest.msrEFER;
     
    13201324
    13211325/** @callback_method_impl{FNCPUMWRMSR} */
    1322 static DECLCALLBACK(int) cpumMsrWr_Amd64Efer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1326static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64Efer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    13231327{
    13241328    PVM             pVM          = pVCpu->CTX_SUFF(pVM);
     
    13791383
    13801384/** @callback_method_impl{FNCPUMRDMSR} */
    1381 static DECLCALLBACK(int) cpumMsrRd_Amd64SyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1385static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64SyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    13821386{
    13831387    *puValue = pVCpu->cpum.s.Guest.msrSTAR;
     
    13871391
    13881392/** @callback_method_impl{FNCPUMWRMSR} */
    1389 static DECLCALLBACK(int) cpumMsrWr_Amd64SyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1393static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64SyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    13901394{
    13911395    pVCpu->cpum.s.Guest.msrSTAR = uValue;
     
    13951399
    13961400/** @callback_method_impl{FNCPUMRDMSR} */
    1397 static DECLCALLBACK(int) cpumMsrRd_Amd64LongSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1401static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64LongSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    13981402{
    13991403    *puValue = pVCpu->cpum.s.Guest.msrLSTAR;
     
    14031407
    14041408/** @callback_method_impl{FNCPUMWRMSR} */
    1405 static DECLCALLBACK(int) cpumMsrWr_Amd64LongSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1409static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64LongSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14061410{
    14071411    if (!X86_IS_CANONICAL(uValue))
     
    14161420
    14171421/** @callback_method_impl{FNCPUMRDMSR} */
    1418 static DECLCALLBACK(int) cpumMsrRd_Amd64CompSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1422static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64CompSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    14191423{
    14201424    *puValue = pVCpu->cpum.s.Guest.msrCSTAR;
     
    14241428
    14251429/** @callback_method_impl{FNCPUMWRMSR} */
    1426 static DECLCALLBACK(int) cpumMsrWr_Amd64CompSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1430static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64CompSyscallTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14271431{
    14281432    if (!X86_IS_CANONICAL(uValue))
     
    14371441
    14381442/** @callback_method_impl{FNCPUMRDMSR} */
    1439 static DECLCALLBACK(int) cpumMsrRd_Amd64SyscallFlagMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1443static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64SyscallFlagMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    14401444{
    14411445    *puValue = pVCpu->cpum.s.Guest.msrSFMASK;
     
    14451449
    14461450/** @callback_method_impl{FNCPUMWRMSR} */
    1447 static DECLCALLBACK(int) cpumMsrWr_Amd64SyscallFlagMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1451static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64SyscallFlagMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14481452{
    14491453    pVCpu->cpum.s.Guest.msrSFMASK = uValue;
     
    14531457
    14541458/** @callback_method_impl{FNCPUMRDMSR} */
    1455 static DECLCALLBACK(int) cpumMsrRd_Amd64FsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1459static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64FsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    14561460{
    14571461    *puValue = pVCpu->cpum.s.Guest.fs.u64Base;
     
    14611465
    14621466/** @callback_method_impl{FNCPUMWRMSR} */
    1463 static DECLCALLBACK(int) cpumMsrWr_Amd64FsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1467static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64FsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14641468{
    14651469    pVCpu->cpum.s.Guest.fs.u64Base = uValue;
     
    14691473
    14701474/** @callback_method_impl{FNCPUMRDMSR} */
    1471 static DECLCALLBACK(int) cpumMsrRd_Amd64GsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1475static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64GsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    14721476{
    14731477    *puValue = pVCpu->cpum.s.Guest.gs.u64Base;
     
    14761480
    14771481/** @callback_method_impl{FNCPUMWRMSR} */
    1478 static DECLCALLBACK(int) cpumMsrWr_Amd64GsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1482static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64GsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14791483{
    14801484    pVCpu->cpum.s.Guest.gs.u64Base = uValue;
     
    14851489
    14861490/** @callback_method_impl{FNCPUMRDMSR} */
    1487 static DECLCALLBACK(int) cpumMsrRd_Amd64KernelGsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1491static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64KernelGsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    14881492{
    14891493    *puValue = pVCpu->cpum.s.Guest.msrKERNELGSBASE;
     
    14921496
    14931497/** @callback_method_impl{FNCPUMWRMSR} */
    1494 static DECLCALLBACK(int) cpumMsrWr_Amd64KernelGsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1498static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64KernelGsBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    14951499{
    14961500    pVCpu->cpum.s.Guest.msrKERNELGSBASE = uValue;
     
    15001504
    15011505/** @callback_method_impl{FNCPUMRDMSR} */
    1502 static DECLCALLBACK(int) cpumMsrRd_Amd64TscAux(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1506static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Amd64TscAux(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15031507{
    15041508    *puValue = pVCpu->cpum.s.GuestMsrs.msr.TscAux;
     
    15071511
    15081512/** @callback_method_impl{FNCPUMWRMSR} */
    1509 static DECLCALLBACK(int) cpumMsrWr_Amd64TscAux(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1513static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Amd64TscAux(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    15101514{
    15111515    pVCpu->cpum.s.GuestMsrs.msr.TscAux = uValue;
     
    15211525
    15221526/** @callback_method_impl{FNCPUMRDMSR} */
    1523 static DECLCALLBACK(int) cpumMsrRd_IntelEblCrPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1527static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelEblCrPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15241528{
    15251529    /** @todo recalc clock frequency ratio? */
     
    15301534
    15311535/** @callback_method_impl{FNCPUMWRMSR} */
    1532 static DECLCALLBACK(int) cpumMsrWr_IntelEblCrPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1536static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelEblCrPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    15331537{
    15341538    /** @todo Write EBL_CR_POWERON: Remember written bits. */
     
    15381542
    15391543/** @callback_method_impl{FNCPUMRDMSR} */
    1540 static DECLCALLBACK(int) cpumMsrRd_IntelI7CoreThreadCount(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1544static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7CoreThreadCount(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15411545{
    15421546    /* Note! According to cpuid_set_info in XNU (10.7.0), Westmere CPU only
     
    15501554
    15511555/** @callback_method_impl{FNCPUMRDMSR} */
    1552 static DECLCALLBACK(int) cpumMsrRd_IntelP4EbcHardPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1556static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelP4EbcHardPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15531557{
    15541558    /** @todo P4 hard power on config */
     
    15591563
    15601564/** @callback_method_impl{FNCPUMWRMSR} */
    1561 static DECLCALLBACK(int) cpumMsrWr_IntelP4EbcHardPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1565static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelP4EbcHardPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    15621566{
    15631567    /** @todo P4 hard power on config */
     
    15671571
    15681572/** @callback_method_impl{FNCPUMRDMSR} */
    1569 static DECLCALLBACK(int) cpumMsrRd_IntelP4EbcSoftPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1573static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelP4EbcSoftPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15701574{
    15711575    /** @todo P4 soft power on config  */
     
    15761580
    15771581/** @callback_method_impl{FNCPUMWRMSR} */
    1578 static DECLCALLBACK(int) cpumMsrWr_IntelP4EbcSoftPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1582static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelP4EbcSoftPowerOn(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    15791583{
    15801584    /** @todo P4 soft power on config */
     
    15841588
    15851589/** @callback_method_impl{FNCPUMRDMSR} */
    1586 static DECLCALLBACK(int) cpumMsrRd_IntelP4EbcFrequencyId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1590static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelP4EbcFrequencyId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    15871591{
    15881592    uint64_t uValue;
     
    16421646
    16431647/** @callback_method_impl{FNCPUMWRMSR} */
    1644 static DECLCALLBACK(int) cpumMsrWr_IntelP4EbcFrequencyId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1648static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelP4EbcFrequencyId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    16451649{
    16461650    /** @todo P4 bus frequency config  */
     
    16501654
    16511655/** @callback_method_impl{FNCPUMRDMSR} */
    1652 static DECLCALLBACK(int) cpumMsrRd_IntelP6FsbFrequency(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1656static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelP6FsbFrequency(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    16531657{
    16541658    /* Convert the scalable bus frequency to the encoding in the intel manual (for core+). */
     
    16761680
    16771681/** @callback_method_impl{FNCPUMRDMSR} */
    1678 static DECLCALLBACK(int) cpumMsrRd_IntelPlatformInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1682static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelPlatformInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    16791683{
    16801684    /* Just indicate a fixed TSC, no turbo boost, no programmable anything. */
     
    16961700
    16971701/** @callback_method_impl{FNCPUMRDMSR} */
    1698 static DECLCALLBACK(int) cpumMsrRd_IntelFlexRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1702static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelFlexRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    16991703{
    17001704    uint64_t uValue = pRange->uValue & ~UINT64_C(0x1ff00);
     
    17121716
    17131717/** @callback_method_impl{FNCPUMWRMSR} */
    1714 static DECLCALLBACK(int) cpumMsrWr_IntelFlexRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1718static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelFlexRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    17151719{
    17161720    /** @todo implement writing MSR_FLEX_RATIO. */
     
    17201724
    17211725/** @callback_method_impl{FNCPUMRDMSR} */
    1722 static DECLCALLBACK(int) cpumMsrRd_IntelPkgCStConfigControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1726static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelPkgCStConfigControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    17231727{
    17241728    *puValue = pVCpu->cpum.s.GuestMsrs.msr.PkgCStateCfgCtrl;
     
    17281732
    17291733/** @callback_method_impl{FNCPUMWRMSR} */
    1730 static DECLCALLBACK(int) cpumMsrWr_IntelPkgCStConfigControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1734static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelPkgCStConfigControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    17311735{
    17321736    if (pVCpu->cpum.s.GuestMsrs.msr.PkgCStateCfgCtrl & RT_BIT_64(15))
     
    17481752
    17491753/** @callback_method_impl{FNCPUMRDMSR} */
    1750 static DECLCALLBACK(int) cpumMsrRd_IntelPmgIoCaptureBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1754static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelPmgIoCaptureBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    17511755{
    17521756    /** @todo implement I/O mwait wakeup. */
     
    17571761
    17581762/** @callback_method_impl{FNCPUMWRMSR} */
    1759 static DECLCALLBACK(int) cpumMsrWr_IntelPmgIoCaptureBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1763static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelPmgIoCaptureBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    17601764{
    17611765    /** @todo implement I/O mwait wakeup. */
     
    17651769
    17661770/** @callback_method_impl{FNCPUMRDMSR} */
    1767 static DECLCALLBACK(int) cpumMsrRd_IntelLastBranchFromToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1771static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelLastBranchFromToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    17681772{
    17691773    /** @todo implement last branch records. */
     
    17741778
    17751779/** @callback_method_impl{FNCPUMWRMSR} */
    1776 static DECLCALLBACK(int) cpumMsrWr_IntelLastBranchFromToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1780static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelLastBranchFromToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    17771781{
    17781782    /** @todo implement last branch records. */
     
    17821786
    17831787/** @callback_method_impl{FNCPUMRDMSR} */
    1784 static DECLCALLBACK(int) cpumMsrRd_IntelLastBranchFromN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1788static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelLastBranchFromN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    17851789{
    17861790    /** @todo implement last branch records. */
     
    17911795
    17921796/** @callback_method_impl{FNCPUMWRMSR} */
    1793 static DECLCALLBACK(int) cpumMsrWr_IntelLastBranchFromN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1797static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelLastBranchFromN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    17941798{
    17951799    /** @todo implement last branch records. */
     
    18071811
    18081812/** @callback_method_impl{FNCPUMRDMSR} */
    1809 static DECLCALLBACK(int) cpumMsrRd_IntelLastBranchToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1813static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelLastBranchToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18101814{
    18111815    /** @todo implement last branch records. */
     
    18161820
    18171821/** @callback_method_impl{FNCPUMWRMSR} */
    1818 static DECLCALLBACK(int) cpumMsrWr_IntelLastBranchToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1822static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelLastBranchToN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    18191823{
    18201824    /** @todo implement last branch records. */
     
    18321836
    18331837/** @callback_method_impl{FNCPUMRDMSR} */
    1834 static DECLCALLBACK(int) cpumMsrRd_IntelLastBranchTos(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1838static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelLastBranchTos(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18351839{
    18361840    /** @todo implement last branch records. */
     
    18411845
    18421846/** @callback_method_impl{FNCPUMWRMSR} */
    1843 static DECLCALLBACK(int) cpumMsrWr_IntelLastBranchTos(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1847static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelLastBranchTos(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    18441848{
    18451849    /** @todo implement last branch records. */
     
    18491853
    18501854/** @callback_method_impl{FNCPUMRDMSR} */
    1851 static DECLCALLBACK(int) cpumMsrRd_IntelBblCrCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1855static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelBblCrCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18521856{
    18531857    *puValue = pRange->uValue;
     
    18571861
    18581862/** @callback_method_impl{FNCPUMWRMSR} */
    1859 static DECLCALLBACK(int) cpumMsrWr_IntelBblCrCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    1860 {
    1861     return VINF_SUCCESS;
    1862 }
    1863 
    1864 
    1865 /** @callback_method_impl{FNCPUMRDMSR} */
    1866 static DECLCALLBACK(int) cpumMsrRd_IntelBblCrCtl3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1863static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelBblCrCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1864{
     1865    return VINF_SUCCESS;
     1866}
     1867
     1868
     1869/** @callback_method_impl{FNCPUMRDMSR} */
     1870static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelBblCrCtl3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18671871{
    18681872    *puValue = pRange->uValue;
     
    18721876
    18731877/** @callback_method_impl{FNCPUMWRMSR} */
    1874 static DECLCALLBACK(int) cpumMsrWr_IntelBblCrCtl3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    1875 {
    1876     return VINF_SUCCESS;
    1877 }
    1878 
    1879 
    1880 /** @callback_method_impl{FNCPUMRDMSR} */
    1881 static DECLCALLBACK(int) cpumMsrRd_IntelI7TemperatureTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1878static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelBblCrCtl3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1879{
     1880    return VINF_SUCCESS;
     1881}
     1882
     1883
     1884/** @callback_method_impl{FNCPUMRDMSR} */
     1885static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7TemperatureTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18821886{
    18831887    *puValue = pRange->uValue;
     
    18871891
    18881892/** @callback_method_impl{FNCPUMWRMSR} */
    1889 static DECLCALLBACK(int) cpumMsrWr_IntelI7TemperatureTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    1890 {
    1891     return VINF_SUCCESS;
    1892 }
    1893 
    1894 
    1895 /** @callback_method_impl{FNCPUMRDMSR} */
    1896 static DECLCALLBACK(int) cpumMsrRd_IntelI7MsrOffCoreResponseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1893static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7TemperatureTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1894{
     1895    return VINF_SUCCESS;
     1896}
     1897
     1898
     1899/** @callback_method_impl{FNCPUMRDMSR} */
     1900static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7MsrOffCoreResponseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    18971901{
    18981902    /** @todo machine check. */
     
    19031907
    19041908/** @callback_method_impl{FNCPUMWRMSR} */
    1905 static DECLCALLBACK(int) cpumMsrWr_IntelI7MsrOffCoreResponseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1909static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7MsrOffCoreResponseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    19061910{
    19071911    /** @todo machine check. */
     
    19111915
    19121916/** @callback_method_impl{FNCPUMRDMSR} */
    1913 static DECLCALLBACK(int) cpumMsrRd_IntelI7MiscPwrMgmt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    1914 {
    1915     *puValue = 0;
    1916     return VINF_SUCCESS;
    1917 }
    1918 
    1919 
    1920 /** @callback_method_impl{FNCPUMWRMSR} */
    1921 static DECLCALLBACK(int) cpumMsrWr_IntelI7MiscPwrMgmt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    1922 {
    1923     return VINF_SUCCESS;
    1924 }
    1925 
    1926 
    1927 /** @callback_method_impl{FNCPUMRDMSR} */
    1928 static DECLCALLBACK(int) cpumMsrRd_IntelP6CrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1917static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7MiscPwrMgmt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1918{
     1919    *puValue = 0;
     1920    return VINF_SUCCESS;
     1921}
     1922
     1923
     1924/** @callback_method_impl{FNCPUMWRMSR} */
     1925static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7MiscPwrMgmt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1926{
     1927    return VINF_SUCCESS;
     1928}
     1929
     1930
     1931/** @callback_method_impl{FNCPUMRDMSR} */
     1932static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelP6CrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    19291933{
    19301934    int rc = CPUMGetGuestCRx(pVCpu, pRange->uValue, puValue);
     
    19351939
    19361940/** @callback_method_impl{FNCPUMWRMSR} */
    1937 static DECLCALLBACK(int) cpumMsrWr_IntelP6CrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1941static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelP6CrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    19381942{
    19391943    /* This CRx interface differs from the MOV CRx, GReg interface in that
     
    19471951
    19481952/** @callback_method_impl{FNCPUMRDMSR} */
    1949 static DECLCALLBACK(int) cpumMsrRd_IntelCpuId1FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1953static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCpuId1FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    19501954{
    19511955    /** @todo implement CPUID masking.  */
     
    19561960
    19571961/** @callback_method_impl{FNCPUMWRMSR} */
    1958 static DECLCALLBACK(int) cpumMsrWr_IntelCpuId1FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1962static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCpuId1FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    19591963{
    19601964    /** @todo implement CPUID masking.  */
     
    19641968
    19651969/** @callback_method_impl{FNCPUMRDMSR} */
    1966 static DECLCALLBACK(int) cpumMsrRd_IntelCpuId1FeatureMaskEax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1970static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCpuId1FeatureMaskEax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    19671971{
    19681972    /** @todo implement CPUID masking.  */
     
    19721976
    19731977/** @callback_method_impl{FNCPUMWRMSR} */
    1974 static DECLCALLBACK(int) cpumMsrWr_IntelCpuId1FeatureMaskEax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1978static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCpuId1FeatureMaskEax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    19751979{
    19761980    /** @todo implement CPUID masking.  */
     
    19811985
    19821986/** @callback_method_impl{FNCPUMRDMSR} */
    1983 static DECLCALLBACK(int) cpumMsrRd_IntelCpuId80000001FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     1987static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCpuId80000001FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    19841988{
    19851989    /** @todo implement CPUID masking.  */
     
    19901994
    19911995/** @callback_method_impl{FNCPUMWRMSR} */
    1992 static DECLCALLBACK(int) cpumMsrWr_IntelCpuId80000001FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     1996static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCpuId80000001FeatureMaskEcdx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    19931997{
    19941998    /** @todo implement CPUID masking.  */
     
    19992003
    20002004/** @callback_method_impl{FNCPUMRDMSR} */
    2001 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyAesNiCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2005static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyAesNiCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20022006{
    20032007    /** @todo implement AES-NI.  */
     
    20082012
    20092013/** @callback_method_impl{FNCPUMWRMSR} */
    2010 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyAesNiCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2014static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyAesNiCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    20112015{
    20122016    /** @todo implement AES-NI.  */
     
    20162020
    20172021/** @callback_method_impl{FNCPUMRDMSR} */
    2018 static DECLCALLBACK(int) cpumMsrRd_IntelI7TurboRatioLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2022static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7TurboRatioLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20192023{
    20202024    /** @todo implement intel C states.  */
     
    20252029
    20262030/** @callback_method_impl{FNCPUMWRMSR} */
    2027 static DECLCALLBACK(int) cpumMsrWr_IntelI7TurboRatioLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2031static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7TurboRatioLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    20282032{
    20292033    /** @todo implement intel C states.  */
     
    20332037
    20342038/** @callback_method_impl{FNCPUMRDMSR} */
    2035 static DECLCALLBACK(int) cpumMsrRd_IntelI7LbrSelect(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2039static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7LbrSelect(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20362040{
    20372041    /** @todo implement last-branch-records.  */
     
    20422046
    20432047/** @callback_method_impl{FNCPUMWRMSR} */
    2044 static DECLCALLBACK(int) cpumMsrWr_IntelI7LbrSelect(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2048static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7LbrSelect(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    20452049{
    20462050    /** @todo implement last-branch-records.  */
     
    20502054
    20512055/** @callback_method_impl{FNCPUMRDMSR} */
    2052 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyErrorControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2056static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyErrorControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20532057{
    20542058    /** @todo implement memory error injection (MSR_ERROR_CONTROL).  */
     
    20592063
    20602064/** @callback_method_impl{FNCPUMWRMSR} */
    2061 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyErrorControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2065static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyErrorControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    20622066{
    20632067    /** @todo implement memory error injection (MSR_ERROR_CONTROL).  */
     
    20672071
    20682072/** @callback_method_impl{FNCPUMRDMSR} */
    2069 static DECLCALLBACK(int) cpumMsrRd_IntelI7VirtualLegacyWireCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2073static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7VirtualLegacyWireCap(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20702074{
    20712075    /** @todo implement memory VLW?  */
     
    20842088
    20852089/** @callback_method_impl{FNCPUMRDMSR} */
    2086 static DECLCALLBACK(int) cpumMsrRd_IntelI7PowerCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2090static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7PowerCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    20872091{
    20882092    /** @todo intel power management  */
     
    20932097
    20942098/** @callback_method_impl{FNCPUMWRMSR} */
    2095 static DECLCALLBACK(int) cpumMsrWr_IntelI7PowerCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2099static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7PowerCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    20962100{
    20972101    /** @todo intel power management  */
     
    21012105
    21022106/** @callback_method_impl{FNCPUMRDMSR} */
    2103 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyPebsNumAlt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2107static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyPebsNumAlt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21042108{
    21052109    /** @todo intel performance counters.  */
     
    21102114
    21112115/** @callback_method_impl{FNCPUMWRMSR} */
    2112 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyPebsNumAlt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2116static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyPebsNumAlt(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    21132117{
    21142118    /** @todo intel performance counters.  */
     
    21182122
    21192123/** @callback_method_impl{FNCPUMRDMSR} */
    2120 static DECLCALLBACK(int) cpumMsrRd_IntelI7PebsLdLat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2124static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7PebsLdLat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21212125{
    21222126    /** @todo intel performance counters.  */
     
    21272131
    21282132/** @callback_method_impl{FNCPUMWRMSR} */
    2129 static DECLCALLBACK(int) cpumMsrWr_IntelI7PebsLdLat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2133static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7PebsLdLat(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    21302134{
    21312135    /** @todo intel performance counters.  */
     
    21352139
    21362140/** @callback_method_impl{FNCPUMRDMSR} */
    2137 static DECLCALLBACK(int) cpumMsrRd_IntelI7PkgCnResidencyN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2141static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7PkgCnResidencyN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21382142{
    21392143    /** @todo intel power management.  */
     
    21442148
    21452149/** @callback_method_impl{FNCPUMRDMSR} */
    2146 static DECLCALLBACK(int) cpumMsrRd_IntelI7CoreCnResidencyN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2150static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7CoreCnResidencyN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21472151{
    21482152    /** @todo intel power management.  */
     
    21532157
    21542158/** @callback_method_impl{FNCPUMRDMSR} */
    2155 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyVrCurrentConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2159static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyVrCurrentConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21562160{
    21572161    /** @todo Figure out what MSR_VR_CURRENT_CONFIG & MSR_VR_MISC_CONFIG are.  */
     
    21622166
    21632167/** @callback_method_impl{FNCPUMWRMSR} */
    2164 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyVrCurrentConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2168static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyVrCurrentConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    21652169{
    21662170    /** @todo Figure out what MSR_VR_CURRENT_CONFIG & MSR_VR_MISC_CONFIG are.  */
     
    21702174
    21712175/** @callback_method_impl{FNCPUMRDMSR} */
    2172 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyVrMiscConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2176static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyVrMiscConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21732177{
    21742178    /** @todo Figure out what MSR_VR_CURRENT_CONFIG & MSR_VR_MISC_CONFIG are.  */
     
    21792183
    21802184/** @callback_method_impl{FNCPUMWRMSR} */
    2181 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyVrMiscConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2185static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyVrMiscConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    21822186{
    21832187    /** @todo Figure out what MSR_VR_CURRENT_CONFIG & MSR_VR_MISC_CONFIG are.  */
     
    21872191
    21882192/** @callback_method_impl{FNCPUMRDMSR} */
    2189 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyRaplPowerUnit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2193static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyRaplPowerUnit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21902194{
    21912195    /** @todo intel RAPL.  */
     
    21962200
    21972201/** @callback_method_impl{FNCPUMRDMSR} */
    2198 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyPkgCnIrtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2202static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyPkgCnIrtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    21992203{
    22002204    /** @todo intel power management.  */
     
    22052209
    22062210/** @callback_method_impl{FNCPUMWRMSR} */
    2207 static DECLCALLBACK(int) cpumMsrWr_IntelI7SandyPkgCnIrtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2211static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7SandyPkgCnIrtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    22082212{
    22092213    /** @todo intel power management.  */
     
    22132217
    22142218/** @callback_method_impl{FNCPUMRDMSR} */
    2215 static DECLCALLBACK(int) cpumMsrRd_IntelI7SandyPkgC2Residency(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2219static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7SandyPkgC2Residency(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22162220{
    22172221    /** @todo intel power management.  */
     
    22222226
    22232227/** @callback_method_impl{FNCPUMRDMSR} */
    2224 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPkgPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2228static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPkgPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22252229{
    22262230    /** @todo intel RAPL.  */
     
    22312235
    22322236/** @callback_method_impl{FNCPUMWRMSR} */
    2233 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplPkgPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2237static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplPkgPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    22342238{
    22352239    /** @todo intel RAPL.  */
     
    22392243
    22402244/** @callback_method_impl{FNCPUMRDMSR} */
    2241 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPkgEnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2245static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPkgEnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22422246{
    22432247    /** @todo intel power management.  */
     
    22482252
    22492253/** @callback_method_impl{FNCPUMRDMSR} */
    2250 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPkgPerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2254static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPkgPerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22512255{
    22522256    /** @todo intel power management.  */
     
    22572261
    22582262/** @callback_method_impl{FNCPUMRDMSR} */
    2259 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPkgPowerInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2263static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPkgPowerInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22602264{
    22612265    /** @todo intel power management.  */
     
    22662270
    22672271/** @callback_method_impl{FNCPUMRDMSR} */
    2268 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplDramPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2272static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplDramPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22692273{
    22702274    /** @todo intel RAPL.  */
     
    22752279
    22762280/** @callback_method_impl{FNCPUMWRMSR} */
    2277 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplDramPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2281static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplDramPowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    22782282{
    22792283    /** @todo intel RAPL.  */
     
    22832287
    22842288/** @callback_method_impl{FNCPUMRDMSR} */
    2285 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplDramEnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2289static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplDramEnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22862290{
    22872291    /** @todo intel power management.  */
     
    22922296
    22932297/** @callback_method_impl{FNCPUMRDMSR} */
    2294 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplDramPerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2298static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplDramPerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    22952299{
    22962300    /** @todo intel power management.  */
     
    23012305
    23022306/** @callback_method_impl{FNCPUMRDMSR} */
    2303 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplDramPowerInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2307static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplDramPowerInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23042308{
    23052309    /** @todo intel power management.  */
     
    23102314
    23112315/** @callback_method_impl{FNCPUMRDMSR} */
    2312 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp0PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2316static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp0PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23132317{
    23142318    /** @todo intel RAPL.  */
     
    23192323
    23202324/** @callback_method_impl{FNCPUMWRMSR} */
    2321 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplPp0PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2325static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplPp0PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    23222326{
    23232327    /** @todo intel RAPL.  */
     
    23272331
    23282332/** @callback_method_impl{FNCPUMRDMSR} */
    2329 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp0EnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2333static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp0EnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23302334{
    23312335    /** @todo intel power management.  */
     
    23362340
    23372341/** @callback_method_impl{FNCPUMRDMSR} */
    2338 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp0Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2342static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp0Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23392343{
    23402344    /** @todo intel RAPL.  */
     
    23452349
    23462350/** @callback_method_impl{FNCPUMWRMSR} */
    2347 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplPp0Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2351static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplPp0Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    23482352{
    23492353    /** @todo intel RAPL.  */
     
    23532357
    23542358/** @callback_method_impl{FNCPUMRDMSR} */
    2355 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp0PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2359static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp0PerfStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23562360{
    23572361    /** @todo intel power management.  */
     
    23622366
    23632367/** @callback_method_impl{FNCPUMRDMSR} */
    2364 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp1PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2368static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp1PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23652369{
    23662370    /** @todo intel RAPL.  */
     
    23712375
    23722376/** @callback_method_impl{FNCPUMWRMSR} */
    2373 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplPp1PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2377static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplPp1PowerLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    23742378{
    23752379    /** @todo intel RAPL.  */
     
    23792383
    23802384/** @callback_method_impl{FNCPUMRDMSR} */
    2381 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp1EnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2385static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp1EnergyStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23822386{
    23832387    /** @todo intel power management.  */
     
    23882392
    23892393/** @callback_method_impl{FNCPUMRDMSR} */
    2390 static DECLCALLBACK(int) cpumMsrRd_IntelI7RaplPp1Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2394static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7RaplPp1Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    23912395{
    23922396    /** @todo intel RAPL.  */
     
    23972401
    23982402/** @callback_method_impl{FNCPUMWRMSR} */
    2399 static DECLCALLBACK(int) cpumMsrWr_IntelI7RaplPp1Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2403static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7RaplPp1Policy(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    24002404{
    24012405    /** @todo intel RAPL.  */
     
    24052409
    24062410/** @callback_method_impl{FNCPUMRDMSR} */
    2407 static DECLCALLBACK(int) cpumMsrRd_IntelI7IvyConfigTdpNominal(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2411static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7IvyConfigTdpNominal(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24082412{
    24092413    /** @todo intel power management.  */
     
    24142418
    24152419/** @callback_method_impl{FNCPUMRDMSR} */
    2416 static DECLCALLBACK(int) cpumMsrRd_IntelI7IvyConfigTdpLevel1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2420static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7IvyConfigTdpLevel1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24172421{
    24182422    /** @todo intel power management.  */
     
    24232427
    24242428/** @callback_method_impl{FNCPUMRDMSR} */
    2425 static DECLCALLBACK(int) cpumMsrRd_IntelI7IvyConfigTdpLevel2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2429static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7IvyConfigTdpLevel2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24262430{
    24272431    /** @todo intel power management.  */
     
    24322436
    24332437/** @callback_method_impl{FNCPUMRDMSR} */
    2434 static DECLCALLBACK(int) cpumMsrRd_IntelI7IvyConfigTdpControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2438static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7IvyConfigTdpControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24352439{
    24362440    /** @todo intel power management.  */
     
    24412445
    24422446/** @callback_method_impl{FNCPUMWRMSR} */
    2443 static DECLCALLBACK(int) cpumMsrWr_IntelI7IvyConfigTdpControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2447static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7IvyConfigTdpControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    24442448{
    24452449    /** @todo intel power management.  */
     
    24492453
    24502454/** @callback_method_impl{FNCPUMRDMSR} */
    2451 static DECLCALLBACK(int) cpumMsrRd_IntelI7IvyTurboActivationRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2455static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7IvyTurboActivationRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24522456{
    24532457    /** @todo intel power management.  */
     
    24582462
    24592463/** @callback_method_impl{FNCPUMWRMSR} */
    2460 static DECLCALLBACK(int) cpumMsrWr_IntelI7IvyTurboActivationRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2464static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7IvyTurboActivationRatio(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    24612465{
    24622466    /** @todo intel power management.  */
     
    24662470
    24672471/** @callback_method_impl{FNCPUMRDMSR} */
    2468 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncPerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2472static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncPerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24692473{
    24702474    /** @todo uncore msrs.  */
     
    24752479
    24762480/** @callback_method_impl{FNCPUMWRMSR} */
    2477 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncPerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2481static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncPerfGlobalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    24782482{
    24792483    /** @todo uncore msrs.  */
     
    24832487
    24842488/** @callback_method_impl{FNCPUMRDMSR} */
    2485 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncPerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2489static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncPerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    24862490{
    24872491    /** @todo uncore msrs.  */
     
    24922496
    24932497/** @callback_method_impl{FNCPUMWRMSR} */
    2494 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncPerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2498static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncPerfGlobalStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    24952499{
    24962500    /** @todo uncore msrs.  */
     
    25002504
    25012505/** @callback_method_impl{FNCPUMRDMSR} */
    2502 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncPerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2506static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncPerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25032507{
    25042508    /** @todo uncore msrs.  */
     
    25092513
    25102514/** @callback_method_impl{FNCPUMWRMSR} */
    2511 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncPerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2515static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncPerfGlobalOvfCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    25122516{
    25132517    /** @todo uncore msrs.  */
     
    25172521
    25182522/** @callback_method_impl{FNCPUMRDMSR} */
    2519 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncPerfFixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2523static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncPerfFixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25202524{
    25212525    /** @todo uncore msrs.  */
     
    25262530
    25272531/** @callback_method_impl{FNCPUMWRMSR} */
    2528 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncPerfFixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2532static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncPerfFixedCtrCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    25292533{
    25302534    /** @todo uncore msrs.  */
     
    25342538
    25352539/** @callback_method_impl{FNCPUMRDMSR} */
    2536 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncPerfFixedCtr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2540static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncPerfFixedCtr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25372541{
    25382542    /** @todo uncore msrs.  */
     
    25432547
    25442548/** @callback_method_impl{FNCPUMWRMSR} */
    2545 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncPerfFixedCtr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2549static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncPerfFixedCtr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    25462550{
    25472551    /** @todo uncore msrs.  */
     
    25512555
    25522556/** @callback_method_impl{FNCPUMRDMSR} */
    2553 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncCBoxConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2557static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncCBoxConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25542558{
    25552559    /** @todo uncore msrs.  */
     
    25602564
    25612565/** @callback_method_impl{FNCPUMRDMSR} */
    2562 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncArbPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2566static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncArbPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25632567{
    25642568    /** @todo uncore msrs.  */
     
    25692573
    25702574/** @callback_method_impl{FNCPUMWRMSR} */
    2571 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncArbPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2575static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncArbPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    25722576{
    25732577    /** @todo uncore msrs.  */
     
    25772581
    25782582/** @callback_method_impl{FNCPUMRDMSR} */
    2579 static DECLCALLBACK(int) cpumMsrRd_IntelI7UncArbPerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2583static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelI7UncArbPerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25802584{
    25812585    /** @todo uncore msrs.  */
     
    25862590
    25872591/** @callback_method_impl{FNCPUMWRMSR} */
    2588 static DECLCALLBACK(int) cpumMsrWr_IntelI7UncArbPerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2592static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelI7UncArbPerfEvtSelN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    25892593{
    25902594    /** @todo uncore msrs.  */
     
    25942598
    25952599/** @callback_method_impl{FNCPUMRDMSR} */
    2596 static DECLCALLBACK(int) cpumMsrRd_IntelCore2EmttmCrTablesN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2600static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCore2EmttmCrTablesN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    25972601{
    25982602    /** @todo implement enhanced multi thread termal monitoring? */
     
    26032607
    26042608/** @callback_method_impl{FNCPUMWRMSR} */
    2605 static DECLCALLBACK(int) cpumMsrWr_IntelCore2EmttmCrTablesN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2609static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCore2EmttmCrTablesN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    26062610{
    26072611    /** @todo implement enhanced multi thread termal monitoring? */
     
    26112615
    26122616/** @callback_method_impl{FNCPUMRDMSR} */
    2613 static DECLCALLBACK(int) cpumMsrRd_IntelCore2SmmCStMiscInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2617static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCore2SmmCStMiscInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    26142618{
    26152619    /** @todo SMM & C-states? */
     
    26202624
    26212625/** @callback_method_impl{FNCPUMWRMSR} */
    2622 static DECLCALLBACK(int) cpumMsrWr_IntelCore2SmmCStMiscInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2626static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCore2SmmCStMiscInfo(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    26232627{
    26242628    /** @todo SMM & C-states? */
     
    26282632
    26292633/** @callback_method_impl{FNCPUMRDMSR} */
    2630 static DECLCALLBACK(int) cpumMsrRd_IntelCore1ExtConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2634static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCore1ExtConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    26312635{
    26322636    /** @todo Core1&2 EXT_CONFIG (whatever that is)? */
     
    26372641
    26382642/** @callback_method_impl{FNCPUMWRMSR} */
    2639 static DECLCALLBACK(int) cpumMsrWr_IntelCore1ExtConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2643static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCore1ExtConfig(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    26402644{
    26412645    /** @todo Core1&2 EXT_CONFIG (whatever that is)? */
     
    26452649
    26462650/** @callback_method_impl{FNCPUMRDMSR} */
    2647 static DECLCALLBACK(int) cpumMsrRd_IntelCore1DtsCalControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2651static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCore1DtsCalControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    26482652{
    26492653    /** @todo Core1&2(?) DTS_CAL_CTRL (whatever that is)? */
     
    26542658
    26552659/** @callback_method_impl{FNCPUMWRMSR} */
    2656 static DECLCALLBACK(int) cpumMsrWr_IntelCore1DtsCalControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2660static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCore1DtsCalControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    26572661{
    26582662    /** @todo Core1&2(?) DTS_CAL_CTRL (whatever that is)? */
     
    26622666
    26632667/** @callback_method_impl{FNCPUMRDMSR} */
    2664 static DECLCALLBACK(int) cpumMsrRd_IntelCore2PeciControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2668static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_IntelCore2PeciControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    26652669{
    26662670    /** @todo Core2+ platform environment control interface control register? */
     
    26712675
    26722676/** @callback_method_impl{FNCPUMWRMSR} */
    2673 static DECLCALLBACK(int) cpumMsrWr_IntelCore2PeciControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2677static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_IntelCore2PeciControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    26742678{
    26752679    /** @todo Core2+ platform environment control interface control register? */
     
    26902694
    26912695/** @callback_method_impl{FNCPUMRDMSR} */
    2692 static DECLCALLBACK(int) cpumMsrRd_P6LastBranchFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2696static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_P6LastBranchFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    26932697{
    26942698    /* AMD seems to just record RIP, while intel claims to record RIP+CS.BASE
     
    27012705
    27022706/** @callback_method_impl{FNCPUMRDMSR} */
    2703 static DECLCALLBACK(int) cpumMsrRd_P6LastBranchToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2707static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_P6LastBranchToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27042708{
    27052709    /** @todo implement last branch records. */
     
    27102714
    27112715/** @callback_method_impl{FNCPUMRDMSR} */
    2712 static DECLCALLBACK(int) cpumMsrRd_P6LastIntFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2716static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_P6LastIntFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27132717{
    27142718    /** @todo implement last exception records. */
     
    27192723
    27202724/** @callback_method_impl{FNCPUMWRMSR} */
    2721 static DECLCALLBACK(int) cpumMsrWr_P6LastIntFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2725static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_P6LastIntFromIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    27222726{
    27232727    /** @todo implement last exception records. */
     
    27292733
    27302734/** @callback_method_impl{FNCPUMRDMSR} */
    2731 static DECLCALLBACK(int) cpumMsrRd_P6LastIntToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2735static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_P6LastIntToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27322736{
    27332737    /** @todo implement last exception records. */
     
    27382742
    27392743/** @callback_method_impl{FNCPUMWRMSR} */
    2740 static DECLCALLBACK(int) cpumMsrWr_P6LastIntToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2744static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_P6LastIntToIp(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    27412745{
    27422746    /** @todo implement last exception records. */
     
    27542758
    27552759/** @callback_method_impl{FNCPUMRDMSR} */
    2756 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hTscRate(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2760static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hTscRate(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27572761{
    27582762    /** @todo Implement TscRateMsr */
     
    27632767
    27642768/** @callback_method_impl{FNCPUMWRMSR} */
    2765 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hTscRate(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2769static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hTscRate(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    27662770{
    27672771    /** @todo Implement TscRateMsr */
     
    27712775
    27722776/** @callback_method_impl{FNCPUMRDMSR} */
    2773 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hLwpCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2777static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hLwpCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27742778{
    27752779    /** @todo Implement AMD LWP? (Instructions: LWPINS, LWPVAL, LLWPCB, SLWPCB) */
     
    27812785
    27822786/** @callback_method_impl{FNCPUMWRMSR} */
    2783 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hLwpCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2787static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hLwpCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    27842788{
    27852789    /** @todo Implement AMD LWP? (Instructions: LWPINS, LWPVAL, LLWPCB, SLWPCB) */
     
    27892793
    27902794/** @callback_method_impl{FNCPUMRDMSR} */
    2791 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hLwpCbAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2795static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hLwpCbAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    27922796{
    27932797    /** @todo Implement AMD LWP? (Instructions: LWPINS, LWPVAL, LLWPCB, SLWPCB) */
     
    27992803
    28002804/** @callback_method_impl{FNCPUMWRMSR} */
    2801 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hLwpCbAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2805static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hLwpCbAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28022806{
    28032807    /** @todo Implement AMD LWP? (Instructions: LWPINS, LWPVAL, LLWPCB, SLWPCB) */
     
    28072811
    28082812/** @callback_method_impl{FNCPUMRDMSR} */
    2809 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hMc4MiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2813static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hMc4MiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28102814{
    28112815    /** @todo machine check. */
     
    28162820
    28172821/** @callback_method_impl{FNCPUMWRMSR} */
    2818 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hMc4MiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2822static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hMc4MiscN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28192823{
    28202824    /** @todo machine check. */
     
    28242828
    28252829/** @callback_method_impl{FNCPUMRDMSR} */
    2826 static DECLCALLBACK(int) cpumMsrRd_AmdK8PerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2830static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8PerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28272831{
    28282832    /** @todo AMD performance events. */
     
    28332837
    28342838/** @callback_method_impl{FNCPUMWRMSR} */
    2835 static DECLCALLBACK(int) cpumMsrWr_AmdK8PerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2839static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8PerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28362840{
    28372841    /** @todo AMD performance events. */
     
    28412845
    28422846/** @callback_method_impl{FNCPUMRDMSR} */
    2843 static DECLCALLBACK(int) cpumMsrRd_AmdK8PerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2847static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8PerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28442848{
    28452849    /** @todo AMD performance events. */
     
    28502854
    28512855/** @callback_method_impl{FNCPUMWRMSR} */
    2852 static DECLCALLBACK(int) cpumMsrWr_AmdK8PerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2856static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8PerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28532857{
    28542858    /** @todo AMD performance events. */
     
    28582862
    28592863/** @callback_method_impl{FNCPUMRDMSR} */
    2860 static DECLCALLBACK(int) cpumMsrRd_AmdK8SysCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2864static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SysCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28612865{
    28622866    /** @todo AMD SYS_CFG */
     
    28672871
    28682872/** @callback_method_impl{FNCPUMWRMSR} */
    2869 static DECLCALLBACK(int) cpumMsrWr_AmdK8SysCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2873static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SysCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28702874{
    28712875    /** @todo AMD SYS_CFG */
     
    28752879
    28762880/** @callback_method_impl{FNCPUMRDMSR} */
    2877 static DECLCALLBACK(int) cpumMsrRd_AmdK8HwCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2881static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8HwCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28782882{
    28792883    /** @todo AMD HW_CFG */
     
    28842888
    28852889/** @callback_method_impl{FNCPUMWRMSR} */
    2886 static DECLCALLBACK(int) cpumMsrWr_AmdK8HwCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2890static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8HwCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    28872891{
    28882892    /** @todo AMD HW_CFG */
     
    28922896
    28932897/** @callback_method_impl{FNCPUMRDMSR} */
    2894 static DECLCALLBACK(int) cpumMsrRd_AmdK8IorrBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2898static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8IorrBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    28952899{
    28962900    /** @todo AMD IorrMask/IorrBase */
     
    29012905
    29022906/** @callback_method_impl{FNCPUMWRMSR} */
    2903 static DECLCALLBACK(int) cpumMsrWr_AmdK8IorrBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2907static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8IorrBaseN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    29042908{
    29052909    /** @todo AMD IorrMask/IorrBase */
     
    29092913
    29102914/** @callback_method_impl{FNCPUMRDMSR} */
    2911 static DECLCALLBACK(int) cpumMsrRd_AmdK8IorrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2915static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8IorrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    29122916{
    29132917    /** @todo AMD IorrMask/IorrBase */
     
    29182922
    29192923/** @callback_method_impl{FNCPUMWRMSR} */
    2920 static DECLCALLBACK(int) cpumMsrWr_AmdK8IorrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2924static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8IorrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    29212925{
    29222926    /** @todo AMD IorrMask/IorrBase */
     
    29262930
    29272931/** @callback_method_impl{FNCPUMRDMSR} */
    2928 static DECLCALLBACK(int) cpumMsrRd_AmdK8TopOfMemN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2932static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8TopOfMemN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    29292933{
    29302934    *puValue = 0;
     
    29382942
    29392943/** @callback_method_impl{FNCPUMWRMSR} */
    2940 static DECLCALLBACK(int) cpumMsrWr_AmdK8TopOfMemN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2944static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8TopOfMemN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    29412945{
    29422946    /** @todo AMD TOPMEM and TOPMEM2/TOM2. */
     
    29462950
    29472951/** @callback_method_impl{FNCPUMRDMSR} */
    2948 static DECLCALLBACK(int) cpumMsrRd_AmdK8NbCfg1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2952static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8NbCfg1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    29492953{
    29502954    /** @todo AMD NB_CFG1 */
     
    29552959
    29562960/** @callback_method_impl{FNCPUMWRMSR} */
    2957 static DECLCALLBACK(int) cpumMsrWr_AmdK8NbCfg1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2961static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8NbCfg1(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    29582962{
    29592963    /** @todo AMD NB_CFG1 */
     
    29632967
    29642968/** @callback_method_impl{FNCPUMRDMSR} */
    2965 static DECLCALLBACK(int) cpumMsrRd_AmdK8McXcptRedir(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2969static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8McXcptRedir(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    29662970{
    29672971    /** @todo machine check. */
     
    29722976
    29732977/** @callback_method_impl{FNCPUMWRMSR} */
    2974 static DECLCALLBACK(int) cpumMsrWr_AmdK8McXcptRedir(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     2978static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8McXcptRedir(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    29752979{
    29762980    /** @todo machine check. */
     
    29802984
    29812985/** @callback_method_impl{FNCPUMRDMSR} */
    2982 static DECLCALLBACK(int) cpumMsrRd_AmdK8CpuNameN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     2986static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8CpuNameN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    29832987{
    29842988    PCPUMCPUIDLEAF pLeaf = cpumCpuIdGetLeaf(pVCpu->CTX_SUFF(pVM), pRange->uValue / 2 + 0x80000001, 0);
     
    29973001
    29983002/** @callback_method_impl{FNCPUMWRMSR} */
    2999 static DECLCALLBACK(int) cpumMsrWr_AmdK8CpuNameN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3003static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8CpuNameN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30003004{
    30013005    /** @todo Remember guest programmed CPU name. */
     
    30053009
    30063010/** @callback_method_impl{FNCPUMRDMSR} */
    3007 static DECLCALLBACK(int) cpumMsrRd_AmdK8HwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3011static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8HwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30083012{
    30093013    /** @todo AMD HTC. */
     
    30143018
    30153019/** @callback_method_impl{FNCPUMWRMSR} */
    3016 static DECLCALLBACK(int) cpumMsrWr_AmdK8HwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3020static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8HwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30173021{
    30183022    /** @todo AMD HTC. */
     
    30223026
    30233027/** @callback_method_impl{FNCPUMRDMSR} */
    3024 static DECLCALLBACK(int) cpumMsrRd_AmdK8SwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3028static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30253029{
    30263030    /** @todo AMD STC. */
     
    30313035
    30323036/** @callback_method_impl{FNCPUMWRMSR} */
    3033 static DECLCALLBACK(int) cpumMsrWr_AmdK8SwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3037static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SwThermalCtrl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30343038{
    30353039    /** @todo AMD STC. */
     
    30393043
    30403044/** @callback_method_impl{FNCPUMRDMSR} */
    3041 static DECLCALLBACK(int) cpumMsrRd_AmdK8FidVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3045static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8FidVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30423046{
    30433047    /** @todo AMD FIDVID_CTL. */
     
    30483052
    30493053/** @callback_method_impl{FNCPUMWRMSR} */
    3050 static DECLCALLBACK(int) cpumMsrWr_AmdK8FidVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3054static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8FidVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30513055{
    30523056    /** @todo AMD FIDVID_CTL. */
     
    30563060
    30573061/** @callback_method_impl{FNCPUMRDMSR} */
    3058 static DECLCALLBACK(int) cpumMsrRd_AmdK8FidVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3062static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8FidVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30593063{
    30603064    /** @todo AMD FIDVID_STATUS. */
     
    30653069
    30663070/** @callback_method_impl{FNCPUMRDMSR} */
    3067 static DECLCALLBACK(int) cpumMsrRd_AmdK8McCtlMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3071static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8McCtlMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30683072{
    30693073    /** @todo AMD MC. */
     
    30743078
    30753079/** @callback_method_impl{FNCPUMWRMSR} */
    3076 static DECLCALLBACK(int) cpumMsrWr_AmdK8McCtlMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3080static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8McCtlMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30773081{
    30783082    /** @todo AMD MC. */
     
    30823086
    30833087/** @callback_method_impl{FNCPUMRDMSR} */
    3084 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmiOnIoTrapN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3088static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmiOnIoTrapN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    30853089{
    30863090    /** @todo AMD SMM/SMI and I/O trap. */
     
    30913095
    30923096/** @callback_method_impl{FNCPUMWRMSR} */
    3093 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmiOnIoTrapN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3097static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmiOnIoTrapN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    30943098{
    30953099    /** @todo AMD SMM/SMI and I/O trap. */
     
    30993103
    31003104/** @callback_method_impl{FNCPUMRDMSR} */
    3101 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmiOnIoTrapCtlSts(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3105static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmiOnIoTrapCtlSts(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31023106{
    31033107    /** @todo AMD SMM/SMI and I/O trap. */
     
    31083112
    31093113/** @callback_method_impl{FNCPUMWRMSR} */
    3110 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmiOnIoTrapCtlSts(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3114static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmiOnIoTrapCtlSts(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    31113115{
    31123116    /** @todo AMD SMM/SMI and I/O trap. */
     
    31163120
    31173121/** @callback_method_impl{FNCPUMRDMSR} */
    3118 static DECLCALLBACK(int) cpumMsrRd_AmdK8IntPendingMessage(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3122static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8IntPendingMessage(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31193123{
    31203124    /** @todo Interrupt pending message. */
     
    31253129
    31263130/** @callback_method_impl{FNCPUMWRMSR} */
    3127 static DECLCALLBACK(int) cpumMsrWr_AmdK8IntPendingMessage(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3131static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8IntPendingMessage(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    31283132{
    31293133    /** @todo Interrupt pending message. */
     
    31333137
    31343138/** @callback_method_impl{FNCPUMRDMSR} */
    3135 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmiTriggerIoCycle(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3139static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmiTriggerIoCycle(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31363140{
    31373141    /** @todo AMD SMM/SMI and trigger I/O cycle. */
     
    31423146
    31433147/** @callback_method_impl{FNCPUMWRMSR} */
    3144 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmiTriggerIoCycle(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3148static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmiTriggerIoCycle(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    31453149{
    31463150    /** @todo AMD SMM/SMI and trigger I/O cycle. */
     
    31503154
    31513155/** @callback_method_impl{FNCPUMRDMSR} */
    3152 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hMmioCfgBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3156static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hMmioCfgBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31533157{
    31543158    /** @todo AMD MMIO Configuration base address. */
     
    31593163
    31603164/** @callback_method_impl{FNCPUMWRMSR} */
    3161 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hMmioCfgBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3165static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hMmioCfgBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    31623166{
    31633167    /** @todo AMD MMIO Configuration base address. */
     
    31673171
    31683172/** @callback_method_impl{FNCPUMRDMSR} */
    3169 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hTrapCtlMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3173static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hTrapCtlMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31703174{
    31713175    /** @todo AMD 0xc0010059. */
     
    31763180
    31773181/** @callback_method_impl{FNCPUMWRMSR} */
    3178 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hTrapCtlMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3182static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hTrapCtlMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    31793183{
    31803184    /** @todo AMD 0xc0010059. */
     
    31843188
    31853189/** @callback_method_impl{FNCPUMRDMSR} */
    3186 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hPStateCurLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3190static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hPStateCurLimit(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31873191{
    31883192    /** @todo AMD P-states. */
     
    31933197
    31943198/** @callback_method_impl{FNCPUMRDMSR} */
    3195 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hPStateControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3199static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hPStateControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    31963200{
    31973201    /** @todo AMD P-states. */
     
    32023206
    32033207/** @callback_method_impl{FNCPUMWRMSR} */
    3204 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hPStateControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3208static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hPStateControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32053209{
    32063210    /** @todo AMD P-states. */
     
    32103214
    32113215/** @callback_method_impl{FNCPUMRDMSR} */
    3212 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hPStateStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3216static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hPStateStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32133217{
    32143218    /** @todo AMD P-states. */
     
    32193223
    32203224/** @callback_method_impl{FNCPUMWRMSR} */
    3221 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hPStateStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3225static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hPStateStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32223226{
    32233227    /** @todo AMD P-states. */
     
    32273231
    32283232/** @callback_method_impl{FNCPUMRDMSR} */
    3229 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hPStateN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3233static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hPStateN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32303234{
    32313235    /** @todo AMD P-states. */
     
    32363240
    32373241/** @callback_method_impl{FNCPUMWRMSR} */
    3238 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hPStateN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3242static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hPStateN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32393243{
    32403244    /** @todo AMD P-states. */
     
    32443248
    32453249/** @callback_method_impl{FNCPUMRDMSR} */
    3246 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hCofVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3250static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hCofVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32473251{
    32483252    /** @todo AMD P-states. */
     
    32533257
    32543258/** @callback_method_impl{FNCPUMWRMSR} */
    3255 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hCofVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3259static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hCofVidControl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32563260{
    32573261    /** @todo AMD P-states. */
     
    32613265
    32623266/** @callback_method_impl{FNCPUMRDMSR} */
    3263 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hCofVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3267static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hCofVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32643268{
    32653269    /** @todo AMD P-states. */
     
    32703274
    32713275/** @callback_method_impl{FNCPUMWRMSR} */
    3272 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hCofVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3276static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hCofVidStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32733277{
    32743278    /* Note! Writing 0 seems to not GP, not sure if it does anything to the value... */
     
    32793283
    32803284/** @callback_method_impl{FNCPUMRDMSR} */
    3281 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hCStateIoBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3285static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hCStateIoBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32823286{
    32833287    /** @todo AMD C-states. */
     
    32883292
    32893293/** @callback_method_impl{FNCPUMWRMSR} */
    3290 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hCStateIoBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3294static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hCStateIoBaseAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    32913295{
    32923296    /** @todo AMD C-states. */
     
    32963300
    32973301/** @callback_method_impl{FNCPUMRDMSR} */
    3298 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hCpuWatchdogTimer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3302static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hCpuWatchdogTimer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    32993303{
    33003304    /** @todo AMD machine checks. */
     
    33053309
    33063310/** @callback_method_impl{FNCPUMWRMSR} */
    3307 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hCpuWatchdogTimer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3311static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hCpuWatchdogTimer(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33083312{
    33093313    /** @todo AMD machine checks. */
     
    33133317
    33143318/** @callback_method_impl{FNCPUMRDMSR} */
    3315 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmmBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3319static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmmBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    33163320{
    33173321    /** @todo AMD SMM. */
     
    33223326
    33233327/** @callback_method_impl{FNCPUMWRMSR} */
    3324 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmmBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3328static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmmBase(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33253329{
    33263330    /** @todo AMD SMM. */
     
    33303334
    33313335/** @callback_method_impl{FNCPUMRDMSR} */
    3332 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmmAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3336static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmmAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    33333337{
    33343338    /** @todo AMD SMM. */
     
    33393343
    33403344/** @callback_method_impl{FNCPUMWRMSR} */
    3341 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmmAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3345static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmmAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33423346{
    33433347    /** @todo AMD SMM. */
     
    33483352
    33493353/** @callback_method_impl{FNCPUMRDMSR} */
    3350 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmmMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3354static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmmMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    33513355{
    33523356    /** @todo AMD SMM. */
     
    33573361
    33583362/** @callback_method_impl{FNCPUMWRMSR} */
    3359 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmmMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3363static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmmMask(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33603364{
    33613365    /** @todo AMD SMM. */
     
    33653369
    33663370/** @callback_method_impl{FNCPUMRDMSR} */
    3367 static DECLCALLBACK(int) cpumMsrRd_AmdK8VmCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3371static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8VmCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    33683372{
    33693373    /** @todo AMD SVM. */
     
    33743378
    33753379/** @callback_method_impl{FNCPUMWRMSR} */
    3376 static DECLCALLBACK(int) cpumMsrWr_AmdK8VmCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3380static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8VmCr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33773381{
    33783382    /** @todo AMD SVM. */
     
    33823386
    33833387/** @callback_method_impl{FNCPUMRDMSR} */
    3384 static DECLCALLBACK(int) cpumMsrRd_AmdK8IgnNe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3388static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8IgnNe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    33853389{
    33863390    /** @todo AMD IGNNE\# control. */
     
    33913395
    33923396/** @callback_method_impl{FNCPUMWRMSR} */
    3393 static DECLCALLBACK(int) cpumMsrWr_AmdK8IgnNe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3397static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8IgnNe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    33943398{
    33953399    /** @todo AMD IGNNE\# control. */
     
    33993403
    34003404/** @callback_method_impl{FNCPUMRDMSR} */
    3401 static DECLCALLBACK(int) cpumMsrRd_AmdK8SmmCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3405static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8SmmCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34023406{
    34033407    /** @todo AMD SMM. */
     
    34083412
    34093413/** @callback_method_impl{FNCPUMWRMSR} */
    3410 static DECLCALLBACK(int) cpumMsrWr_AmdK8SmmCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3414static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8SmmCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34113415{
    34123416    /** @todo AMD SMM. */
     
    34163420
    34173421/** @callback_method_impl{FNCPUMRDMSR} */
    3418 static DECLCALLBACK(int) cpumMsrRd_AmdK8VmHSavePa(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3422static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8VmHSavePa(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34193423{
    34203424    /** @todo AMD SVM. */
     
    34253429
    34263430/** @callback_method_impl{FNCPUMWRMSR} */
    3427 static DECLCALLBACK(int) cpumMsrWr_AmdK8VmHSavePa(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3431static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8VmHSavePa(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34283432{
    34293433    /** @todo AMD SVM. */
     
    34333437
    34343438/** @callback_method_impl{FNCPUMRDMSR} */
    3435 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hVmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3439static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hVmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34363440{
    34373441    /** @todo AMD SVM. */
     
    34423446
    34433447/** @callback_method_impl{FNCPUMWRMSR} */
    3444 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hVmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3448static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hVmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34453449{
    34463450    /** @todo AMD SVM. */
     
    34503454
    34513455/** @callback_method_impl{FNCPUMRDMSR} */
    3452 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hSmmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3456static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hSmmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34533457{
    34543458    /** @todo AMD SMM. */
     
    34593463
    34603464/** @callback_method_impl{FNCPUMWRMSR} */
    3461 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hSmmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3465static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hSmmLockKey(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34623466{
    34633467    /** @todo AMD SMM. */
     
    34673471
    34683472/** @callback_method_impl{FNCPUMRDMSR} */
    3469 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hLocalSmiStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3473static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hLocalSmiStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34703474{
    34713475    /** @todo AMD SMM/SMI. */
     
    34763480
    34773481/** @callback_method_impl{FNCPUMWRMSR} */
    3478 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hLocalSmiStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3482static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hLocalSmiStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34793483{
    34803484    /** @todo AMD SMM/SMI. */
     
    34843488
    34853489/** @callback_method_impl{FNCPUMRDMSR} */
    3486 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hOsVisWrkIdLength(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3490static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hOsVisWrkIdLength(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    34873491{
    34883492    /** @todo AMD OS visible workaround. */
     
    34933497
    34943498/** @callback_method_impl{FNCPUMWRMSR} */
    3495 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hOsVisWrkIdLength(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3499static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hOsVisWrkIdLength(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    34963500{
    34973501    /** @todo AMD OS visible workaround. */
     
    35013505
    35023506/** @callback_method_impl{FNCPUMRDMSR} */
    3503 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hOsVisWrkStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3507static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hOsVisWrkStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35043508{
    35053509    /** @todo AMD OS visible workaround. */
     
    35103514
    35113515/** @callback_method_impl{FNCPUMWRMSR} */
    3512 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hOsVisWrkStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3516static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hOsVisWrkStatus(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    35133517{
    35143518    /** @todo AMD OS visible workaround. */
     
    35183522
    35193523/** @callback_method_impl{FNCPUMRDMSR} */
    3520 static DECLCALLBACK(int) cpumMsrRd_AmdFam16hL2IPerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3524static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam16hL2IPerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35213525{
    35223526    /** @todo AMD L2I performance counters. */
     
    35273531
    35283532/** @callback_method_impl{FNCPUMWRMSR} */
    3529 static DECLCALLBACK(int) cpumMsrWr_AmdFam16hL2IPerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3533static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam16hL2IPerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    35303534{
    35313535    /** @todo AMD L2I performance counters. */
     
    35353539
    35363540/** @callback_method_impl{FNCPUMRDMSR} */
    3537 static DECLCALLBACK(int) cpumMsrRd_AmdFam16hL2IPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3541static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam16hL2IPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35383542{
    35393543    /** @todo AMD L2I performance counters. */
     
    35443548
    35453549/** @callback_method_impl{FNCPUMWRMSR} */
    3546 static DECLCALLBACK(int) cpumMsrWr_AmdFam16hL2IPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3550static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam16hL2IPerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    35473551{
    35483552    /** @todo AMD L2I performance counters. */
     
    35523556
    35533557/** @callback_method_impl{FNCPUMRDMSR} */
    3554 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hNorthbridgePerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3558static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hNorthbridgePerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35553559{
    35563560    /** @todo AMD Northbridge performance counters. */
     
    35613565
    35623566/** @callback_method_impl{FNCPUMWRMSR} */
    3563 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hNorthbridgePerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3567static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hNorthbridgePerfCtlN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    35643568{
    35653569    /** @todo AMD Northbridge performance counters. */
     
    35693573
    35703574/** @callback_method_impl{FNCPUMRDMSR} */
    3571 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hNorthbridgePerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3575static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hNorthbridgePerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35723576{
    35733577    /** @todo AMD Northbridge performance counters. */
     
    35783582
    35793583/** @callback_method_impl{FNCPUMWRMSR} */
    3580 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hNorthbridgePerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3584static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hNorthbridgePerfCtrN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    35813585{
    35823586    /** @todo AMD Northbridge performance counters. */
     
    35863590
    35873591/** @callback_method_impl{FNCPUMRDMSR} */
    3588 static DECLCALLBACK(int) cpumMsrRd_AmdK7MicrocodeCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3592static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7MicrocodeCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    35893593{
    35903594    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    35973601
    35983602/** @callback_method_impl{FNCPUMWRMSR} */
    3599 static DECLCALLBACK(int) cpumMsrWr_AmdK7MicrocodeCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3603static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7MicrocodeCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    36003604{
    36013605    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    36073611
    36083612/** @callback_method_impl{FNCPUMRDMSR} */
    3609 static DECLCALLBACK(int) cpumMsrRd_AmdK7ClusterIdMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3613static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7ClusterIdMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    36103614{
    36113615    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    36193623
    36203624/** @callback_method_impl{FNCPUMWRMSR} */
    3621 static DECLCALLBACK(int) cpumMsrWr_AmdK7ClusterIdMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3625static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7ClusterIdMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    36223626{
    36233627    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    36303634
    36313635/** @callback_method_impl{FNCPUMRDMSR} */
    3632 static DECLCALLBACK(int) cpumMsrRd_AmdK8CpuIdCtlStd07hEbax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3636static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8CpuIdCtlStd07hEbax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    36333637{
    36343638    PCPUMCPUIDLEAF pLeaf = cpumCpuIdGetLeaf(pVCpu->CTX_SUFF(pVM), 0x00000007, 0);
     
    36423646
    36433647/** @callback_method_impl{FNCPUMWRMSR} */
    3644 static DECLCALLBACK(int) cpumMsrWr_AmdK8CpuIdCtlStd07hEbax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3648static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8CpuIdCtlStd07hEbax(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    36453649{
    36463650    /** @todo Changing CPUID leaf 7/0. */
     
    36503654
    36513655/** @callback_method_impl{FNCPUMRDMSR} */
    3652 static DECLCALLBACK(int) cpumMsrRd_AmdK8CpuIdCtlStd06hEcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3656static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8CpuIdCtlStd06hEcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    36533657{
    36543658    PCPUMCPUIDLEAF pLeaf = cpumCpuIdGetLeaf(pVCpu->CTX_SUFF(pVM), 0x00000006, 0);
     
    36623666
    36633667/** @callback_method_impl{FNCPUMWRMSR} */
    3664 static DECLCALLBACK(int) cpumMsrWr_AmdK8CpuIdCtlStd06hEcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3668static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8CpuIdCtlStd06hEcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    36653669{
    36663670    /** @todo Changing CPUID leaf 6. */
     
    36703674
    36713675/** @callback_method_impl{FNCPUMRDMSR} */
    3672 static DECLCALLBACK(int) cpumMsrRd_AmdK8CpuIdCtlStd01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3676static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8CpuIdCtlStd01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    36733677{
    36743678    PCPUMCPUIDLEAF pLeaf = cpumCpuIdGetLeaf(pVCpu->CTX_SUFF(pVM), 0x00000001, 0);
     
    36823686
    36833687/** @callback_method_impl{FNCPUMWRMSR} */
    3684 static DECLCALLBACK(int) cpumMsrWr_AmdK8CpuIdCtlStd01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3688static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8CpuIdCtlStd01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    36853689{
    36863690    /** @todo Changing CPUID leaf 0x80000001. */
     
    36903694
    36913695/** @callback_method_impl{FNCPUMRDMSR} */
    3692 static DECLCALLBACK(int) cpumMsrRd_AmdK8CpuIdCtlExt01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3696static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8CpuIdCtlExt01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    36933697{
    36943698    PCPUMCPUIDLEAF pLeaf = cpumCpuIdGetLeaf(pVCpu->CTX_SUFF(pVM), 0x80000001, 0);
     
    37023706
    37033707/** @callback_method_impl{FNCPUMWRMSR} */
    3704 static DECLCALLBACK(int) cpumMsrWr_AmdK8CpuIdCtlExt01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3708static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8CpuIdCtlExt01hEdcx(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    37053709{
    37063710    /** @todo Changing CPUID leaf 0x80000001. */
     
    37103714
    37113715/** @callback_method_impl{FNCPUMRDMSR} */
    3712 static DECLCALLBACK(int) cpumMsrRd_AmdK8PatchLevel(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3716static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK8PatchLevel(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    37133717{
    37143718    /** @todo Fake AMD microcode patching.  */
     
    37193723
    37203724/** @callback_method_impl{FNCPUMWRMSR} */
    3721 static DECLCALLBACK(int) cpumMsrWr_AmdK8PatchLoader(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3725static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK8PatchLoader(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    37223726{
    37233727    /** @todo Fake AMD microcode patching.  */
     
    37273731
    37283732/** @callback_method_impl{FNCPUMRDMSR} */
    3729 static DECLCALLBACK(int) cpumMsrRd_AmdK7DebugStatusMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3733static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7DebugStatusMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    37303734{
    37313735    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37383742
    37393743/** @callback_method_impl{FNCPUMWRMSR} */
    3740 static DECLCALLBACK(int) cpumMsrWr_AmdK7DebugStatusMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3744static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7DebugStatusMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    37413745{
    37423746    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37483752
    37493753/** @callback_method_impl{FNCPUMRDMSR} */
    3750 static DECLCALLBACK(int) cpumMsrRd_AmdK7BHTraceBaseMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3754static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7BHTraceBaseMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    37513755{
    37523756    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37593763
    37603764/** @callback_method_impl{FNCPUMWRMSR} */
    3761 static DECLCALLBACK(int) cpumMsrWr_AmdK7BHTraceBaseMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3765static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7BHTraceBaseMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    37623766{
    37633767    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37693773
    37703774/** @callback_method_impl{FNCPUMRDMSR} */
    3771 static DECLCALLBACK(int) cpumMsrRd_AmdK7BHTracePtrMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3775static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7BHTracePtrMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    37723776{
    37733777    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37803784
    37813785/** @callback_method_impl{FNCPUMWRMSR} */
    3782 static DECLCALLBACK(int) cpumMsrWr_AmdK7BHTracePtrMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3786static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7BHTracePtrMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    37833787{
    37843788    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    37903794
    37913795/** @callback_method_impl{FNCPUMRDMSR} */
    3792 static DECLCALLBACK(int) cpumMsrRd_AmdK7BHTraceLimitMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3796static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7BHTraceLimitMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    37933797{
    37943798    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38013805
    38023806/** @callback_method_impl{FNCPUMWRMSR} */
    3803 static DECLCALLBACK(int) cpumMsrWr_AmdK7BHTraceLimitMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3807static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7BHTraceLimitMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    38043808{
    38053809    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38113815
    38123816/** @callback_method_impl{FNCPUMRDMSR} */
    3813 static DECLCALLBACK(int) cpumMsrRd_AmdK7HardwareDebugToolCfgMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3817static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7HardwareDebugToolCfgMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    38143818{
    38153819    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38223826
    38233827/** @callback_method_impl{FNCPUMWRMSR} */
    3824 static DECLCALLBACK(int) cpumMsrWr_AmdK7HardwareDebugToolCfgMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3828static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7HardwareDebugToolCfgMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    38253829{
    38263830    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38323836
    38333837/** @callback_method_impl{FNCPUMRDMSR} */
    3834 static DECLCALLBACK(int) cpumMsrRd_AmdK7FastFlushCountMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3838static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7FastFlushCountMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    38353839{
    38363840    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38433847
    38443848/** @callback_method_impl{FNCPUMWRMSR} */
    3845 static DECLCALLBACK(int) cpumMsrWr_AmdK7FastFlushCountMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3849static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7FastFlushCountMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    38463850{
    38473851    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38533857
    38543858/** @callback_method_impl{FNCPUMRDMSR} */
    3855 static DECLCALLBACK(int) cpumMsrRd_AmdK7NodeId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3859static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7NodeId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    38563860{
    38573861    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38643868
    38653869/** @callback_method_impl{FNCPUMWRMSR} */
    3866 static DECLCALLBACK(int) cpumMsrWr_AmdK7NodeId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3870static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7NodeId(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    38673871{
    38683872    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38743878
    38753879/** @callback_method_impl{FNCPUMRDMSR} */
    3876 static DECLCALLBACK(int) cpumMsrRd_AmdK7DrXAddrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3880static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7DrXAddrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    38773881{
    38783882    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38853889
    38863890/** @callback_method_impl{FNCPUMWRMSR} */
    3887 static DECLCALLBACK(int) cpumMsrWr_AmdK7DrXAddrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3891static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7DrXAddrMaskN(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    38883892{
    38893893    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    38953899
    38963900/** @callback_method_impl{FNCPUMRDMSR} */
    3897 static DECLCALLBACK(int) cpumMsrRd_AmdK7Dr0DataMatchMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3901static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7Dr0DataMatchMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    38983902{
    38993903    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39063910
    39073911/** @callback_method_impl{FNCPUMWRMSR} */
    3908 static DECLCALLBACK(int) cpumMsrWr_AmdK7Dr0DataMatchMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3912static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7Dr0DataMatchMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    39093913{
    39103914    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39163920
    39173921/** @callback_method_impl{FNCPUMRDMSR} */
    3918 static DECLCALLBACK(int) cpumMsrRd_AmdK7Dr0DataMaskMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3922static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7Dr0DataMaskMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    39193923{
    39203924    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39273931
    39283932/** @callback_method_impl{FNCPUMWRMSR} */
    3929 static DECLCALLBACK(int) cpumMsrWr_AmdK7Dr0DataMaskMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3933static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7Dr0DataMaskMaybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    39303934{
    39313935    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39373941
    39383942/** @callback_method_impl{FNCPUMRDMSR} */
    3939 static DECLCALLBACK(int) cpumMsrRd_AmdK7LoadStoreCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3943static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7LoadStoreCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    39403944{
    39413945    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39483952
    39493953/** @callback_method_impl{FNCPUMWRMSR} */
    3950 static DECLCALLBACK(int) cpumMsrWr_AmdK7LoadStoreCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3954static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7LoadStoreCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    39513955{
    39523956    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39583962
    39593963/** @callback_method_impl{FNCPUMRDMSR} */
    3960 static DECLCALLBACK(int) cpumMsrRd_AmdK7InstrCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3964static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7InstrCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    39613965{
    39623966    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39693973
    39703974/** @callback_method_impl{FNCPUMWRMSR} */
    3971 static DECLCALLBACK(int) cpumMsrWr_AmdK7InstrCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3975static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7InstrCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    39723976{
    39733977    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39793983
    39803984/** @callback_method_impl{FNCPUMRDMSR} */
    3981 static DECLCALLBACK(int) cpumMsrRd_AmdK7DataCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     3985static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7DataCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    39823986{
    39833987    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    39903994
    39913995/** @callback_method_impl{FNCPUMWRMSR} */
    3992 static DECLCALLBACK(int) cpumMsrWr_AmdK7DataCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     3996static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7DataCacheCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    39933997{
    39943998    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    40004004
    40014005/** @callback_method_impl{FNCPUMRDMSR} */
    4002 static DECLCALLBACK(int) cpumMsrRd_AmdK7BusUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4006static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7BusUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40034007{
    40044008    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    40114015
    40124016/** @callback_method_impl{FNCPUMWRMSR} */
    4013 static DECLCALLBACK(int) cpumMsrWr_AmdK7BusUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4017static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7BusUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    40144018{
    40154019    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    40214025
    40224026/** @callback_method_impl{FNCPUMRDMSR} */
    4023 static DECLCALLBACK(int) cpumMsrRd_AmdK7DebugCtl2Maybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4027static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdK7DebugCtl2Maybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40244028{
    40254029    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    40324036
    40334037/** @callback_method_impl{FNCPUMWRMSR} */
    4034 static DECLCALLBACK(int) cpumMsrWr_AmdK7DebugCtl2Maybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4038static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdK7DebugCtl2Maybe(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    40354039{
    40364040    /** @todo Allegedly requiring edi=0x9c5a203a when execuing rdmsr/wrmsr on older
     
    40424046
    40434047/** @callback_method_impl{FNCPUMRDMSR} */
    4044 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hFpuCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4048static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hFpuCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40454049{
    40464050    /** @todo AMD FPU config. */
     
    40514055
    40524056/** @callback_method_impl{FNCPUMWRMSR} */
    4053 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hFpuCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4057static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hFpuCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    40544058{
    40554059    /** @todo AMD FPU config. */
     
    40594063
    40604064/** @callback_method_impl{FNCPUMRDMSR} */
    4061 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hDecoderCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4065static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hDecoderCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40624066{
    40634067    /** @todo AMD decoder config. */
     
    40684072
    40694073/** @callback_method_impl{FNCPUMWRMSR} */
    4070 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hDecoderCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4074static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hDecoderCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    40714075{
    40724076    /** @todo AMD decoder config. */
     
    40764080
    40774081/** @callback_method_impl{FNCPUMRDMSR} */
    4078 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hBusUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4082static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hBusUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40794083{
    40804084    /* Note! 10h and 16h */
     
    40864090
    40874091/** @callback_method_impl{FNCPUMWRMSR} */
    4088 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hBusUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4092static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hBusUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    40894093{
    40904094    /* Note! 10h and 16h */
     
    40954099
    40964100/** @callback_method_impl{FNCPUMRDMSR} */
    4097 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hCombUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4101static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hCombUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    40984102{
    40994103    /** @todo AMD unit config. */
     
    41044108
    41054109/** @callback_method_impl{FNCPUMWRMSR} */
    4106 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hCombUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4110static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hCombUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41074111{
    41084112    /** @todo AMD unit config. */
     
    41124116
    41134117/** @callback_method_impl{FNCPUMRDMSR} */
    4114 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hCombUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4118static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hCombUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    41154119{
    41164120    /** @todo AMD unit config 2. */
     
    41214125
    41224126/** @callback_method_impl{FNCPUMWRMSR} */
    4123 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hCombUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4127static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hCombUnitCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41244128{
    41254129    /** @todo AMD unit config 2. */
     
    41294133
    41304134/** @callback_method_impl{FNCPUMRDMSR} */
    4131 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hCombUnitCfg3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4135static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hCombUnitCfg3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    41324136{
    41334137    /** @todo AMD combined unit config 3. */
     
    41384142
    41394143/** @callback_method_impl{FNCPUMWRMSR} */
    4140 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hCombUnitCfg3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4144static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hCombUnitCfg3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41414145{
    41424146    /** @todo AMD combined unit config 3. */
     
    41464150
    41474151/** @callback_method_impl{FNCPUMRDMSR} */
    4148 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hExecUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4152static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hExecUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    41494153{
    41504154    /** @todo AMD execution unit config. */
     
    41554159
    41564160/** @callback_method_impl{FNCPUMWRMSR} */
    4157 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hExecUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4161static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hExecUnitCfg(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41584162{
    41594163    /** @todo AMD execution unit config. */
     
    41634167
    41644168/** @callback_method_impl{FNCPUMRDMSR} */
    4165 static DECLCALLBACK(int) cpumMsrRd_AmdFam15hLoadStoreCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4169static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam15hLoadStoreCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    41664170{
    41674171    /** @todo AMD load-store config 2. */
     
    41724176
    41734177/** @callback_method_impl{FNCPUMWRMSR} */
    4174 static DECLCALLBACK(int) cpumMsrWr_AmdFam15hLoadStoreCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4178static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam15hLoadStoreCfg2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41754179{
    41764180    /** @todo AMD load-store config 2. */
     
    41804184
    41814185/** @callback_method_impl{FNCPUMRDMSR} */
    4182 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsFetchCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4186static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsFetchCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    41834187{
    41844188    /** @todo AMD IBS. */
     
    41894193
    41904194/** @callback_method_impl{FNCPUMWRMSR} */
    4191 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsFetchCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4195static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsFetchCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    41924196{
    41934197    /** @todo AMD IBS. */
     
    41974201
    41984202/** @callback_method_impl{FNCPUMRDMSR} */
    4199 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsFetchLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4203static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsFetchLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42004204{
    42014205    /** @todo AMD IBS. */
     
    42064210
    42074211/** @callback_method_impl{FNCPUMWRMSR} */
    4208 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsFetchLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4212static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsFetchLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42094213{
    42104214    /** @todo AMD IBS. */
     
    42144218
    42154219/** @callback_method_impl{FNCPUMRDMSR} */
    4216 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsFetchPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4220static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsFetchPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42174221{
    42184222    /** @todo AMD IBS. */
     
    42234227
    42244228/** @callback_method_impl{FNCPUMWRMSR} */
    4225 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsFetchPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4229static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsFetchPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42264230{
    42274231    /** @todo AMD IBS. */
     
    42314235
    42324236/** @callback_method_impl{FNCPUMRDMSR} */
    4233 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsOpExecCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4237static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsOpExecCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42344238{
    42354239    /** @todo AMD IBS. */
     
    42404244
    42414245/** @callback_method_impl{FNCPUMWRMSR} */
    4242 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsOpExecCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4246static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsOpExecCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42434247{
    42444248    /** @todo AMD IBS. */
     
    42484252
    42494253/** @callback_method_impl{FNCPUMRDMSR} */
    4250 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsOpRip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4254static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsOpRip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42514255{
    42524256    /** @todo AMD IBS. */
     
    42574261
    42584262/** @callback_method_impl{FNCPUMWRMSR} */
    4259 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsOpRip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4263static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsOpRip(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42604264{
    42614265    /** @todo AMD IBS. */
     
    42704274
    42714275/** @callback_method_impl{FNCPUMRDMSR} */
    4272 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsOpData(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4276static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsOpData(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42734277{
    42744278    /** @todo AMD IBS. */
     
    42794283
    42804284/** @callback_method_impl{FNCPUMWRMSR} */
    4281 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsOpData(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4285static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsOpData(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42824286{
    42834287    /** @todo AMD IBS. */
     
    42874291
    42884292/** @callback_method_impl{FNCPUMRDMSR} */
    4289 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsOpData2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4293static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsOpData2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    42904294{
    42914295    /** @todo AMD IBS. */
     
    42964300
    42974301/** @callback_method_impl{FNCPUMWRMSR} */
    4298 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsOpData2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4302static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsOpData2(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    42994303{
    43004304    /** @todo AMD IBS. */
     
    43044308
    43054309/** @callback_method_impl{FNCPUMRDMSR} */
    4306 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsOpData3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4310static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsOpData3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    43074311{
    43084312    /** @todo AMD IBS. */
     
    43134317
    43144318/** @callback_method_impl{FNCPUMWRMSR} */
    4315 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsOpData3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4319static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsOpData3(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    43164320{
    43174321    /** @todo AMD IBS. */
     
    43214325
    43224326/** @callback_method_impl{FNCPUMRDMSR} */
    4323 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsDcLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4327static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsDcLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    43244328{
    43254329    /** @todo AMD IBS. */
     
    43304334
    43314335/** @callback_method_impl{FNCPUMWRMSR} */
    4332 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsDcLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4336static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsDcLinAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    43334337{
    43344338    /** @todo AMD IBS. */
     
    43434347
    43444348/** @callback_method_impl{FNCPUMRDMSR} */
    4345 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsDcPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4349static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsDcPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    43464350{
    43474351    /** @todo AMD IBS. */
     
    43524356
    43534357/** @callback_method_impl{FNCPUMWRMSR} */
    4354 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsDcPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4358static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsDcPhysAddr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    43554359{
    43564360    /** @todo AMD IBS. */
     
    43604364
    43614365/** @callback_method_impl{FNCPUMRDMSR} */
    4362 static DECLCALLBACK(int) cpumMsrRd_AmdFam10hIbsCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4366static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam10hIbsCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    43634367{
    43644368    /** @todo AMD IBS. */
     
    43694373
    43704374/** @callback_method_impl{FNCPUMWRMSR} */
    4371 static DECLCALLBACK(int) cpumMsrWr_AmdFam10hIbsCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4375static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam10hIbsCtl(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    43724376{
    43734377    /** @todo AMD IBS. */
     
    43774381
    43784382/** @callback_method_impl{FNCPUMRDMSR} */
    4379 static DECLCALLBACK(int) cpumMsrRd_AmdFam14hIbsBrTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4383static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_AmdFam14hIbsBrTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    43804384{
    43814385    /** @todo AMD IBS. */
     
    43864390
    43874391/** @callback_method_impl{FNCPUMWRMSR} */
    4388 static DECLCALLBACK(int) cpumMsrWr_AmdFam14hIbsBrTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4392static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_AmdFam14hIbsBrTarget(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    43894393{
    43904394    /** @todo AMD IBS. */
     
    44074411
    44084412/** @callback_method_impl{FNCPUMRDMSR} */
    4409 static DECLCALLBACK(int) cpumMsrRd_Gim(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     4413static DECLCALLBACK(VBOXSTRICTRC) cpumMsrRd_Gim(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    44104414{
    44114415    return GIMReadMsr(pVCpu, idMsr, pRange, puValue);
     
    44144418
    44154419/** @callback_method_impl{FNCPUMWRMSR} */
    4416 static DECLCALLBACK(int) cpumMsrWr_Gim(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     4420static DECLCALLBACK(VBOXSTRICTRC) cpumMsrWr_Gim(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    44174421{
    44184422    return GIMWriteMsr(pVCpu, idMsr, pRange, uValue, uRawValue);
     
    49714975 *
    49724976 * @retval  VINF_SUCCESS on success.
     4977 * @retval  VINF_CPUM_R3_MSR_READ if the MSR read could not be serviced in the
     4978 *          current context (raw-mode or ring-0).
    49734979 * @retval  VERR_CPUM_RAISE_GP_0 on failure (invalid MSR), the caller is
    49744980 *          expected to take the appropriate actions. @a *puValue is set to 0.
     
    49804986 *          recompiler.
    49814987 */
    4982 VMMDECL(int) CPUMQueryGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t *puValue)
    4983 {
    4984     *puValue = 0;
    4985 
    4986     int             rc;
     4988VMMDECL(VBOXSTRICTRC) CPUMQueryGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t *puValue)
     4989{
     4990    *puValue = 0;
     4991
     4992    VBOXSTRICTRC    rcStrict;
    49874993    PVM             pVM    = pVCpu->CTX_SUFF(pVM);
    49884994    PCPUMMSRRANGE   pRange = cpumLookupMsrRange(pVM, idMsr);
     
    49985004        STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrReads);
    49995005
    5000         rc = pfnRdMsr(pVCpu, idMsr, pRange, puValue);
    5001         if (RT_SUCCESS(rc))
    5002         {
     5006        rcStrict = pfnRdMsr(pVCpu, idMsr, pRange, puValue);
     5007        if (rcStrict == VINF_SUCCESS)
    50035008            Log2(("CPUM: RDMSR %#x (%s) -> %#llx\n", idMsr, pRange->szName, *puValue));
    5004             AssertMsg(rc == VINF_SUCCESS, ("%Rrc idMsr=%#x\n", rc, idMsr));
    5005         }
    5006         else if (rc == VERR_CPUM_RAISE_GP_0)
     5009        else if (rcStrict == VERR_CPUM_RAISE_GP_0)
    50075010        {
    50085011            Log(("CPUM: RDMSR %#x (%s) -> #GP(0)\n", idMsr, pRange->szName));
     
    50105013            STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrReadsRaiseGp);
    50115014        }
     5015#ifndef IN_RING3
     5016        else if (rcStrict == VINF_CPUM_R3_MSR_READ)
     5017            Log(("CPUM: RDMSR %#x (%s) -> ring-3\n", idMsr, pRange->szName));
     5018#endif
    50125019        else
    5013             Log(("CPUM: RDMSR %#x (%s) -> rc=%Rrc\n", idMsr, pRange->szName, rc));
     5020        {
     5021            Log(("CPUM: RDMSR %#x (%s) -> rcStrict=%Rrc\n", idMsr, pRange->szName, VBOXSTRICTRC_VAL(rcStrict)));
     5022            AssertMsgStmt(RT_FAILURE_NP(rcStrict), ("%Rrc idMsr=%#x\n", VBOXSTRICTRC_VAL(rcStrict), idMsr),
     5023                          rcStrict = VERR_IPE_UNEXPECTED_INFO_STATUS);
     5024            Assert(rcStrict != VERR_EM_INTERPRETER);
     5025        }
    50145026    }
    50155027    else
     
    50185030        STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrReads);
    50195031        STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrReadsUnknown);
    5020         rc = VERR_CPUM_RAISE_GP_0;
     5032        rcStrict = VERR_CPUM_RAISE_GP_0;
    50215033    }
    5022     return rc;
     5034    return rcStrict;
    50235035}
    50245036
     
    50315043 *
    50325044 * @retval  VINF_SUCCESS on success.
     5045 * @retval  VINF_CPUM_R3_MSR_WRITE if the MSR write could not be serviced in the
     5046 *          current context (raw-mode or ring-0).
    50335047 * @retval  VERR_CPUM_RAISE_GP_0 on failure, the caller is expected to take the
    50345048 *          appropriate actions.
     
    50465060 *          this.
    50475061 */
    5048 VMMDECL(int) CPUMSetGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t uValue)
    5049 {
    5050     int             rc;
     5062VMMDECL(VBOXSTRICTRC) CPUMSetGuestMsr(PVMCPU pVCpu, uint32_t idMsr, uint64_t uValue)
     5063{
     5064    VBOXSTRICTRC    rcStrict;
    50515065    PVM             pVM    = pVCpu->CTX_SUFF(pVM);
    50525066    PCPUMMSRRANGE   pRange = cpumLookupMsrRange(pVM, idMsr);
     
    50715085            }
    50725086
    5073             rc = pfnWrMsr(pVCpu, idMsr, pRange, uValueAdjusted, uValue);
    5074             if (RT_SUCCESS(rc))
    5075             {
     5087            rcStrict = pfnWrMsr(pVCpu, idMsr, pRange, uValueAdjusted, uValue);
     5088            if (rcStrict == VINF_SUCCESS)
    50765089                Log2(("CPUM: WRMSR %#x (%s), %#llx [%#llx]\n", idMsr, pRange->szName, uValueAdjusted, uValue));
    5077                 AssertMsg(rc == VINF_SUCCESS, ("%Rrc idMsr=%#x\n", rc, idMsr));
    5078             }
    5079             else if (rc == VERR_CPUM_RAISE_GP_0)
     5090            else if (rcStrict == VERR_CPUM_RAISE_GP_0)
    50805091            {
    50815092                Log(("CPUM: WRMSR %#x (%s), %#llx [%#llx] -> #GP(0)\n", idMsr, pRange->szName, uValueAdjusted, uValue));
     
    50835094                STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrWritesRaiseGp);
    50845095            }
     5096#ifndef IN_RING3
     5097            else if (rcStrict == VINF_CPUM_R3_MSR_WRITE)
     5098                Log(("CPUM: WRMSR %#x (%s), %#llx [%#llx] -> ring-3\n", idMsr, pRange->szName, uValueAdjusted, uValue));
     5099#endif
    50855100            else
    5086                 Log(("CPUM: WRMSR %#x (%s), %#llx [%#llx] -> rc=%Rrc\n", idMsr, pRange->szName, uValueAdjusted, uValue, rc));
     5101            {
     5102                Log(("CPUM: WRMSR %#x (%s), %#llx [%#llx] -> rcStrict=%Rrc\n",
     5103                     idMsr, pRange->szName, uValueAdjusted, uValue, VBOXSTRICTRC_VAL(rcStrict)));
     5104                AssertMsgStmt(RT_FAILURE_NP(rcStrict), ("%Rrc idMsr=%#x\n", VBOXSTRICTRC_VAL(rcStrict), idMsr),
     5105                              rcStrict = VERR_IPE_UNEXPECTED_INFO_STATUS);
     5106                Assert(rcStrict != VERR_EM_INTERPRETER);
     5107            }
    50875108        }
    50885109        else
     
    50925113            STAM_COUNTER_INC(&pRange->cGps);
    50935114            STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrWritesRaiseGp);
    5094             rc = VERR_CPUM_RAISE_GP_0;
     5115            rcStrict = VERR_CPUM_RAISE_GP_0;
    50955116        }
    50965117    }
     
    51005121        STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrWrites);
    51015122        STAM_REL_COUNTER_INC(&pVM->cpum.s.cMsrWritesUnknown);
    5102         rc = VERR_CPUM_RAISE_GP_0;
     5123        rcStrict = VERR_CPUM_RAISE_GP_0;
    51035124    }
    5104     return rc;
     5125    return rcStrict;
    51055126}
    51065127
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r53101 r53466  
    12921292#endif
    12931293    /* Low dword of the TSC_AUX msr only. */
    1294     CPUMQueryGuestMsr(pVCpu, MSR_K8_TSC_AUX, &pCtx->rcx);
     1294    VBOXSTRICTRC rc2 = CPUMQueryGuestMsr(pVCpu, MSR_K8_TSC_AUX, &pCtx->rcx); Assert(rc2 == VINF_SUCCESS);
    12951295    pCtx->rcx &= UINT32_C(0xffffffff);
    12961296
     
    17461746
    17471747    uint64_t uValue;
    1748     int rc = CPUMQueryGuestMsr(pVCpu, pRegFrame->ecx, &uValue);
    1749     if (RT_UNLIKELY(rc != VINF_SUCCESS))
    1750     {
    1751         Assert(rc == VERR_CPUM_RAISE_GP_0 || rc == VERR_EM_INTERPRETER);
    1752         Log4(("EM: Refuse RDMSR: rc=%Rrc\n", rc));
     1748    VBOXSTRICTRC rcStrict = CPUMQueryGuestMsr(pVCpu, pRegFrame->ecx, &uValue);
     1749    if (RT_UNLIKELY(rcStrict != VINF_SUCCESS))
     1750    {
     1751        Log4(("EM: Refuse RDMSR: rc=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
     1752        Assert(rcStrict == VERR_CPUM_RAISE_GP_0 || rcStrict == VERR_EM_INTERPRETER || rcStrict == VINF_CPUM_R3_MSR_READ);
    17531753        return VERR_EM_INTERPRETER;
    17541754    }
     
    17561756    pRegFrame->rdx = (uint32_t)(uValue >> 32);
    17571757    LogFlow(("EMInterpretRdmsr %s (%x) -> %RX64\n", emMSRtoString(pRegFrame->ecx), pRegFrame->ecx, uValue));
    1758     return rc;
     1758    return VINF_SUCCESS;
    17591759}
    17601760
     
    17791779    }
    17801780
    1781     int rc = CPUMSetGuestMsr(pVCpu, pRegFrame->ecx, RT_MAKE_U64(pRegFrame->eax, pRegFrame->edx));
    1782     if (rc != VINF_SUCCESS)
    1783     {
    1784         Assert(rc == VERR_CPUM_RAISE_GP_0 || rc == VERR_EM_INTERPRETER);
    1785         Log4(("EM: Refuse WRMSR: CPUMSetGuestMsr returned %Rrc\n", rc));
     1781    VBOXSTRICTRC rcStrict = CPUMSetGuestMsr(pVCpu, pRegFrame->ecx, RT_MAKE_U64(pRegFrame->eax, pRegFrame->edx));
     1782    if (rcStrict != VINF_SUCCESS)
     1783    {
     1784        Log4(("EM: Refuse WRMSR: CPUMSetGuestMsr returned %Rrc\n",  VBOXSTRICTRC_VAL(rcStrict)));
     1785        Assert(rcStrict == VERR_CPUM_RAISE_GP_0 || rcStrict == VERR_EM_INTERPRETER || rcStrict == VINF_CPUM_R3_MSR_WRITE);
    17861786        return VERR_EM_INTERPRETER;
    17871787    }
     
    17891789             RT_MAKE_U64(pRegFrame->eax, pRegFrame->edx)));
    17901790    NOREF(pVM);
    1791     return rc;
     1791    return VINF_SUCCESS;
    17921792}
    17931793
  • trunk/src/VBox/VMM/VMMAll/GIMAll.cpp

    r52768 r53466  
    133133 * Invokes the read-MSR handler for the GIM provider configured for the VM.
    134134 *
    135  * @returns VBox status code.
     135 * @returns Strict VBox status code like CPUMQueryGuestMsr.
     136 * @retval  VINF_CPUM_R3_MSR_READ
     137 * @retval  VERR_CPUM_RAISE_GP_0
     138 *
    136139 * @param   pVCpu       Pointer to the VMCPU.
    137140 * @param   idMsr       The MSR to read.
     
    139142 * @param   puValue     Where to store the MSR value read.
    140143 */
    141 VMM_INT_DECL(int) GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     144VMM_INT_DECL(VBOXSTRICTRC) GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    142145{
    143146    Assert(pVCpu);
     
    161164 * Invokes the write-MSR handler for the GIM provider configured for the VM.
    162165 *
    163  * @returns VBox status code.
     166 * @returns Strict VBox status code like CPUMSetGuestMsr.
     167 * @retval  VINF_CPUM_R3_MSR_WRITE
     168 * @retval  VERR_CPUM_RAISE_GP_0
     169 *
    164170 * @param   pVCpu       Pointer to the VMCPU.
    165171 * @param   idMsr       The MSR to write.
     
    168174 * @param   uRawValue   The raw value with the ignored bits not masked.
    169175 */
    170 VMM_INT_DECL(int) GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
     176VMM_INT_DECL(VBOXSTRICTRC) GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue)
    171177{
    172178    AssertPtr(pVCpu);
  • trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp

    r52671 r53466  
    8282 * MSR read handler for Hyper-V.
    8383 *
    84  * @returns VBox status code.
     84 * @returns Strict VBox status code like CPUMQueryGuestMsr.
     85 * @retval  VINF_CPUM_R3_MSR_READ
     86 * @retval  VERR_CPUM_RAISE_GP_0
     87 *
    8588 * @param   pVCpu       Pointer to the VMCPU.
    8689 * @param   idMsr       The MSR being read.
     
    8891 * @param   puValue     Where to store the MSR value read.
    8992 */
    90 VMM_INT_DECL(int) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
     93VMM_INT_DECL(VBOXSTRICTRC) GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue)
    9194{
    9295    NOREF(pRange);
     
    167170 * MSR write handler for Hyper-V.
    168171 *
    169  * @returns VBox status code.
     172 * @returns Strict VBox status code like CPUMSetGuestMsr.
     173 * @retval  VINF_CPUM_R3_MSR_WRITE
     174 * @retval  VERR_CPUM_RAISE_GP_0
     175 *
    170176 * @param   pVCpu       Pointer to the VMCPU.
    171177 * @param   idMsr       The MSR being written.
     
    173179 * @param   uRawValue   The raw value with the ignored bits not masked.
    174180 */
    175 VMM_INT_DECL(int) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue)
     181VMM_INT_DECL(VBOXSTRICTRC) GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue)
    176182{
    177183    NOREF(pRange);
     
    196202        {
    197203#ifndef IN_RING3
    198             return VERR_EM_INTERPRETER;
     204            return VINF_CPUM_R3_MSR_WRITE;
    199205#else
    200206            /* Disable the hypercall-page if 0 is written to this MSR. */
     
    206212            pHv->u64GuestOsIdMsr = uRawValue;
    207213            return VINF_SUCCESS;
    208 #endif  /* !IN_RING3 */
     214#endif /* IN_RING3 */
    209215        }
    210216
     
    212218        {
    213219#ifndef IN_RING3
    214             return VERR_EM_INTERPRETER;
    215 #else   /* IN_RING3 */
     220            return VINF_CPUM_R3_MSR_WRITE;
     221#else  /* IN_RING3 */
    216222            /* First, update all but the hypercall enable bit. */
    217223            pHv->u64HypercallMsr = (uRawValue & ~MSR_GIM_HV_HYPERCALL_ENABLE_BIT);
     
    243249
    244250            return VERR_CPUM_RAISE_GP_0;
    245 #endif  /* !IN_RING3 */
     251#endif /* IN_RING3 */
    246252        }
    247253
     
    249255        {
    250256#ifndef IN_RING3
    251             return VERR_EM_INTERPRETER;
    252 #else   /* IN_RING3 */
     257            return VINF_CPUM_R3_MSR_WRITE;
     258#else  /* IN_RING3 */
    253259            /* First, update all but the TSC-page enable bit. */
    254260            pHv->u64TscPageMsr = (uRawValue & ~MSR_GIM_HV_REF_TSC_ENABLE_BIT);
     
    273279
    274280            return VERR_CPUM_RAISE_GP_0;
    275 #endif  /* !IN_RING3 */
     281#endif /* IN_RING3 */
    276282        }
    277283
     
    279285        {
    280286#ifndef IN_RING3
    281             return VERR_EM_INTERPRETER;
     287            return VINF_CPUM_R3_MSR_WRITE;
    282288#else
    283289            if (MSR_GIM_HV_RESET_IS_SET(uRawValue))
     
    289295            /* else: Ignore writes to other bits. */
    290296            return VINF_SUCCESS;
    291 #endif  /* !IN_RING3 */
     297#endif /* IN_RING3 */
    292298        }
    293299
  • trunk/src/VBox/VMM/VMMAll/IEMAll.cpp

    r53188 r53466  
    1015810158        || rc == VINF_IOM_R3_MMIO_READ_WRITE
    1015910159        || rc == VINF_IOM_R3_MMIO_WRITE
     10160        || rc == VINF_CPUM_R3_MSR_READ
     10161        || rc == VINF_CPUM_R3_MSR_WRITE
    1016010162        || rc == VINF_EM_RESCHEDULE
    1016110163        )
     
    1056110563                      || rcStrict == VINF_IOM_R3_MMIO_READ_WRITE
    1056210564                      || rcStrict == VINF_IOM_R3_MMIO_WRITE
     10565                      || rcStrict == VINF_CPUM_R3_MSR_READ
     10566                      || rcStrict == VINF_CPUM_R3_MSR_WRITE
    1056310567                      , ("rcStrict=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
    1056410568            int32_t const rcPassUp = pIemCpu->rcPassUp;
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h

    r53181 r53466  
    53795379     */
    53805380    RTUINT64U uValue;
    5381     int rc = CPUMQueryGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, &uValue.u);
    5382     if (rc != VINF_SUCCESS)
    5383     {
    5384 #ifdef IN_RING3
    5385         static uint32_t s_cTimes = 0;
    5386         if (s_cTimes++ < 10)
    5387             LogRel(("IEM: rdmsr(%#x) -> #GP(0)\n", pCtx->ecx));
     5381    VBOXSTRICTRC rcStrict = CPUMQueryGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, &uValue.u);
     5382    if (rcStrict == VINF_SUCCESS)
     5383    {
     5384        pCtx->rax = uValue.s.Lo;
     5385        pCtx->rdx = uValue.s.Hi;
     5386
     5387        iemRegAddToRipAndClearRF(pIemCpu, cbInstr);
     5388        return VINF_SUCCESS;
     5389    }
     5390
     5391#ifndef IN_RING3
     5392    /* Deferred to ring-3. */
     5393    if (rcStrict == VINF_CPUM_R3_MSR_READ)
     5394    {
     5395        Log(("IEM: rdmsr(%#x) -> ring-3\n", pCtx->ecx));
     5396        return rcStrict;
     5397    }
     5398#else /* IN_RING3 */
     5399    /* Often a unimplemented MSR or MSR bit, so worth logging. */
     5400    static uint32_t s_cTimes = 0;
     5401    if (s_cTimes++ < 10)
     5402        LogRel(("IEM: rdmsr(%#x) -> #GP(0)\n", pCtx->ecx));
     5403    else
    53885404#endif
    53895405        Log(("IEM: rdmsr(%#x) -> #GP(0)\n", pCtx->ecx));
    5390         AssertMsgReturn(rc == VERR_CPUM_RAISE_GP_0, ("%Rrc\n", rc), VERR_IPE_UNEXPECTED_STATUS);
    5391         return iemRaiseGeneralProtectionFault0(pIemCpu);
    5392     }
    5393 
    5394     pCtx->rax = uValue.s.Lo;
    5395     pCtx->rdx = uValue.s.Hi;
    5396 
    5397     iemRegAddToRipAndClearRF(pIemCpu, cbInstr);
    5398     return VINF_SUCCESS;
     5406    AssertMsgReturn(rcStrict == VERR_CPUM_RAISE_GP_0, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)), VERR_IPE_UNEXPECTED_STATUS);
     5407    return iemRaiseGeneralProtectionFault0(pIemCpu);
    53995408}
    54005409
     
    54225431    uValue.s.Hi = pCtx->edx;
    54235432
    5424     int rc;
     5433    VBOXSTRICTRC rcStrict;
    54255434    if (!IEM_VERIFICATION_ENABLED(pIemCpu))
    5426         rc = CPUMSetGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, uValue.u);
     5435        rcStrict = CPUMSetGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, uValue.u);
    54275436    else
    54285437    {
    54295438        CPUMCTX CtxTmp = *pCtx;
    5430         rc = CPUMSetGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, uValue.u);
     5439        rcStrict = CPUMSetGuestMsr(IEMCPU_TO_VMCPU(pIemCpu), pCtx->ecx, uValue.u);
    54315440        PCPUMCTX pCtx2 = CPUMQueryGuestCtxPtr(IEMCPU_TO_VMCPU(pIemCpu));
    54325441        *pCtx = *pCtx2;
    54335442        *pCtx2 = CtxTmp;
    54345443    }
    5435     if (rc != VINF_SUCCESS)
    5436     {
    5437 #ifdef IN_RING3
    5438         static uint32_t s_cTimes = 0;
    5439         if (s_cTimes++ < 10)
    5440             LogRel(("IEM: wrmsr(%#x,%#x`%08x) -> #GP(0)\n", pCtx->ecx, uValue.s.Hi, uValue.s.Lo));
     5444    if (rcStrict == VINF_SUCCESS)
     5445    {
     5446        iemRegAddToRipAndClearRF(pIemCpu, cbInstr);
     5447        return VINF_SUCCESS;
     5448    }
     5449
     5450#ifndef IN_RING3
     5451    /* Deferred to ring-3. */
     5452    if (rcStrict == VINF_CPUM_R3_MSR_WRITE)
     5453    {
     5454        Log(("IEM: rdmsr(%#x) -> ring-3\n", pCtx->ecx));
     5455        return rcStrict;
     5456    }
     5457#else /* IN_RING3 */
     5458    /* Often a unimplemented MSR or MSR bit, so worth logging. */
     5459    static uint32_t s_cTimes = 0;
     5460    if (s_cTimes++ < 10)
     5461        LogRel(("IEM: wrmsr(%#x,%#x`%08x) -> #GP(0)\n", pCtx->ecx, uValue.s.Hi, uValue.s.Lo));
     5462    else
    54415463#endif
    54425464        Log(("IEM: wrmsr(%#x,%#x`%08x) -> #GP(0)\n", pCtx->ecx, uValue.s.Hi, uValue.s.Lo));
    5443         AssertMsgReturn(rc == VERR_CPUM_RAISE_GP_0, ("%Rrc\n", rc), VERR_IPE_UNEXPECTED_STATUS);
    5444         return iemRaiseGeneralProtectionFault0(pIemCpu);
    5445     }
    5446 
    5447     iemRegAddToRipAndClearRF(pIemCpu, cbInstr);
    5448     return VINF_SUCCESS;
     5465    AssertMsgReturn(rcStrict == VERR_CPUM_RAISE_GP_0, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)), VERR_IPE_UNEXPECTED_STATUS);
     5466    return iemRaiseGeneralProtectionFault0(pIemCpu);
    54495467}
    54505468
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r51643 r53466  
    656656        case VINF_PATM_HC_MMIO_PATCH_WRITE:
    657657            STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetMMIOPatchWrite);
     658            break;
     659        case VINF_CPUM_R3_MSR_READ:
     660            STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetMSRRead);
     661            break;
     662        case VINF_CPUM_R3_MSR_WRITE:
     663            STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetMSRWrite);
    658664            break;
    659665        case VINF_EM_RAW_EMULATE_INSTR:
  • trunk/src/VBox/VMM/VMMR3/CPUMDbg.cpp

    r45793 r53466  
    423423
    424424    uint64_t u64Value;
    425     int rc = CPUMQueryGuestMsr(pVCpu, pDesc->offRegister, &u64Value);
    426     if (RT_SUCCESS(rc))
     425    VBOXSTRICTRC rcStrict = CPUMQueryGuestMsr(pVCpu, pDesc->offRegister, &u64Value);
     426    if (rcStrict == VINF_SUCCESS)
    427427    {
    428428        switch (pDesc->enmType)
     
    436436    }
    437437    /** @todo what to do about errors? */
    438     return rc;
     438    Assert(RT_FAILURE_NP(rcStrict));
     439    return VBOXSTRICTRC_VAL(rcStrict);
    439440}
    440441
     
    445446static DECLCALLBACK(int) cpumR3RegGstSet_msr(void *pvUser, PCDBGFREGDESC pDesc, PCDBGFREGVAL pValue, PCDBGFREGVAL pfMask)
    446447{
    447     int         rc;
    448     PVMCPU      pVCpu   = (PVMCPU)pvUser;
     448    PVMCPU pVCpu = (PVMCPU)pvUser;
    449449
    450450    VMCPU_ASSERT_EMT(pVCpu);
     
    479479    {
    480480        uint64_t u64FullValue;
    481         rc = CPUMQueryGuestMsr(pVCpu, pDesc->offRegister, &u64FullValue);
    482         if (RT_FAILURE(rc))
    483             return rc;
     481        VBOXSTRICTRC rcStrict = CPUMQueryGuestMsr(pVCpu, pDesc->offRegister, &u64FullValue);
     482        if (rcStrict != VINF_SUCCESS)
     483        {
     484            AssertRC(RT_FAILURE_NP(rcStrict));
     485            return VBOXSTRICTRC_VAL(rcStrict);
     486        }
    484487        u64Value = (u64FullValue & ~fMask)
    485488                 | (u64Value     &  fMask);
     
    489492     * Perform the assignment.
    490493     */
    491     return CPUMSetGuestMsr(pVCpu, pDesc->offRegister, u64Value);
     494    VBOXSTRICTRC rcStrict = CPUMSetGuestMsr(pVCpu, pDesc->offRegister, u64Value);
     495    if (rcStrict == VINF_SUCCESS)
     496        return VINF_SUCCESS;
     497    AssertRC(RT_FAILURE_NP(rcStrict));
     498    return VBOXSTRICTRC_VAL(rcStrict);
    492499}
    493500
  • trunk/src/VBox/VMM/VMMR3/VMM.cpp

    r53300 r53466  
    426426    STAM_REG(pVM, &pVM->vmm.s.StatRZRetMMIOPatchRead,       STAMTYPE_COUNTER, "/VMM/RZRet/MMIOPatchRead",       STAMUNIT_OCCURENCES, "Number of VINF_IOM_HC_MMIO_PATCH_READ returns.");
    427427    STAM_REG(pVM, &pVM->vmm.s.StatRZRetMMIOPatchWrite,      STAMTYPE_COUNTER, "/VMM/RZRet/MMIOPatchWrite",      STAMUNIT_OCCURENCES, "Number of VINF_IOM_HC_MMIO_PATCH_WRITE returns.");
     428    STAM_REG(pVM, &pVM->vmm.s.StatRZRetMSRRead,             STAMTYPE_COUNTER, "/VMM/RZRet/MSRRead",             STAMUNIT_OCCURENCES, "Number of VINF_CPUM_R3_MSR_READ returns.");
     429    STAM_REG(pVM, &pVM->vmm.s.StatRZRetMSRWrite,            STAMTYPE_COUNTER, "/VMM/RZRet/MSRWrite",            STAMUNIT_OCCURENCES, "Number of VINF_CPUM_R3_MSR_WRITE returns.");
    428430    STAM_REG(pVM, &pVM->vmm.s.StatRZRetLDTFault,            STAMTYPE_COUNTER, "/VMM/RZRet/LDTFault",            STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_GDT_FAULT returns.");
    429431    STAM_REG(pVM, &pVM->vmm.s.StatRZRetGDTFault,            STAMTYPE_COUNTER, "/VMM/RZRet/GDTFault",            STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_LDT_FAULT returns.");
  • trunk/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp

    r49141 r53466  
    12041204        case VINF_IOM_R3_MMIO_READ:
    12051205        case VINF_IOM_R3_MMIO_READ_WRITE:
     1206        case VINF_CPUM_R3_MSR_READ:
     1207        case VINF_CPUM_R3_MSR_WRITE:
    12061208        case VINF_PATM_PATCH_INT3:
    12071209        case VINF_EM_NO_MEMORY:
  • trunk/src/VBox/VMM/include/EMHandleRCTmpl.h

    r52660 r53466  
    224224            break;
    225225
     226        /*
     227         * Machine specific register access - emulate the instruction.
     228         */
     229        case VINF_CPUM_R3_MSR_READ:
     230        case VINF_CPUM_R3_MSR_WRITE:
     231            rc = emR3ExecuteInstruction(pVM, pVCpu, "MSR");
     232            break;
     233
    226234#ifdef EMHANDLERC_WITH_HM
    227235        /*
  • trunk/src/VBox/VMM/include/GIMHvInternal.h

    r52763 r53466  
    495495RT_C_DECLS_BEGIN
    496496
     497/** @todo r=bird: Internal header, internal prefix: s/GIM\(R.|\)Hv/gim\1Hv/g  */
     498
    497499#ifdef IN_RING0
    498500VMMR0_INT_DECL(int)             GIMR0HvInitVM(PVM pVM);
     
    520522VMM_INT_DECL(bool)              GIMHvAreHypercallsEnabled(PVMCPU pVCpu);
    521523VMM_INT_DECL(int)               GIMHvHypercall(PVMCPU pVCpu, PCPUMCTX pCtx);
    522 VMM_INT_DECL(int)               GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
    523 VMM_INT_DECL(int)               GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue);
     524VMM_INT_DECL(VBOXSTRICTRC)      GIMHvReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue);
     525VMM_INT_DECL(VBOXSTRICTRC)      GIMHvWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uRawValue);
    524526
    525527RT_C_DECLS_END
  • trunk/src/VBox/VMM/include/VMMInternal.h

    r49141 r53466  
    344344    STAMCOUNTER                 StatRZRetMMIOPatchWrite;
    345345    STAMCOUNTER                 StatRZRetMMIOReadWrite;
     346    STAMCOUNTER                 StatRZRetMSRRead;
     347    STAMCOUNTER                 StatRZRetMSRWrite;
    346348    STAMCOUNTER                 StatRZRetLDTFault;
    347349    STAMCOUNTER                 StatRZRetGDTFault;
  • trunk/src/recompiler/VBoxRecompiler.c

    r52066 r53466  
    45144514{
    45154515    uint64_t u64;
    4516     int rc = CPUMQueryGuestMsr(env->pVCpu, MSR_IA32_APICBASE, &u64);
    4517     if (RT_SUCCESS(rc))
     4516    VBOXSTRICTRC rcStrict = CPUMQueryGuestMsr(env->pVCpu, MSR_IA32_APICBASE, &u64);
     4517    if (RT_SUCCESS(rcStrict))
    45184518    {
    45194519        LogFlow(("cpu_get_apic_base: returns %#llx \n", u64));
    45204520        return u64;
    45214521    }
    4522     LogFlow(("cpu_get_apic_base: returns 0 (rc=%Rrc)\n", rc));
     4522    LogFlow(("cpu_get_apic_base: returns 0 (rc=%Rrc)\n", VBOXSTRICTRC_VAL(rcStrict)));
    45234523    return 0;
    45244524}
Note: See TracChangeset for help on using the changeset viewer.

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