VirtualBox

Changeset 72485 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Jun 8, 2018 5:12:24 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122970
Message:

IEM,NEM: Define minimum CPUMCTX set for IEM and hook it up to NEM for fetching missing bits as needed. bugref:9044 [build fix]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r72484 r72485  
    808808 */
    809809#define IEM_CTX_IMPORT_RET(a_pVCpu, a_pCtx, a_fExtrnImport) \
    810     if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
    811     { /* likely */ } \
    812     else do {  \
    813         int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
    814         AssertRCReturn(rcCtxImport, rcCtxImport); \
     810    do { \
     811        if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
     812        { /* likely */ } \
     813        else \
     814        { \
     815            int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
     816            AssertRCReturn(rcCtxImport, rcCtxImport); \
     817        } \
    815818    } while (0)
    816819
     
    825828 */
    826829#define IEM_CTX_IMPORT_NORET(a_pVCpu, a_pCtx, a_fExtrnImport) \
    827     if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
    828     { /* likely */ } \
    829     else do {  \
    830         int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
    831         AssertLogRelRC(rcCtxImport); \
     830    do { \
     831        if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
     832        { /* likely */ } \
     833        else \
     834        { \
     835            int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
     836            AssertLogRelRC(rcCtxImport); \
     837        } \
    832838    } while (0)
    833839
     
    844850 */
    845851#define IEM_CTX_IMPORT_JMP(a_pVCpu, a_pCtx, a_fExtrnImport) \
    846     if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
    847     { /* likely */ } \
    848     else do {  \
    849         int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
    850         AssertRCStmt(rcCtxImport, longjmp(*pVCpu->iem.s.CTX_SUFF(pJmpBuf), rcCtxImport)); \
     852    do { \
     853        if (!((a_pCtx)->fExtrn & (a_fExtrnImport))) \
     854        { /* likely */ } \
     855        else \
     856        { \
     857            int rcCtxImport = iemCtxImport(a_pVCpu, a_pCtx, a_fExtrnImport); \
     858            AssertRCStmt(rcCtxImport, longjmp(*pVCpu->iem.s.CTX_SUFF(pJmpBuf), rcCtxImport)); \
     859        } \
    851860    } while (0)
    852861
Note: See TracChangeset for help on using the changeset viewer.

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