VirtualBox

Changeset 56021 in vbox for trunk/src


Ignore:
Timestamp:
May 21, 2015 7:22:15 PM (10 years ago)
Author:
vboxsync
Message:

IEM_STATIC and stuff.

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

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

    r55899 r56021  
    136136typedef VBOXSTRICTRC (__attribute__((__fastcall__)) * PFNIEMOP)(PIEMCPU pIemCpu);
    137137# define FNIEMOP_DEF(a_Name) \
    138     static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu)
     138    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu)
    139139# define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
    140     static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
     140    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
    141141# define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
    142     static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
     142    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
    143143
    144144#elif defined(_MSC_VER) && defined(RT_ARCH_X86)
    145145typedef VBOXSTRICTRC (__fastcall * PFNIEMOP)(PIEMCPU pIemCpu);
    146146# define FNIEMOP_DEF(a_Name) \
    147     static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu) RT_NO_THROW
     147    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu) RT_NO_THROW
    148148# define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
    149     static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
     149    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
    150150# define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
    151     static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
     151    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
    152152
    153153#elif defined(__GNUC__)
    154154typedef VBOXSTRICTRC (* PFNIEMOP)(PIEMCPU pIemCpu);
    155155# define FNIEMOP_DEF(a_Name) \
    156     static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu)
     156    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu)
    157157# define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
    158     static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
     158    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
    159159# define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
    160     static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
     160    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
    161161
    162162#else
    163163typedef VBOXSTRICTRC (* PFNIEMOP)(PIEMCPU pIemCpu);
    164164# define FNIEMOP_DEF(a_Name) \
    165     static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu) RT_NO_THROW
     165    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu) RT_NO_THROW
    166166# define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
    167     static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
     167    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
    168168# define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
    169     static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
     169    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
    170170
    171171#endif
     
    323323
    324324/** Function table for the ADD instruction. */
    325 static const IEMOPBINSIZES g_iemAImpl_add =
     325IEM_STATIC const IEMOPBINSIZES g_iemAImpl_add =
    326326{
    327327    iemAImpl_add_u8,  iemAImpl_add_u8_locked,
     
    332332
    333333/** Function table for the ADC instruction. */
    334 static const IEMOPBINSIZES g_iemAImpl_adc =
     334IEM_STATIC const IEMOPBINSIZES g_iemAImpl_adc =
    335335{
    336336    iemAImpl_adc_u8,  iemAImpl_adc_u8_locked,
     
    341341
    342342/** Function table for the SUB instruction. */
    343 static const IEMOPBINSIZES g_iemAImpl_sub =
     343IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sub =
    344344{
    345345    iemAImpl_sub_u8,  iemAImpl_sub_u8_locked,
     
    350350
    351351/** Function table for the SBB instruction. */
    352 static const IEMOPBINSIZES g_iemAImpl_sbb =
     352IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sbb =
    353353{
    354354    iemAImpl_sbb_u8,  iemAImpl_sbb_u8_locked,
     
    359359
    360360/** Function table for the OR instruction. */
    361 static const IEMOPBINSIZES g_iemAImpl_or =
     361IEM_STATIC const IEMOPBINSIZES g_iemAImpl_or =
    362362{
    363363    iemAImpl_or_u8,  iemAImpl_or_u8_locked,
     
    368368
    369369/** Function table for the XOR instruction. */
    370 static const IEMOPBINSIZES g_iemAImpl_xor =
     370IEM_STATIC const IEMOPBINSIZES g_iemAImpl_xor =
    371371{
    372372    iemAImpl_xor_u8,  iemAImpl_xor_u8_locked,
     
    377377
    378378/** Function table for the AND instruction. */
    379 static const IEMOPBINSIZES g_iemAImpl_and =
     379IEM_STATIC const IEMOPBINSIZES g_iemAImpl_and =
    380380{
    381381    iemAImpl_and_u8,  iemAImpl_and_u8_locked,
     
    388388 * @remarks Making operand order ASSUMPTIONS.
    389389 */
    390 static const IEMOPBINSIZES g_iemAImpl_cmp =
     390IEM_STATIC const IEMOPBINSIZES g_iemAImpl_cmp =
    391391{
    392392    iemAImpl_cmp_u8,  NULL,
     
    399399 * @remarks Making operand order ASSUMPTIONS.
    400400 */
    401 static const IEMOPBINSIZES g_iemAImpl_test =
     401IEM_STATIC const IEMOPBINSIZES g_iemAImpl_test =
    402402{
    403403    iemAImpl_test_u8,  NULL,
     
    408408
    409409/** Function table for the BT instruction. */
    410 static const IEMOPBINSIZES g_iemAImpl_bt =
     410IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bt =
    411411{
    412412    NULL,  NULL,
     
    417417
    418418/** Function table for the BTC instruction. */
    419 static const IEMOPBINSIZES g_iemAImpl_btc =
     419IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btc =
    420420{
    421421    NULL,  NULL,
     
    426426
    427427/** Function table for the BTR instruction. */
    428 static const IEMOPBINSIZES g_iemAImpl_btr =
     428IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btr =
    429429{
    430430    NULL,  NULL,
     
    435435
    436436/** Function table for the BTS instruction. */
    437 static const IEMOPBINSIZES g_iemAImpl_bts =
     437IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bts =
    438438{
    439439    NULL,  NULL,
     
    444444
    445445/** Function table for the BSF instruction. */
    446 static const IEMOPBINSIZES g_iemAImpl_bsf =
     446IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bsf =
    447447{
    448448    NULL,  NULL,
     
    453453
    454454/** Function table for the BSR instruction. */
    455 static const IEMOPBINSIZES g_iemAImpl_bsr =
     455IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bsr =
    456456{
    457457    NULL,  NULL,
     
    462462
    463463/** Function table for the IMUL instruction. */
    464 static const IEMOPBINSIZES g_iemAImpl_imul_two =
     464IEM_STATIC const IEMOPBINSIZES g_iemAImpl_imul_two =
    465465{
    466466    NULL,  NULL,
     
    471471
    472472/** Group 1 /r lookup table. */
    473 static const PCIEMOPBINSIZES g_apIemImplGrp1[8] =
     473IEM_STATIC const PCIEMOPBINSIZES g_apIemImplGrp1[8] =
    474474{
    475475    &g_iemAImpl_add,
     
    484484
    485485/** Function table for the INC instruction. */
    486 static const IEMOPUNARYSIZES g_iemAImpl_inc =
     486IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_inc =
    487487{
    488488    iemAImpl_inc_u8,  iemAImpl_inc_u8_locked,
     
    493493
    494494/** Function table for the DEC instruction. */
    495 static const IEMOPUNARYSIZES g_iemAImpl_dec =
     495IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_dec =
    496496{
    497497    iemAImpl_dec_u8,  iemAImpl_dec_u8_locked,
     
    502502
    503503/** Function table for the NEG instruction. */
    504 static const IEMOPUNARYSIZES g_iemAImpl_neg =
     504IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_neg =
    505505{
    506506    iemAImpl_neg_u8,  iemAImpl_neg_u8_locked,
     
    511511
    512512/** Function table for the NOT instruction. */
    513 static const IEMOPUNARYSIZES g_iemAImpl_not =
     513IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_not =
    514514{
    515515    iemAImpl_not_u8,  iemAImpl_not_u8_locked,
     
    521521
    522522/** Function table for the ROL instruction. */
    523 static const IEMOPSHIFTSIZES g_iemAImpl_rol =
     523IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rol =
    524524{
    525525    iemAImpl_rol_u8,
     
    530530
    531531/** Function table for the ROR instruction. */
    532 static const IEMOPSHIFTSIZES g_iemAImpl_ror =
     532IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_ror =
    533533{
    534534    iemAImpl_ror_u8,
     
    539539
    540540/** Function table for the RCL instruction. */
    541 static const IEMOPSHIFTSIZES g_iemAImpl_rcl =
     541IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rcl =
    542542{
    543543    iemAImpl_rcl_u8,
     
    548548
    549549/** Function table for the RCR instruction. */
    550 static const IEMOPSHIFTSIZES g_iemAImpl_rcr =
     550IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rcr =
    551551{
    552552    iemAImpl_rcr_u8,
     
    557557
    558558/** Function table for the SHL instruction. */
    559 static const IEMOPSHIFTSIZES g_iemAImpl_shl =
     559IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_shl =
    560560{
    561561    iemAImpl_shl_u8,
     
    566566
    567567/** Function table for the SHR instruction. */
    568 static const IEMOPSHIFTSIZES g_iemAImpl_shr =
     568IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_shr =
    569569{
    570570    iemAImpl_shr_u8,
     
    575575
    576576/** Function table for the SAR instruction. */
    577 static const IEMOPSHIFTSIZES g_iemAImpl_sar =
     577IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_sar =
    578578{
    579579    iemAImpl_sar_u8,
     
    585585
    586586/** Function table for the MUL instruction. */
    587 static const IEMOPMULDIVSIZES g_iemAImpl_mul =
     587IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_mul =
    588588{
    589589    iemAImpl_mul_u8,
     
    594594
    595595/** Function table for the IMUL instruction working implicitly on rAX. */
    596 static const IEMOPMULDIVSIZES g_iemAImpl_imul =
     596IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_imul =
    597597{
    598598    iemAImpl_imul_u8,
     
    603603
    604604/** Function table for the DIV instruction. */
    605 static const IEMOPMULDIVSIZES g_iemAImpl_div =
     605IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_div =
    606606{
    607607    iemAImpl_div_u8,
     
    612612
    613613/** Function table for the MUL instruction. */
    614 static const IEMOPMULDIVSIZES g_iemAImpl_idiv =
     614IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_idiv =
    615615{
    616616    iemAImpl_idiv_u8,
     
    621621
    622622/** Function table for the SHLD instruction */
    623 static const IEMOPSHIFTDBLSIZES g_iemAImpl_shld =
     623IEM_STATIC const IEMOPSHIFTDBLSIZES g_iemAImpl_shld =
    624624{
    625625    iemAImpl_shld_u16,
     
    629629
    630630/** Function table for the SHRD instruction */
    631 static const IEMOPSHIFTDBLSIZES g_iemAImpl_shrd =
     631IEM_STATIC const IEMOPSHIFTDBLSIZES g_iemAImpl_shrd =
    632632{
    633633    iemAImpl_shrd_u16,
     
    638638
    639639/** Function table for the PUNPCKLBW instruction */
    640 static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklbw  = { iemAImpl_punpcklbw_u64,  iemAImpl_punpcklbw_u128 };
     640IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklbw  = { iemAImpl_punpcklbw_u64,  iemAImpl_punpcklbw_u128 };
    641641/** Function table for the PUNPCKLBD instruction */
    642 static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklwd  = { iemAImpl_punpcklwd_u64,  iemAImpl_punpcklwd_u128 };
     642IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklwd  = { iemAImpl_punpcklwd_u64,  iemAImpl_punpcklwd_u128 };
    643643/** Function table for the PUNPCKLDQ instruction */
    644 static const IEMOPMEDIAF1L1 g_iemAImpl_punpckldq  = { iemAImpl_punpckldq_u64,  iemAImpl_punpckldq_u128 };
     644IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpckldq  = { iemAImpl_punpckldq_u64,  iemAImpl_punpckldq_u128 };
    645645/** Function table for the PUNPCKLQDQ instruction */
    646 static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklqdq = { NULL, iemAImpl_punpcklqdq_u128 };
     646IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklqdq = { NULL, iemAImpl_punpcklqdq_u128 };
    647647
    648648/** Function table for the PUNPCKHBW instruction */
    649 static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhbw  = { iemAImpl_punpckhbw_u64,  iemAImpl_punpckhbw_u128 };
     649IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhbw  = { iemAImpl_punpckhbw_u64,  iemAImpl_punpckhbw_u128 };
    650650/** Function table for the PUNPCKHBD instruction */
    651 static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhwd  = { iemAImpl_punpckhwd_u64,  iemAImpl_punpckhwd_u128 };
     651IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhwd  = { iemAImpl_punpckhwd_u64,  iemAImpl_punpckhwd_u128 };
    652652/** Function table for the PUNPCKHDQ instruction */
    653 static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhdq  = { iemAImpl_punpckhdq_u64,  iemAImpl_punpckhdq_u128 };
     653IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhdq  = { iemAImpl_punpckhdq_u64,  iemAImpl_punpckhdq_u128 };
    654654/** Function table for the PUNPCKHQDQ instruction */
    655 static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhqdq = { NULL, iemAImpl_punpckhqdq_u128 };
     655IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhqdq = { NULL, iemAImpl_punpckhqdq_u128 };
    656656
    657657/** Function table for the PXOR instruction */
    658 static const IEMOPMEDIAF2 g_iemAImpl_pxor         = { iemAImpl_pxor_u64,       iemAImpl_pxor_u128 };
     658IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pxor         = { iemAImpl_pxor_u64,       iemAImpl_pxor_u128 };
    659659/** Function table for the PCMPEQB instruction */
    660 static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqb      = { iemAImpl_pcmpeqb_u64,    iemAImpl_pcmpeqb_u128 };
     660IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqb      = { iemAImpl_pcmpeqb_u64,    iemAImpl_pcmpeqb_u128 };
    661661/** Function table for the PCMPEQW instruction */
    662 static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqw      = { iemAImpl_pcmpeqw_u64,    iemAImpl_pcmpeqw_u128 };
     662IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqw      = { iemAImpl_pcmpeqw_u64,    iemAImpl_pcmpeqw_u128 };
    663663/** Function table for the PCMPEQD instruction */
    664 static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqd      = { iemAImpl_pcmpeqd_u64,    iemAImpl_pcmpeqd_u128 };
     664IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqd      = { iemAImpl_pcmpeqd_u64,    iemAImpl_pcmpeqd_u128 };
    665665
    666666
     
    676676*   Internal Functions                                                         *
    677677*******************************************************************************/
    678 static VBOXSTRICTRC     iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr);
    679 static VBOXSTRICTRC     iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu);
    680 static VBOXSTRICTRC     iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu);
    681 static VBOXSTRICTRC     iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel);
    682 /*static VBOXSTRICTRC     iemRaiseSelectorNotPresent(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);*/
    683 static VBOXSTRICTRC     iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
    684 static VBOXSTRICTRC     iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
    685 static VBOXSTRICTRC     iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
    686 static VBOXSTRICTRC     iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
    687 static VBOXSTRICTRC     iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr);
    688 static VBOXSTRICTRC     iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu);
    689 static VBOXSTRICTRC     iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL uSel);
    690 static VBOXSTRICTRC     iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
    691 static VBOXSTRICTRC     iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel);
    692 static VBOXSTRICTRC     iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
    693 static VBOXSTRICTRC     iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc);
    694 static VBOXSTRICTRC     iemRaiseAlignmentCheckException(PIEMCPU pIemCpu);
    695 static VBOXSTRICTRC     iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess);
    696 static VBOXSTRICTRC     iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess);
    697 static VBOXSTRICTRC     iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    698 static VBOXSTRICTRC     iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    699 static VBOXSTRICTRC     iemMemFetchSysU8(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    700 static VBOXSTRICTRC     iemMemFetchSysU16(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    701 static VBOXSTRICTRC     iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    702 static VBOXSTRICTRC     iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
    703 static VBOXSTRICTRC     iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode);
    704 static VBOXSTRICTRC     iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt);
    705 static VBOXSTRICTRC     iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp);
    706 static VBOXSTRICTRC     iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp);
    707 static VBOXSTRICTRC     iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value);
    708 static VBOXSTRICTRC     iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value);
    709 static VBOXSTRICTRC     iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel);
    710 static uint16_t         iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg);
     678IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr);
     679IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu);
     680IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu);
     681IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel);
     682/*IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresent(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);*/
     683IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
     684IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
     685IEM_STATIC VBOXSTRICTRC     iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
     686IEM_STATIC VBOXSTRICTRC     iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
     687IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr);
     688IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu);
     689IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL uSel);
     690IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
     691IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel);
     692IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
     693IEM_STATIC VBOXSTRICTRC     iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc);
     694IEM_STATIC VBOXSTRICTRC     iemRaiseAlignmentCheckException(PIEMCPU pIemCpu);
     695IEM_STATIC VBOXSTRICTRC     iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess);
     696IEM_STATIC VBOXSTRICTRC     iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess);
     697IEM_STATIC VBOXSTRICTRC     iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     698IEM_STATIC VBOXSTRICTRC     iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     699IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU8(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     700IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU16(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     701IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     702IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
     703IEM_STATIC VBOXSTRICTRC     iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode);
     704IEM_STATIC VBOXSTRICTRC     iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt);
     705IEM_STATIC VBOXSTRICTRC     iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp);
     706IEM_STATIC VBOXSTRICTRC     iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp);
     707IEM_STATIC VBOXSTRICTRC     iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value);
     708IEM_STATIC VBOXSTRICTRC     iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value);
     709IEM_STATIC VBOXSTRICTRC     iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel);
     710IEM_STATIC uint16_t         iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg);
    711711
    712712#if defined(IEM_VERIFICATION_MODE_FULL) && !defined(IEM_VERIFICATION_MODE_MINIMAL)
    713 static PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu);
     713IEM_STATIC PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu);
    714714#endif
    715 static VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue);
    716 static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue);
     715IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue);
     716IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue);
    717717
    718718
     
    726726 *                              VINF_SUCCESS is not allowed.
    727727 */
    728 static int iemSetPassUpStatus(PIEMCPU pIemCpu, VBOXSTRICTRC rcPassUp)
     728IEM_STATIC int iemSetPassUpStatus(PIEMCPU pIemCpu, VBOXSTRICTRC rcPassUp)
    729729{
    730730    AssertRC(VBOXSTRICTRC_VAL(rcPassUp)); Assert(rcPassUp != VINF_SUCCESS);
     
    911911 * @param   fBypassHandlers     Whether to bypass access handlers.
    912912 */
    913 static VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypassHandlers)
     913IEM_STATIC VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypassHandlers)
    914914{
    915915#ifdef IEM_VERIFICATION_MODE_FULL
     
    10271027
    10281028        if (!pIemCpu->fBypassHandlers)
    1029             rc = PGMPhysRead(pVM, GCPhys, pIemCpu->abOpcode, cbToTryRead, PGMACCESSORIGIN_IEM);
     1029        {
     1030            VBOXSTRICTRC rcStrict = PGMPhysRead(pVM, GCPhys, pIemCpu->abOpcode, cbToTryRead, PGMACCESSORIGIN_IEM);
     1031            if (RT_LIKELY(rcStrict == VINF_SUCCESS))
     1032            { /* likely */ }
     1033            else
     1034            {
     1035                Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rc=%Rrc (!!)\n",
     1036                     GCPtrPC, GCPhys, rc, cbToTryRead));
     1037                return rc;
     1038            }
     1039        }
    10301040        else
     1041        {
    10311042            rc = PGMPhysSimpleReadGCPhys(pVM, pIemCpu->abOpcode, GCPhys, cbToTryRead);
    1032         if (rc != VINF_SUCCESS)
    1033         {
    1034             /** @todo status code handling */
    1035             Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rc=%Rrc (!!)\n",
    1036                  GCPtrPC, GCPhys, rc, cbToTryRead));
    1037             return rc;
     1043            if (RT_SUCCESS(rc))
     1044            { /* likely */ }
     1045            else
     1046            {
     1047                Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rc=%Rrc (!!)\n",
     1048                     GCPtrPC, GCPhys, rc, cbToTryRead));
     1049                return rc;
     1050            }
    10381051        }
    10391052        pIemCpu->cbOpcode = cbToTryRead;
     
    10531066 *                              that must be read.
    10541067 */
    1055 static VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
     1068IEM_STATIC VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
    10561069{
    10571070    /*
     
    11681181 * @param   pb                  Where to return the opcode byte.
    11691182 */
    1170 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU8Slow(PIEMCPU pIemCpu, uint8_t *pb)
     1183DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU8Slow(PIEMCPU pIemCpu, uint8_t *pb)
    11711184{
    11721185    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 1);
     
    12541267 * @param   pu16                Where to return the opcode dword.
    12551268 */
    1256 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
     1269DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
    12571270{
    12581271    uint8_t      u8;
     
    13071320 * @param   pu32                Where to return the opcode dword.
    13081321 */
    1309 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
     1322DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
    13101323{
    13111324    uint8_t      u8;
     
    13601373 * @param   pu64                Where to return the opcode qword.
    13611374 */
    1362 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
     1375DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
    13631376{
    13641377    uint8_t      u8;
     
    14131426 * @param   pu16                Where to return the opcode word.
    14141427 */
    1415 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
     1428DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
    14161429{
    14171430    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     
    14691482 * @param   pu32                Where to return the opcode double word.
    14701483 */
    1471 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
     1484DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
    14721485{
    14731486    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     
    15261539 * @param   pu64                Where to return the opcode quad word.
    15271540 */
    1528 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
     1541DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
    15291542{
    15301543    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     
    16121625 * @param   pu32                Where to return the opcode dword.
    16131626 */
    1614 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
     1627DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
    16151628{
    16161629    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     
    16741687 * @param   pu32                Where to return the opcode dword.
    16751688 */
    1676 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU32ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
     1689DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU32ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
    16771690{
    16781691    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     
    17651778 * @param   pu64                Where to return the opcode qword.
    17661779 */
    1767 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS32SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
     1780DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS32SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
    17681781{
    17691782    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     
    18291842 * @param   pu64                Where to return the opcode qword.
    18301843 */
    1831 DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
     1844DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
    18321845{
    18331846    VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 8);
     
    19071920 * @param   pDesc           Where to return the descriptor.
    19081921 */
    1909 static VBOXSTRICTRC iemMiscValidateNewSS(PIEMCPU pIemCpu, PCCPUMCTX pCtx, RTSEL NewSS, uint8_t uCpl, PIEMSELDESC pDesc)
     1922IEM_STATIC VBOXSTRICTRC iemMiscValidateNewSS(PIEMCPU pIemCpu, PCCPUMCTX pCtx, RTSEL NewSS, uint8_t uCpl, PIEMSELDESC pDesc)
    19101923{
    19111924    NOREF(pCtx);
     
    20422055 * @param   puEsp           Where to return the new stack pointer.
    20432056 */
    2044 static VBOXSTRICTRC iemRaiseLoadStackFromTss32Or16(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl,
    2045                                                    PRTSEL pSelSS, uint32_t *puEsp)
     2057IEM_STATIC VBOXSTRICTRC iemRaiseLoadStackFromTss32Or16(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl,
     2058                                                       PRTSEL pSelSS, uint32_t *puEsp)
    20462059{
    20472060    VBOXSTRICTRC rcStrict;
     
    21172130 * @param   puRsp           Where to return the new stack pointer.
    21182131 */
    2119 static VBOXSTRICTRC iemRaiseLoadStackFromTss64(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl, uint8_t uIst,
    2120                                                uint64_t *puRsp)
     2132IEM_STATIC VBOXSTRICTRC iemRaiseLoadStackFromTss64(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl, uint8_t uIst, uint64_t *puRsp)
    21212133{
    21222134    Assert(uCpl < 4);
     
    21722184 * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
    21732185 */
    2174 static VBOXSTRICTRC
     2186IEM_STATIC VBOXSTRICTRC
    21752187iemRaiseXcptOrIntInRealMode(PIEMCPU     pIemCpu,
    21762188                            PCPUMCTX    pCtx,
     
    22422254 * @param   pSReg           Pointer to the segment register.
    22432255 */
    2244 static void iemHlpLoadNullDataSelectorOnV86Xcpt(PIEMCPU pIemCpu, PCPUMSELREG pSReg)
     2256IEM_STATIC void iemHlpLoadNullDataSelectorOnV86Xcpt(PIEMCPU pIemCpu, PCPUMSELREG pSReg)
    22452257{
    22462258    pSReg->Sel      = 0;
     
    22692281 * @param   uSel            The selector value to load.
    22702282 */
    2271 static void iemHlpLoadSelectorInV86Mode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
     2283IEM_STATIC void iemHlpLoadSelectorInV86Mode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
    22722284{
    22732285    /* See Intel spec. 26.3.1.2 "Checks on Guest Segment Registers". */
     
    22892301 * @param   uRpl                The RPL.
    22902302 */
    2291 static void iemHlpLoadNullDataSelectorProt(PIEMCPU pIemCpu, PCPUMSELREG pSReg, RTSEL uRpl)
     2303IEM_STATIC void iemHlpLoadNullDataSelectorProt(PIEMCPU pIemCpu, PCPUMSELREG pSReg, RTSEL uRpl)
    22922304{
    22932305    /** @todo Testcase: write a testcase checking what happends when loading a NULL
     
    23242336 * @remarks This expects pIemCpu->uCpl to be up to date.
    23252337 */
    2326 static VBOXSTRICTRC iemHlpTaskSwitchLoadDataSelectorInProtMode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
     2338IEM_STATIC VBOXSTRICTRC iemHlpTaskSwitchLoadDataSelectorInProtMode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
    23272339{
    23282340    Assert(pIemCpu->enmCpuMode != IEMMODE_64BIT);
     
    24322444 * @param   pNewDescTSS     Pointer to the new TSS descriptor.
    24332445 */
    2434 static VBOXSTRICTRC iemTaskSwitch(PIEMCPU         pIemCpu,
    2435                                   PCPUMCTX        pCtx,
    2436                                   IEMTASKSWITCH   enmTaskSwitch,
    2437                                   uint32_t        uNextEip,
    2438                                   uint32_t        fFlags,
    2439                                   uint16_t        uErr,
    2440                                   uint64_t        uCr2,
    2441                                   RTSEL           SelTSS,
    2442                                   PIEMSELDESC     pNewDescTSS)
     2446IEM_STATIC VBOXSTRICTRC
     2447iemTaskSwitch(PIEMCPU         pIemCpu,
     2448              PCPUMCTX        pCtx,
     2449              IEMTASKSWITCH   enmTaskSwitch,
     2450              uint32_t        uNextEip,
     2451              uint32_t        fFlags,
     2452              uint16_t        uErr,
     2453              uint64_t        uCr2,
     2454              RTSEL           SelTSS,
     2455              PIEMSELDESC     pNewDescTSS)
    24432456{
    24442457    Assert(!IEM_IS_REAL_MODE(pIemCpu));
     
    31633176 * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
    31643177 */
    3165 static VBOXSTRICTRC
     3178IEM_STATIC VBOXSTRICTRC
    31663179iemRaiseXcptOrIntInProtMode(PIEMCPU     pIemCpu,
    31673180                            PCPUMCTX    pCtx,
     
    35983611 * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
    35993612 */
    3600 static VBOXSTRICTRC
     3613IEM_STATIC VBOXSTRICTRC
    36013614iemRaiseXcptOrIntInLongMode(PIEMCPU     pIemCpu,
    36023615                            PCPUMCTX    pCtx,
     
    38433856 * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
    38443857 */
    3845 DECL_NO_INLINE(static, VBOXSTRICTRC)
     3858DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC)
    38463859iemRaiseXcptOrInt(PIEMCPU     pIemCpu,
    38473860                  uint8_t     cbInstr,
     
    39763989
    39773990/** \#DE - 00.  */
    3978 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDivideError(PIEMCPU pIemCpu)
     3991DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDivideError(PIEMCPU pIemCpu)
    39793992{
    39803993    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_DE, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     
    39843997/** \#DB - 01.
    39853998 * @note This automatically clear DR7.GD.  */
    3986 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDebugException(PIEMCPU pIemCpu)
     3999DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDebugException(PIEMCPU pIemCpu)
    39874000{
    39884001    /** @todo set/clear RF. */
     
    39934006
    39944007/** \#UD - 06.  */
    3995 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseUndefinedOpcode(PIEMCPU pIemCpu)
     4008DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseUndefinedOpcode(PIEMCPU pIemCpu)
    39964009{
    39974010    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_UD, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     
    40004013
    40014014/** \#NM - 07.  */
    4002 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDeviceNotAvailable(PIEMCPU pIemCpu)
     4015DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDeviceNotAvailable(PIEMCPU pIemCpu)
    40034016{
    40044017    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NM, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     
    40074020
    40084021/** \#TS(err) - 0a.  */
    4009 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr)
     4022DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr)
    40104023{
    40114024    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
     
    40144027
    40154028/** \#TS(tr) - 0a.  */
    4016 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu)
     4029DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu)
    40174030{
    40184031    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40224035
    40234036/** \#TS(0) - 0a.  */
    4024 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu)
     4037DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu)
    40254038{
    40264039    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40304043
    40314044/** \#TS(err) - 0a.  */
    4032 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel)
     4045DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel)
    40334046{
    40344047    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40384051
    40394052/** \#NP(err) - 0b.  */
    4040 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
     4053DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
    40414054{
    40424055    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
     
    40454058
    40464059/** \#NP(seg) - 0b.  */
    4047 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PIEMCPU pIemCpu, uint32_t iSegReg)
     4060DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PIEMCPU pIemCpu, uint32_t iSegReg)
    40484061{
    40494062    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40534066
    40544067/** \#NP(sel) - 0b.  */
    4055 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
     4068DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
    40564069{
    40574070    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40614074
    40624075/** \#SS(seg) - 0c.  */
    4063 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
     4076DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
    40644077{
    40654078    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_SS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40694082
    40704083/** \#SS(err) - 0c.  */
    4071 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
     4084DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
    40724085{
    40734086    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_SS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
     
    40764089
    40774090/** \#GP(n) - 0d.  */
    4078 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr)
     4091DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr)
    40794092{
    40804093    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
     
    40834096
    40844097/** \#GP(0) - 0d.  */
    4085 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu)
     4098DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu)
    40864099{
    40874100    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
     
    40904103
    40914104/** \#GP(sel) - 0d.  */
    4092 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL Sel)
     4105DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL Sel)
    40934106{
    40944107    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
     
    40984111
    40994112/** \#GP(0) - 0d.  */
    4100 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseNotCanonical(PIEMCPU pIemCpu)
     4113DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseNotCanonical(PIEMCPU pIemCpu)
    41014114{
    41024115    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
     
    41054118
    41064119/** \#GP(sel) - 0d.  */
    4107 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
     4120DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
    41084121{
    41094122    NOREF(iSegReg); NOREF(fAccess);
     
    41144127
    41154128/** \#GP(sel) - 0d.  */
    4116 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel)
     4129DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel)
    41174130{
    41184131    NOREF(Sel);
     
    41224135
    41234136/** \#GP(sel) - 0d.  */
    4124 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
     4137DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
    41254138{
    41264139    NOREF(iSegReg); NOREF(fAccess);
     
    41304143
    41314144/** \#PF(n) - 0e.  */
    4132 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc)
     4145DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc)
    41334146{
    41344147    uint16_t uErr;
     
    41794192
    41804193/** \#MF(0) - 10.  */
    4181 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseMathFault(PIEMCPU pIemCpu)
     4194DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseMathFault(PIEMCPU pIemCpu)
    41824195{
    41834196    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_MF, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     
    41864199
    41874200/** \#AC(0) - 11.  */
    4188 DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseAlignmentCheckException(PIEMCPU pIemCpu)
     4201DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseAlignmentCheckException(PIEMCPU pIemCpu)
    41894202{
    41904203    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_AC, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     
    42564269 * @param   pIemCpu             The IEM state.
    42574270 */
    4258 static void iemRecalEffOpSize(PIEMCPU pIemCpu)
     4271IEM_STATIC void iemRecalEffOpSize(PIEMCPU pIemCpu)
    42594272{
    42604273    switch (pIemCpu->enmCpuMode)
     
    42934306 * @param   pIemCpu             The IEM state.
    42944307 */
    4295 static void iemRecalEffOpSize64Default(PIEMCPU pIemCpu)
     4308IEM_STATIC void iemRecalEffOpSize64Default(PIEMCPU pIemCpu)
    42964309{
    42974310    Assert(pIemCpu->enmCpuMode == IEMMODE_64BIT);
     
    43174330 * @param   pIemCpu     The IEM per CPU state.
    43184331 */
    4319 static void iemOpStubMsg2(PIEMCPU pIemCpu)
     4332IEM_STATIC void iemOpStubMsg2(PIEMCPU pIemCpu)
    43204333{
    43214334#if defined(LOG_ENABLED) && defined(IN_RING3)
     
    44294442 * @param   iSegReg             The segment register.
    44304443 */
    4431 static PCPUMSELREG iemSRegGetHid(PIEMCPU pIemCpu, uint8_t iSegReg)
     4444IEM_STATIC PCPUMSELREG iemSRegGetHid(PIEMCPU pIemCpu, uint8_t iSegReg)
    44324445{
    44334446    PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    44624475 * @param   iSegReg             The segment register.
    44634476 */
    4464 static uint16_t *iemSRegRef(PIEMCPU pIemCpu, uint8_t iSegReg)
     4477IEM_STATIC uint16_t *iemSRegRef(PIEMCPU pIemCpu, uint8_t iSegReg)
    44654478{
    44664479    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    44854498 * @param   iSegReg             The segment register.
    44864499 */
    4487 static uint16_t iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg)
     4500IEM_STATIC uint16_t iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg)
    44884501{
    44894502    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    45084521 * @param   iReg                The general register.
    45094522 */
    4510 static void *iemGRegRef(PIEMCPU pIemCpu, uint8_t iReg)
     4523IEM_STATIC void *iemGRegRef(PIEMCPU pIemCpu, uint8_t iReg)
    45114524{
    45124525    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    45434556 * @param   iReg                The register.
    45444557 */
    4545 static uint8_t *iemGRegRefU8(PIEMCPU pIemCpu, uint8_t iReg)
     4558IEM_STATIC uint8_t *iemGRegRefU8(PIEMCPU pIemCpu, uint8_t iReg)
    45464559{
    45474560    if (pIemCpu->fPrefixes & IEM_OP_PRF_REX)
     
    45624575 * @param   iReg                The register.
    45634576 */
    4564 static uint8_t iemGRegFetchU8(PIEMCPU pIemCpu, uint8_t iReg)
     4577IEM_STATIC uint8_t iemGRegFetchU8(PIEMCPU pIemCpu, uint8_t iReg)
    45654578{
    45664579    uint8_t const *pbSrc = iemGRegRefU8(pIemCpu, iReg);
     
    45764589 * @param   iReg                The register.
    45774590 */
    4578 static uint16_t iemGRegFetchU16(PIEMCPU pIemCpu, uint8_t iReg)
     4591IEM_STATIC uint16_t iemGRegFetchU16(PIEMCPU pIemCpu, uint8_t iReg)
    45794592{
    45804593    return *(uint16_t *)iemGRegRef(pIemCpu, iReg);
     
    45894602 * @param   iReg                The register.
    45904603 */
    4591 static uint32_t iemGRegFetchU32(PIEMCPU pIemCpu, uint8_t iReg)
     4604IEM_STATIC uint32_t iemGRegFetchU32(PIEMCPU pIemCpu, uint8_t iReg)
    45924605{
    45934606    return *(uint32_t *)iemGRegRef(pIemCpu, iReg);
     
    46024615 * @param   iReg                The register.
    46034616 */
    4604 static uint64_t iemGRegFetchU64(PIEMCPU pIemCpu, uint8_t iReg)
     4617IEM_STATIC uint64_t iemGRegFetchU64(PIEMCPU pIemCpu, uint8_t iReg)
    46054618{
    46064619    return *(uint64_t *)iemGRegRef(pIemCpu, iReg);
     
    46174630 * @param   offNextInstr        The offset of the next instruction.
    46184631 */
    4619 static VBOXSTRICTRC iemRegRipRelativeJumpS8(PIEMCPU pIemCpu, int8_t offNextInstr)
     4632IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS8(PIEMCPU pIemCpu, int8_t offNextInstr)
    46204633{
    46214634    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    46734686 * @param   offNextInstr        The offset of the next instruction.
    46744687 */
    4675 static VBOXSTRICTRC iemRegRipRelativeJumpS16(PIEMCPU pIemCpu, int16_t offNextInstr)
     4688IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS16(PIEMCPU pIemCpu, int16_t offNextInstr)
    46764689{
    46774690    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    47004713 * @param   offNextInstr        The offset of the next instruction.
    47014714 */
    4702 static VBOXSTRICTRC iemRegRipRelativeJumpS32(PIEMCPU pIemCpu, int32_t offNextInstr)
     4715IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS32(PIEMCPU pIemCpu, int32_t offNextInstr)
    47034716{
    47044717    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    47374750 * @param   uNewRip             The new RIP value.
    47384751 */
    4739 static VBOXSTRICTRC iemRegRipJump(PIEMCPU pIemCpu, uint64_t uNewRip)
     4752IEM_STATIC VBOXSTRICTRC iemRegRipJump(PIEMCPU pIemCpu, uint64_t uNewRip)
    47404753{
    47414754    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    48084821 * @param   cbInstr             The number of bytes to add.
    48094822 */
    4810 static void iemRegAddToRipKeepRF(PIEMCPU pIemCpu, uint8_t cbInstr)
     4823IEM_STATIC void iemRegAddToRipKeepRF(PIEMCPU pIemCpu, uint8_t cbInstr)
    48114824{
    48124825    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    48384851 * @param   pIemCpu             The per CPU data.
    48394852 */
    4840 static void iemRegUpdateRipKeepRF(PIEMCPU pIemCpu)
     4853IEM_STATIC void iemRegUpdateRipKeepRF(PIEMCPU pIemCpu)
    48414854{
    48424855    return iemRegAddToRipKeepRF(pIemCpu, pIemCpu->offOpcode);
     
    48524865 * @param   cbInstr             The number of bytes to add.
    48534866 */
    4854 static void iemRegAddToRipAndClearRF(PIEMCPU pIemCpu, uint8_t cbInstr)
     4867IEM_STATIC void iemRegAddToRipAndClearRF(PIEMCPU pIemCpu, uint8_t cbInstr)
    48554868{
    48564869    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    48844897 * @param   pIemCpu             The per CPU data.
    48854898 */
    4886 static void iemRegUpdateRipAndClearRF(PIEMCPU pIemCpu)
     4899IEM_STATIC void iemRegUpdateRipAndClearRF(PIEMCPU pIemCpu)
    48874900{
    48884901    return iemRegAddToRipAndClearRF(pIemCpu, pIemCpu->offOpcode);
     
    52545267 * @param   pFpuCtx             The FPU context.
    52555268 */
    5256 static void iemFpuMaybePushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, PX86FXSTATE pFpuCtx)
     5269IEM_STATIC void iemFpuMaybePushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, PX86FXSTATE pFpuCtx)
    52575270{
    52585271    /* Update FSW and bail if there are pending exceptions afterwards. */
     
    53025315 * @param   iStReg              Which FPU register to store it in.
    53035316 */
    5304 static void iemFpuStoreResultOnly(PX86FXSTATE pFpuCtx, PIEMFPURESULT pResult, uint8_t iStReg)
     5317IEM_STATIC void iemFpuStoreResultOnly(PX86FXSTATE pFpuCtx, PIEMFPURESULT pResult, uint8_t iStReg)
    53055318{
    53065319    Assert(iStReg < 8);
     
    53205333 * @param   u16FSW              The FSW output of the current instruction.
    53215334 */
    5322 static void iemFpuUpdateFSWOnly(PX86FXSTATE pFpuCtx, uint16_t u16FSW)
     5335IEM_STATIC void iemFpuUpdateFSWOnly(PX86FXSTATE pFpuCtx, uint16_t u16FSW)
    53235336{
    53245337    pFpuCtx->FSW &= ~X86_FSW_C_MASK;
     
    53325345 * @param   pFpuCtx             The FPU context.
    53335346 */
    5334 static void iemFpuMaybePopOne(PX86FXSTATE pFpuCtx)
     5347IEM_STATIC void iemFpuMaybePopOne(PX86FXSTATE pFpuCtx)
    53355348{
    53365349    /* Check pending exceptions. */
     
    53615374 * @param   pResult             The FPU operation result to push.
    53625375 */
    5363 static void iemFpuPushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult)
     5376IEM_STATIC void iemFpuPushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult)
    53645377{
    53655378    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    53795392 * @param   GCPtrEff            The effective address relative to @a iEffSeg.
    53805393 */
    5381 static void iemFpuPushResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iEffSeg, RTGCPTR GCPtrEff)
     5394IEM_STATIC void iemFpuPushResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    53825395{
    53835396    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    53965409 * @param   pResult             The FPU operation result to store and push.
    53975410 */
    5398 static void iemFpuPushResultTwo(PIEMCPU pIemCpu, PIEMFPURESULTTWO pResult)
     5411IEM_STATIC void iemFpuPushResultTwo(PIEMCPU pIemCpu, PIEMFPURESULTTWO pResult)
    53995412{
    54005413    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    54525465 * @param   pCtx                The CPU context.
    54535466 */
    5454 static void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
     5467IEM_STATIC void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
    54555468{
    54565469    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    54705483 * @param   pCtx                The CPU context.
    54715484 */
    5472 static void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
     5485IEM_STATIC void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
    54735486{
    54745487    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    54915504 * @param   GCPtrEff            The effective memory operand offset.
    54925505 */
    5493 static void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
     5506IEM_STATIC void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    54945507{
    54955508    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    55125525 * @param   GCPtrEff            The effective memory operand offset.
    55135526 */
    5514 static void iemFpuStoreResultWithMemOpThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult,
    5515                                               uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
     5527IEM_STATIC void iemFpuStoreResultWithMemOpThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult,
     5528                                                  uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    55165529{
    55175530    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    55295542 * @param   pIemCpu             The IEM per CPU data.
    55305543 */
    5531 static void iemFpuUpdateOpcodeAndIp(PIEMCPU pIemCpu)
     5544IEM_STATIC void iemFpuUpdateOpcodeAndIp(PIEMCPU pIemCpu)
    55325545{
    55335546    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    55435556 * @param   iStReg              The register to free.
    55445557 */
    5545 static void iemFpuStackFree(PIEMCPU pIemCpu, uint8_t iStReg)
     5558IEM_STATIC void iemFpuStackFree(PIEMCPU pIemCpu, uint8_t iStReg)
    55465559{
    55475560    Assert(iStReg < 8);
     
    55575570 * @param   pIemCpu             The IEM per CPU data.
    55585571 */
    5559 static void iemFpuStackIncTop(PIEMCPU pIemCpu)
     5572IEM_STATIC void iemFpuStackIncTop(PIEMCPU pIemCpu)
    55605573{
    55615574    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    55745587 * @param   pIemCpu             The IEM per CPU data.
    55755588 */
    5576 static void iemFpuStackDecTop(PIEMCPU pIemCpu)
     5589IEM_STATIC void iemFpuStackDecTop(PIEMCPU pIemCpu)
    55775590{
    55785591    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    55925605 * @param   u16FSW              The FSW from the current instruction.
    55935606 */
    5594 static void iemFpuUpdateFSW(PIEMCPU pIemCpu, uint16_t u16FSW)
     5607IEM_STATIC void iemFpuUpdateFSW(PIEMCPU pIemCpu, uint16_t u16FSW)
    55955608{
    55965609    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    56075620 * @param   u16FSW              The FSW from the current instruction.
    56085621 */
    5609 static void iemFpuUpdateFSWThenPop(PIEMCPU pIemCpu, uint16_t u16FSW)
     5622IEM_STATIC void iemFpuUpdateFSWThenPop(PIEMCPU pIemCpu, uint16_t u16FSW)
    56105623{
    56115624    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    56255638 * @param   GCPtrEff            The effective memory operand offset.
    56265639 */
    5627 static void iemFpuUpdateFSWWithMemOp(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
     5640IEM_STATIC void iemFpuUpdateFSWWithMemOp(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    56285641{
    56295642    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    56415654 * @param   u16FSW              The FSW from the current instruction.
    56425655 */
    5643 static void iemFpuUpdateFSWThenPopPop(PIEMCPU pIemCpu, uint16_t u16FSW)
     5656IEM_STATIC void iemFpuUpdateFSWThenPopPop(PIEMCPU pIemCpu, uint16_t u16FSW)
    56445657{
    56455658    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    56605673 * @param   GCPtrEff            The effective memory operand offset.
    56615674 */
    5662 static void iemFpuUpdateFSWWithMemOpThenPop(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
     5675IEM_STATIC void iemFpuUpdateFSWWithMemOpThenPop(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    56635676{
    56645677    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    56785691 * @param   iStReg              The stack register being accessed.
    56795692 */
    5680 static void iemFpuStackUnderflowOnly(PIEMCPU pIemCpu, PX86FXSTATE pFpuCtx, uint8_t iStReg)
     5693IEM_STATIC void iemFpuStackUnderflowOnly(PIEMCPU pIemCpu, PX86FXSTATE pFpuCtx, uint8_t iStReg)
    56815694{
    56825695    Assert(iStReg < 8 || iStReg == UINT8_MAX);
     
    57095722 *                              UINT8_MAX if none (like for fcom).
    57105723 */
    5711 DECL_NO_INLINE(static, void) iemFpuStackUnderflow(PIEMCPU pIemCpu, uint8_t iStReg)
     5724DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflow(PIEMCPU pIemCpu, uint8_t iStReg)
    57125725{
    57135726    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    57185731
    57195732
    5720 DECL_NO_INLINE(static, void)
     5733DECL_NO_INLINE(IEM_STATIC, void)
    57215734iemFpuStackUnderflowWithMemOp(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    57225735{
     
    57295742
    57305743
    5731 DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPop(PIEMCPU pIemCpu, uint8_t iStReg)
     5744DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflowThenPop(PIEMCPU pIemCpu, uint8_t iStReg)
    57325745{
    57335746    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    57395752
    57405753
    5741 DECL_NO_INLINE(static, void)
     5754DECL_NO_INLINE(IEM_STATIC, void)
    57425755iemFpuStackUnderflowWithMemOpThenPop(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    57435756{
     
    57515764
    57525765
    5753 DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPopPop(PIEMCPU pIemCpu)
     5766DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflowThenPopPop(PIEMCPU pIemCpu)
    57545767{
    57555768    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    57625775
    57635776
    5764 DECL_NO_INLINE(static, void)
     5777DECL_NO_INLINE(IEM_STATIC, void)
    57655778iemFpuStackPushUnderflow(PIEMCPU pIemCpu)
    57665779{
     
    57895802
    57905803
    5791 DECL_NO_INLINE(static, void)
     5804DECL_NO_INLINE(IEM_STATIC, void)
    57925805iemFpuStackPushUnderflowTwo(PIEMCPU pIemCpu)
    57935806{
     
    58225835 * @param   pFpuCtx             The FPU context.
    58235836 */
    5824 static void iemFpuStackPushOverflowOnly(PX86FXSTATE pFpuCtx)
     5837IEM_STATIC void iemFpuStackPushOverflowOnly(PX86FXSTATE pFpuCtx)
    58255838{
    58265839    if (pFpuCtx->FCW & X86_FCW_IM)
     
    58495862 * @param   pIemCpu             The IEM per CPU data.
    58505863 */
    5851 DECL_NO_INLINE(static, void) iemFpuStackPushOverflow(PIEMCPU pIemCpu)
     5864DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackPushOverflow(PIEMCPU pIemCpu)
    58525865{
    58535866    PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     
    58655878 * @param   GCPtrEff            The effective memory operand offset.
    58665879 */
    5867 DECL_NO_INLINE(static, void)
     5880DECL_NO_INLINE(IEM_STATIC, void)
    58685881iemFpuStackPushOverflowWithMemOp(PIEMCPU pIemCpu, uint8_t iEffSeg, RTGCPTR GCPtrEff)
    58695882{
     
    58765889
    58775890
    5878 static int iemFpuStRegNotEmpty(PIEMCPU pIemCpu, uint8_t iStReg)
     5891IEM_STATIC int iemFpuStRegNotEmpty(PIEMCPU pIemCpu, uint8_t iStReg)
    58795892{
    58805893    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    58865899
    58875900
    5888 static int iemFpuStRegNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg, PCRTFLOAT80U *ppRef)
     5901IEM_STATIC int iemFpuStRegNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg, PCRTFLOAT80U *ppRef)
    58895902{
    58905903    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    58995912
    59005913
    5901 static int iemFpu2StRegsNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0,
    5902                                     uint8_t iStReg1, PCRTFLOAT80U *ppRef1)
     5914IEM_STATIC int iemFpu2StRegsNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0,
     5915                                        uint8_t iStReg1, PCRTFLOAT80U *ppRef1)
    59035916{
    59045917    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    59165929
    59175930
    5918 static int iemFpu2StRegsNotEmptyRefFirst(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0, uint8_t iStReg1)
     5931IEM_STATIC int iemFpu2StRegsNotEmptyRefFirst(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0, uint8_t iStReg1)
    59195932{
    59205933    PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     
    59365949 * @param   pFpuCtx             The FPU context.
    59375950 */
    5938 static void iemFpuRecalcExceptionStatus(PX86FXSTATE pFpuCtx)
     5951IEM_STATIC void iemFpuRecalcExceptionStatus(PX86FXSTATE pFpuCtx)
    59395952{
    59405953    uint16_t u16Fsw = pFpuCtx->FSW;
     
    59535966 * @param   pFpuCtx             The FPU context.
    59545967 */
    5955 static uint16_t iemFpuCalcFullFtw(PCX86FXSTATE pFpuCtx)
     5968IEM_STATIC uint16_t iemFpuCalcFullFtw(PCX86FXSTATE pFpuCtx)
    59565969{
    59575970    uint8_t const   u8Ftw  = (uint8_t)pFpuCtx->FTW;
     
    59956008 * @param   u16FullFtw      The full FTW to convert.
    59966009 */
    5997 static uint16_t iemFpuCompressFtw(uint16_t u16FullFtw)
     6010IEM_STATIC uint16_t iemFpuCompressFtw(uint16_t u16FullFtw)
    59986011{
    59996012    uint8_t u8Ftw = 0;
     
    60456058 *                              base in the hidden segment.)
    60466059 */
    6047 static VBOXSTRICTRC iemMemSegCheckWriteAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
     6060IEM_STATIC VBOXSTRICTRC
     6061iemMemSegCheckWriteAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
    60486062{
    60496063    if (pIemCpu->enmCpuMode == IEMMODE_64BIT)
     
    60776091 *                              base in the hidden segment.)
    60786092 */
    6079 static VBOXSTRICTRC iemMemSegCheckReadAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
     6093IEM_STATIC VBOXSTRICTRC
     6094iemMemSegCheckReadAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
    60806095{
    60816096    if (pIemCpu->enmCpuMode == IEMMODE_64BIT)
     
    61096124 *                              segmentation to.  Input and output parameter.
    61106125 */
    6111 static VBOXSTRICTRC iemMemApplySegment(PIEMCPU pIemCpu, uint32_t fAccess, uint8_t iSegReg,
    6112                                       size_t cbMem, PRTGCPTR pGCPtrMem)
     6126IEM_STATIC VBOXSTRICTRC
     6127iemMemApplySegment(PIEMCPU pIemCpu, uint32_t fAccess, uint8_t iSegReg, size_t cbMem, PRTGCPTR pGCPtrMem)
    61136128{
    61146129    if (iSegReg == UINT8_MAX)
     
    62046219 * @param   pGCPhysMem          Where to return the physical address.
    62056220 */
    6206 static VBOXSTRICTRC iemMemPageTranslateAndCheckAccess(PIEMCPU pIemCpu, RTGCPTR GCPtrMem, uint32_t fAccess,
    6207                                                       PRTGCPHYS pGCPhysMem)
     6221IEM_STATIC VBOXSTRICTRC
     6222iemMemPageTranslateAndCheckAccess(PIEMCPU pIemCpu, RTGCPTR GCPtrMem, uint32_t fAccess, PRTGCPHYS pGCPhysMem)
    62086223{
    62096224    /** @todo Need a different PGM interface here.  We're currently using
     
    62866301 * @param   pLock               The PGM lock.
    62876302 */
    6288 static int iemMemPageMap(PIEMCPU pIemCpu, RTGCPHYS GCPhysMem, uint32_t fAccess, void **ppvMem, PPGMPAGEMAPLOCK pLock)
     6303IEM_STATIC int iemMemPageMap(PIEMCPU pIemCpu, RTGCPHYS GCPhysMem, uint32_t fAccess, void **ppvMem, PPGMPAGEMAPLOCK pLock)
    62896304{
    62906305#ifdef IEM_VERIFICATION_MODE_FULL
     
    63806395 * @param   pIemCpu             The IEM per CPU data.
    63816396 */
    6382 static unsigned iemMemMapFindFree(PIEMCPU pIemCpu)
     6397IEM_STATIC unsigned iemMemMapFindFree(PIEMCPU pIemCpu)
    63836398{
    63846399    /*
     
    64096424 * @param   iMemMap         The index of the buffer to commit.
    64106425 */
    6411 static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned iMemMap)
     6426IEM_STATIC VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned iMemMap)
    64126427{
    64136428    Assert(pIemCpu->aMemMappings[iMemMap].fAccess & IEM_ACCESS_BOUNCE_BUFFERED);
     
    65276542 * iemMemMap worker that deals with a request crossing pages.
    65286543 */
    6529 static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap, void **ppvMem,
    6530                                                   size_t cbMem, RTGCPTR GCPtrFirst, uint32_t fAccess)
     6544IEM_STATIC VBOXSTRICTRC
     6545iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap, void **ppvMem, size_t cbMem, RTGCPTR GCPtrFirst, uint32_t fAccess)
    65316546{
    65326547    /*
     
    66696684 * iemMemMap woker that deals with iemMemPageMap failures.
    66706685 */
    6671 static VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap, void **ppvMem, size_t cbMem,
    6672                                               RTGCPHYS GCPhysFirst, uint32_t fAccess, VBOXSTRICTRC rcMap)
     6686IEM_STATIC VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap, void **ppvMem, size_t cbMem,
     6687                                                  RTGCPHYS GCPhysFirst, uint32_t fAccess, VBOXSTRICTRC rcMap)
    66736688{
    66746689    /*
     
    67866801 *                              exceptions.
    67876802 */
    6788 static VBOXSTRICTRC iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess)
     6803IEM_STATIC VBOXSTRICTRC
     6804iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess)
    67896805{
    67906806    /*
     
    68456861 * @param   fAccess             The kind of access.
    68466862 */
    6847 static VBOXSTRICTRC iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess)
     6863IEM_STATIC VBOXSTRICTRC iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess)
    68486864{
    68496865    int iMemMap = iemMapLookup(pIemCpu, pvMem, fAccess);
     
    68766892 * @param   pIemCpu     The IEM per CPU data.
    68776893 */
    6878 static void iemMemRollback(PIEMCPU pIemCpu)
     6894IEM_STATIC void iemMemRollback(PIEMCPU pIemCpu)
    68796895{
    68806896    Assert(pIemCpu->cActiveMappings > 0);
     
    69066922 * @param   GCPtrMem            The address of the guest memory.
    69076923 */
    6908 static VBOXSTRICTRC iemMemFetchDataU8(PIEMCPU pIemCpu, uint8_t *pu8Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     6924IEM_STATIC VBOXSTRICTRC iemMemFetchDataU8(PIEMCPU pIemCpu, uint8_t *pu8Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    69096925{
    69106926    /* The lazy approach for now... */
     
    69306946 * @param   GCPtrMem            The address of the guest memory.
    69316947 */
    6932 static VBOXSTRICTRC iemMemFetchDataU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     6948IEM_STATIC VBOXSTRICTRC iemMemFetchDataU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    69336949{
    69346950    /* The lazy approach for now... */
     
    69546970 * @param   GCPtrMem            The address of the guest memory.
    69556971 */
    6956 static VBOXSTRICTRC iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     6972IEM_STATIC VBOXSTRICTRC iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    69576973{
    69586974    /* The lazy approach for now... */
     
    69796995 * @param   GCPtrMem            The address of the guest memory.
    69806996 */
    6981 static VBOXSTRICTRC iemMemFetchDataS32SxU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     6997IEM_STATIC VBOXSTRICTRC iemMemFetchDataS32SxU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    69826998{
    69836999    /* The lazy approach for now... */
     
    70087024 * @param   GCPtrMem            The address of the guest memory.
    70097025 */
    7010 static VBOXSTRICTRC iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7026IEM_STATIC VBOXSTRICTRC iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    70117027{
    70127028    /* The lazy approach for now... */
     
    70327048 * @param   GCPtrMem            The address of the guest memory.
    70337049 */
    7034 static VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7050IEM_STATIC VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    70357051{
    70367052    /* The lazy approach for now... */
     
    70607076 * @param   GCPtrMem            The address of the guest memory.
    70617077 */
    7062 static VBOXSTRICTRC iemMemFetchDataR80(PIEMCPU pIemCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7078IEM_STATIC VBOXSTRICTRC iemMemFetchDataR80(PIEMCPU pIemCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    70637079{
    70647080    /* The lazy approach for now... */
     
    70847100 * @param   GCPtrMem            The address of the guest memory.
    70857101 */
    7086 static VBOXSTRICTRC iemMemFetchDataU128(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7102IEM_STATIC VBOXSTRICTRC iemMemFetchDataU128(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    70877103{
    70887104    /* The lazy approach for now... */
     
    71117127 * @param   GCPtrMem            The address of the guest memory.
    71127128 */
    7113 static VBOXSTRICTRC iemMemFetchDataU128AlignedSse(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7129IEM_STATIC VBOXSTRICTRC iemMemFetchDataU128AlignedSse(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    71147130{
    71157131    /* The lazy approach for now... */
     
    71447160 * @param   enmOpSize           The effective operand size.
    71457161 */
    7146 static VBOXSTRICTRC iemMemFetchDataXdtr(PIEMCPU pIemCpu, uint16_t *pcbLimit, PRTGCPTR pGCPtrBase,
    7147                                         uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
     7162IEM_STATIC VBOXSTRICTRC iemMemFetchDataXdtr(PIEMCPU pIemCpu, uint16_t *pcbLimit, PRTGCPTR pGCPtrBase, uint8_t iSegReg,
     7163                                            RTGCPTR GCPtrMem, IEMMODE enmOpSize)
    71487164{
    71497165    uint8_t const *pu8Src;
     
    71937209 * @param   u8Value             The value to store.
    71947210 */
    7195 static VBOXSTRICTRC iemMemStoreDataU8(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value)
     7211IEM_STATIC VBOXSTRICTRC iemMemStoreDataU8(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value)
    71967212{
    71977213    /* The lazy approach for now... */
     
    72177233 * @param   u16Value            The value to store.
    72187234 */
    7219 static VBOXSTRICTRC iemMemStoreDataU16(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value)
     7235IEM_STATIC VBOXSTRICTRC iemMemStoreDataU16(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value)
    72207236{
    72217237    /* The lazy approach for now... */
     
    72417257 * @param   u32Value            The value to store.
    72427258 */
    7243 static VBOXSTRICTRC iemMemStoreDataU32(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value)
     7259IEM_STATIC VBOXSTRICTRC iemMemStoreDataU32(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value)
    72447260{
    72457261    /* The lazy approach for now... */
     
    72657281 * @param   u64Value            The value to store.
    72667282 */
    7267 static VBOXSTRICTRC iemMemStoreDataU64(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value)
     7283IEM_STATIC VBOXSTRICTRC iemMemStoreDataU64(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value)
    72687284{
    72697285    /* The lazy approach for now... */
     
    72897305 * @param   u64Value            The value to store.
    72907306 */
    7291 static VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
     7307IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
    72927308{
    72937309    /* The lazy approach for now... */
     
    73137329 * @param   u64Value            The value to store.
    73147330 */
    7315 static VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
     7331IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
    73167332{
    73177333    /* The lazy approach for now... */
     
    73437359 * @param   enmOpSize           The effective operand size.
    73447360 */
    7345 static VBOXSTRICTRC iemMemStoreDataXdtr(PIEMCPU pIemCpu, uint16_t cbLimit, RTGCPTR GCPtrBase,
    7346                                         uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
     7361IEM_STATIC VBOXSTRICTRC
     7362iemMemStoreDataXdtr(PIEMCPU pIemCpu, uint16_t cbLimit, RTGCPTR GCPtrBase, uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
    73477363{
    73487364    uint8_t *pu8Src;
     
    73907406 * @param   u16Value            The value to push.
    73917407 */
    7392 static VBOXSTRICTRC iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value)
     7408IEM_STATIC VBOXSTRICTRC iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value)
    73937409{
    73947410    /* Increment the stack pointer. */
     
    74217437 * @param   u32Value            The value to push.
    74227438 */
    7423 static VBOXSTRICTRC iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value)
     7439IEM_STATIC VBOXSTRICTRC iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value)
    74247440{
    74257441    /* Increment the stack pointer. */
     
    74527468 * @param   u16Value            The value to push.
    74537469 */
    7454 static VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
     7470IEM_STATIC VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
    74557471{
    74567472    /* Increment the stack pointer. */
     
    75047520 * @param   u64Value            The value to push.
    75057521 */
    7506 static VBOXSTRICTRC iemMemStackPushU64(PIEMCPU pIemCpu, uint64_t u64Value)
     7522IEM_STATIC VBOXSTRICTRC iemMemStackPushU64(PIEMCPU pIemCpu, uint64_t u64Value)
    75077523{
    75087524    /* Increment the stack pointer. */
     
    75357551 * @param   pu16Value           Where to store the popped value.
    75367552 */
    7537 static VBOXSTRICTRC iemMemStackPopU16(PIEMCPU pIemCpu, uint16_t *pu16Value)
     7553IEM_STATIC VBOXSTRICTRC iemMemStackPopU16(PIEMCPU pIemCpu, uint16_t *pu16Value)
    75387554{
    75397555    /* Increment the stack pointer. */
     
    75667582 * @param   pu32Value           Where to store the popped value.
    75677583 */
    7568 static VBOXSTRICTRC iemMemStackPopU32(PIEMCPU pIemCpu, uint32_t *pu32Value)
     7584IEM_STATIC VBOXSTRICTRC iemMemStackPopU32(PIEMCPU pIemCpu, uint32_t *pu32Value)
    75697585{
    75707586    /* Increment the stack pointer. */
     
    75977613 * @param   pu64Value           Where to store the popped value.
    75987614 */
    7599 static VBOXSTRICTRC iemMemStackPopU64(PIEMCPU pIemCpu, uint64_t *pu64Value)
     7615IEM_STATIC VBOXSTRICTRC iemMemStackPopU64(PIEMCPU pIemCpu, uint64_t *pu64Value)
    76007616{
    76017617    /* Increment the stack pointer. */
     
    76297645 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    76307646 */
    7631 static VBOXSTRICTRC iemMemStackPushU16Ex(PIEMCPU pIemCpu, uint16_t u16Value, PRTUINT64U pTmpRsp)
     7647IEM_STATIC VBOXSTRICTRC iemMemStackPushU16Ex(PIEMCPU pIemCpu, uint16_t u16Value, PRTUINT64U pTmpRsp)
    76327648{
    76337649    /* Increment the stack pointer. */
     
    76617677 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    76627678 */
    7663 static VBOXSTRICTRC iemMemStackPushU32Ex(PIEMCPU pIemCpu, uint32_t u32Value, PRTUINT64U pTmpRsp)
     7679IEM_STATIC VBOXSTRICTRC iemMemStackPushU32Ex(PIEMCPU pIemCpu, uint32_t u32Value, PRTUINT64U pTmpRsp)
    76647680{
    76657681    /* Increment the stack pointer. */
     
    76937709 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    76947710 */
    7695 static VBOXSTRICTRC iemMemStackPushU64Ex(PIEMCPU pIemCpu, uint64_t u64Value, PRTUINT64U pTmpRsp)
     7711IEM_STATIC VBOXSTRICTRC iemMemStackPushU64Ex(PIEMCPU pIemCpu, uint64_t u64Value, PRTUINT64U pTmpRsp)
    76967712{
    76977713    /* Increment the stack pointer. */
     
    77257741 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    77267742 */
    7727 static VBOXSTRICTRC iemMemStackPopU16Ex(PIEMCPU pIemCpu, uint16_t *pu16Value, PRTUINT64U pTmpRsp)
     7743IEM_STATIC VBOXSTRICTRC iemMemStackPopU16Ex(PIEMCPU pIemCpu, uint16_t *pu16Value, PRTUINT64U pTmpRsp)
    77287744{
    77297745    /* Increment the stack pointer. */
     
    77577773 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    77587774 */
    7759 static VBOXSTRICTRC iemMemStackPopU32Ex(PIEMCPU pIemCpu, uint32_t *pu32Value, PRTUINT64U pTmpRsp)
     7775IEM_STATIC VBOXSTRICTRC iemMemStackPopU32Ex(PIEMCPU pIemCpu, uint32_t *pu32Value, PRTUINT64U pTmpRsp)
    77607776{
    77617777    /* Increment the stack pointer. */
     
    77897805 * @param   pTmpRsp             Pointer to the temporary stack pointer.
    77907806 */
    7791 static VBOXSTRICTRC iemMemStackPopU64Ex(PIEMCPU pIemCpu, uint64_t *pu64Value, PRTUINT64U pTmpRsp)
     7807IEM_STATIC VBOXSTRICTRC iemMemStackPopU64Ex(PIEMCPU pIemCpu, uint64_t *pu64Value, PRTUINT64U pTmpRsp)
    77927808{
    77937809    /* Increment the stack pointer. */
     
    78307846 *                              iemMemStackPushCommitSpecial().
    78317847 */
    7832 static VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp)
     7848IEM_STATIC VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp)
    78337849{
    78347850    Assert(cbMem < UINT8_MAX);
     
    78517867 *                              iemMemStackPushBeginSpecial().
    78527868 */
    7853 static VBOXSTRICTRC iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp)
     7869IEM_STATIC VBOXSTRICTRC iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp)
    78547870{
    78557871    VBOXSTRICTRC rcStrict = iemMemCommitAndUnmap(pIemCpu, pvMem, IEM_ACCESS_STACK_W);
     
    78747890 *                              manually if iemMemStackPopDoneSpecial() is used.
    78757891 */
    7876 static VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
     7892IEM_STATIC VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
    78777893{
    78787894    Assert(cbMem < UINT8_MAX);
     
    78977913 *                              manually if iemMemStackPopDoneSpecial() is used.
    78987914 */
    7899 static VBOXSTRICTRC iemMemStackPopContinueSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
     7915IEM_STATIC VBOXSTRICTRC iemMemStackPopContinueSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
    79007916{
    79017917    Assert(cbMem < UINT8_MAX);
     
    79217937 *                              iemMemStackPopBeginSpecial().
    79227938 */
    7923 static VBOXSTRICTRC iemMemStackPopCommitSpecial(PIEMCPU pIemCpu, void const *pvMem, uint64_t uNewRsp)
     7939IEM_STATIC VBOXSTRICTRC iemMemStackPopCommitSpecial(PIEMCPU pIemCpu, void const *pvMem, uint64_t uNewRsp)
    79247940{
    79257941    VBOXSTRICTRC rcStrict = iemMemCommitAndUnmap(pIemCpu, (void *)pvMem, IEM_ACCESS_STACK_R);
     
    79427958 *                              iemMemStackPopContinueSpecial().
    79437959 */
    7944 static VBOXSTRICTRC iemMemStackPopDoneSpecial(PIEMCPU pIemCpu, void const *pvMem)
     7960IEM_STATIC VBOXSTRICTRC iemMemStackPopDoneSpecial(PIEMCPU pIemCpu, void const *pvMem)
    79457961{
    79467962    return iemMemCommitAndUnmap(pIemCpu, (void *)pvMem, IEM_ACCESS_STACK_R);
     
    79587974 * @param   GCPtrMem            The address of the guest memory.
    79597975 */
    7960 static VBOXSTRICTRC iemMemFetchSysU8(PIEMCPU pIemCpu, uint8_t *pbDst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     7976IEM_STATIC VBOXSTRICTRC iemMemFetchSysU8(PIEMCPU pIemCpu, uint8_t *pbDst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    79617977{
    79627978    /* The lazy approach for now... */
     
    79827998 * @param   GCPtrMem            The address of the guest memory.
    79837999 */
    7984 static VBOXSTRICTRC iemMemFetchSysU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     8000IEM_STATIC VBOXSTRICTRC iemMemFetchSysU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    79858001{
    79868002    /* The lazy approach for now... */
     
    80068022 * @param   GCPtrMem            The address of the guest memory.
    80078023 */
    8008 static VBOXSTRICTRC iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     8024IEM_STATIC VBOXSTRICTRC iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    80098025{
    80108026    /* The lazy approach for now... */
     
    80308046 * @param   GCPtrMem            The address of the guest memory.
    80318047 */
    8032 static VBOXSTRICTRC iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
     8048IEM_STATIC VBOXSTRICTRC iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
    80338049{
    80348050    /* The lazy approach for now... */
     
    80548070 * @param   uErrorCode          The error code associated with the exception.
    80558071 */
    8056 static VBOXSTRICTRC iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt,
    8057                                               uint16_t uErrorCode)
     8072IEM_STATIC VBOXSTRICTRC
     8073iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode)
    80588074{
    80598075    AssertPtr(pDesc);
     
    81228138 * @param   uXcpt               The exception to raise on table lookup error.
    81238139 */
    8124 static VBOXSTRICTRC iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt)
     8140IEM_STATIC VBOXSTRICTRC iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt)
    81258141{
    81268142    return iemMemFetchSelDescWithErr(pIemCpu, pDesc, uSel, uXcpt, uSel & X86_SEL_MASK_OFF_RPL);
     
    81348150 * @param   uDpl                The DPL we want.
    81358151 */
    8136 static void iemMemFakeStackSelDesc(PIEMSELDESC pDescSs, uint32_t uDpl)
     8152IEM_STATIC void iemMemFakeStackSelDesc(PIEMSELDESC pDescSs, uint32_t uDpl)
    81378153{
    81388154    pDescSs->Long.au64[0] = 0;
     
    81568172 * @param   uSel                The selector.
    81578173 */
    8158 static VBOXSTRICTRC iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel)
     8174IEM_STATIC VBOXSTRICTRC iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel)
    81598175{
    81608176    PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     
    92449260 * @param   pGCPtrEff           Where to return the effective address.
    92459261 */
    9246 static VBOXSTRICTRC iemOpHlpCalcRmEffAddr(PIEMCPU pIemCpu, uint8_t bRm, uint8_t cbImm, PRTGCPTR pGCPtrEff)
     9262IEM_STATIC VBOXSTRICTRC iemOpHlpCalcRmEffAddr(PIEMCPU pIemCpu, uint8_t bRm, uint8_t cbImm, PRTGCPTR pGCPtrEff)
    92479263{
    92489264    Log5(("iemOpHlpCalcRmEffAddr: bRm=%#x\n", bRm));
     
    95489564 * Sets up execution verification mode.
    95499565 */
    9550 static void iemExecVerificationModeSetup(PIEMCPU pIemCpu)
     9566IEM_STATIC void iemExecVerificationModeSetup(PIEMCPU pIemCpu)
    95519567{
    95529568    PVMCPU   pVCpu   = IEMCPU_TO_VMCPU(pIemCpu);
     
    97259741 * @returns Pointer to a record.
    97269742 */
    9727 static PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu)
     9743IEM_STATIC PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu)
    97289744{
    97299745    if (!IEM_VERIFICATION_ENABLED(pIemCpu))
     
    98539869 * @param   cbValue             The size of the access.
    98549870 */
    9855 static VBOXSTRICTRC iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
     9871IEM_STATIC VBOXSTRICTRC iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
    98569872{
    98579873    PIEMVERIFYEVTREC pEvtRec = iemVerifyAllocRecord(pIemCpu);
     
    98799895 * @param   cbValue             The size of the access.
    98809896 */
    9881 static VBOXSTRICTRC iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
     9897IEM_STATIC VBOXSTRICTRC iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
    98829898{
    98839899    PIEMVERIFYEVTREC pEvtRec = iemVerifyAllocRecord(pIemCpu);
     
    99009916 * @param   pIemCpu     The IEM per CPU state.
    99019917 */
    9902 static void iemVerifyAssertMsg2(PIEMCPU pIemCpu)
     9918IEM_STATIC void iemVerifyAssertMsg2(PIEMCPU pIemCpu)
    99039919{
    99049920    PCPUMCTX pCtx  = pIemCpu->CTX_SUFF(pCtx);
     
    99529968 * @param   pEvtRec         The record to dump.
    99539969 */
    9954 static void iemVerifyAssertAddRecordDump(PIEMVERIFYEVTREC pEvtRec)
     9970IEM_STATIC void iemVerifyAssertAddRecordDump(PIEMVERIFYEVTREC pEvtRec)
    99559971{
    99569972    switch (pEvtRec->enmEvent)
     
    999510011 * @param   pszMsg          The message explaining why we're asserting.
    999610012 */
    9997 static void iemVerifyAssertRecords(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec1, PIEMVERIFYEVTREC pEvtRec2, const char *pszMsg)
     10013IEM_STATIC void iemVerifyAssertRecords(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec1, PIEMVERIFYEVTREC pEvtRec2, const char *pszMsg)
    999810014{
    999910015    RTAssertMsg1(pszMsg, __LINE__, __FILE__, __PRETTY_FUNCTION__);
     
    1001310029 * @param   pszMsg          The message explaining why we're asserting.
    1001410030 */
    10015 static void iemVerifyAssertRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, const char *pszMsg)
     10031IEM_STATIC void iemVerifyAssertRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, const char *pszMsg)
    1001610032{
    1001710033    RTAssertMsg1(pszMsg, __LINE__, __FILE__, __PRETTY_FUNCTION__);
     
    1003010046 *                          it was HM.
    1003110047 */
    10032 static void iemVerifyWriteRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, bool fRem)
     10048IEM_STATIC void iemVerifyWriteRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, bool fRem)
    1003310049{
    1003410050    uint8_t abBuf[sizeof(pEvtRec->u.RamWrite.ab)]; RT_ZERO(abBuf);
     
    1007210088 * Performs the post-execution verfication checks.
    1007310089 */
    10074 static void iemExecVerificationModeCheck(PIEMCPU pIemCpu)
     10090IEM_STATIC void iemExecVerificationModeCheck(PIEMCPU pIemCpu)
    1007510091{
    1007610092    if (!IEM_VERIFICATION_ENABLED(pIemCpu))
     
    1044610462
    1044710463/* stubs */
    10448 static VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
     10464IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
    1044910465{
    1045010466    NOREF(pIemCpu); NOREF(Port); NOREF(pu32Value); NOREF(cbValue);
     
    1045210468}
    1045310469
    10454 static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
     10470IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
    1045510471{
    1045610472    NOREF(pIemCpu); NOREF(Port); NOREF(u32Value); NOREF(cbValue);
     
    1047110487 *                      valid CPU mode info.
    1047210488 */
    10473 static void iemLogCurInstr(PVMCPU pVCpu, PCPUMCTX pCtx, bool fSameCtx)
     10489IEM_STATIC void iemLogCurInstr(PVMCPU pVCpu, PCPUMCTX pCtx, bool fSameCtx)
    1047410490{
    1047510491# ifdef IN_RING3
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r55229 r56021  
    3333 * @{
    3434 */
     35
     36/** For expanding symbol in slickedit and other products tagging and
     37 *  crossreferencing IEM symbols. */
     38#ifndef IEM_STATIC
     39# define IEM_STATIC static
     40#endif
    3541
    3642/** @def IEM_VERIFICATION_MODE_FULL
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